In deze how-to maak ik een voorbeeld voor een installatie van shorewall op een linux systeem. Shorewall is een veelzijdige oplossing voor het maken van firewall (iptables) regels.
BRON:
De installatie bestanden voor Shorewall zijn hier te vinden. Ik gebruik in dit voorbeeld de oude versie omdat deze ook alle voorbeeld bestanden aanmaakt in /etc/shorewall en /etc/shorewall6
Shorewall (Dit is de standaard shorewall versie)
Shorewall6 (Deze versie van shorewall is voor ipv6)
De installatie
De installatie van shorewall (we installeren eerst de oude versie omdat deze wel voorbeeld configs aanmaakt)
cd /home/beheer/software apt-get update apt-get install bzip2 apt-get install iproute apt-get install perl wget http://www.shorewall.net/pub/shorewall/4.4/shorewall-4.4.4/shorewall-4.4.4.2.tar.bz2 tar -xjvf shorewall-4.4.4.2.tar.bz2 cd shorewall-4.4.4.2 ./install.sh cd /etc/shorewall
De configuratie
Interfaces
In de interface file worden alle netwerk interfaces opgegeven en gekoppeld aan de zones waarmee shorewall later zal bepalen welke zone bij welke interface hoort. Daarnaast is het ook mogelijk om per interface op te geven welke opties er voor de interface actief moeten zijn.
vim /etc/shorewall interfaces
# # Shorewall version 4 - Interfaces File # # For information about entries in this file, type "man shorewall-interfaces" # # For additional information, see # http://shorewall.net/Documentation.htm#Interfaces # ######################################################################################## net eth0 detect routefilter,nosmurfs,tcpflags,blacklist net ppp0 detect routefilter,nosmurfs,tcpflags,blacklist net wlan0 detect routefilter,nosmurfs,tcpflags,blacklist #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Zones
In dit bestand wordt aangegeven wat de eigenschappen zijn van de zones welke we in de interfaces file hebben aangemaakt.
vim /etc/shorewall/zones
# # Shorewall version 4 - Zones File # # For information about this file, type "man shorewall-zones" # # For more information, see http://www.shorewall.net/Documentation.htm#Zones # ############################################################################### #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4 #
Policy
In de policy file geven we aan wat de standaard actie is welke shorewall moet hanteren voor het verkeer wat over de interfaces gaat. In dit voorbeeld staat shorewall standaard het verkeer vanaf de machine (fw) naar het internet (net) toe toestaat. Verkeer vanaf internet (net) naar de machine (fw) toe wordt standaard geblokkeerd.
vim /etc/shorewall/policy
# # Shorewall version 4 - Policy File # # For information about entries in this file, type "man shorewall-policy" # # See http://shorewall.net/Documentation.htm#Policy for additional information. # ############################################################################### #SOURCE DEST POLICY LOG LIMIT:BURST # LEVEL fw net ACCEPT net all DROP all all REJECT
Rules
In de rules file worden alle regels geplaatst welke het verkeer vanaf internet naar de machine toelaten.
/etc/shorewall/rules
# # Shorewall version 4 - Rules File # # For information on the settings in this file, type "man shorewall-rules" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-rules.html # ############################################################################################################################ #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK # PORT PORT(S) DEST LIMIT GROUP #SECTION ESTABLISHED #SECTION RELATED SECTION NEW # De buitenwereld ACCEPT net fw tcp 80,443 ACCEPT net fw udp 33434:33465 (Zorgt ervoor dat unix traceroute werkt)
Shorewall
In shorewall staan veel configuratie opties. Een van deze opties is DisableIPv6=Yes deze is goed voor machines waar geen ipv6 gewenst is. Maar moet op No gezet worden op machines die wel een ipv6 adres hebben.
LET OP: Als je gebruik maakt van ipv6 is het ook raadzaam om shorewall6 te installeren
Opstarten bij het starten van de machine
Shorewall start standaard niet op waardoor je machine bij het opstarten niet beveiligd is. Om dit op te lossen kun je de volgende file aanpassen vim /etc/default/shorewall zet hierin de startup=1
De machine is nu klaar en shorewall zal bij de volgende herstart actief worden
Shorewall commando`s
De volgende commando`s gebruik zelf vaak voor shorewall
shorewall status shorewall check shorewall restart
status laat ziet of shorewall acties is
check controleerd de wijzigingen in de configuratie
restart herlaad de configuratie
Upgraden van Shorewall
Inmiddels is er een nieuwe versie van shorewall. Het upgraden gaat als volgt
cd /home/beheer/software wget http://www.shorewall.net/pub/shorewall/4.4/shorewall-4.4.17/shorewall-4.4.17.tar.bz2 tar -xjvf shorewall-4.4.17.tar.bz2 cd shorewall-4.4.17 ./install.sh shorewall restart
Laatste nieuwe versie
Omdat de bovenstaande versie niet meer willen installeren doen we het volgende
cd /home/beheer/software/
wget http://www.shorewall.net/pub/shorewall/4.6/shorewall-4.6.10/shorewall-4.6.10.tar.bz2
tar -xjvf shorewall-4.6.10.tar.bz2
cd shorewall-4.6.10
./install.shshorewall restart
/pre>