In deze how-to maak ik een voorbeeld voor een installatie van shorewall op een systeem. Shorewall is een veelzijdige oplossing voor het maken van firewall (iptables) regels.
BRON:
De installatie bestanden voor Shorewall6 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 shorewall6
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/shorewall6-4.4.4.2.tar.bz2 tar -xjvf shorewall6-4.4.4.2.tar.bz2 cd shorewall6-4.4.4.2 ./install.sh cd /etc/shorewall6
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/shorewall6/interfaces
# # Shorewall6 version 4 - Interfaces File # # For information about entries in this file, type "man shorewall6-interfaces" # # The manpage is also online at # http://www.shorewall.net/manpages6/shorewall6-interfaces.html # ############################################################################### #ZONE INTERFACE ANYCAST OPTIONS net eth0 detect nosmurfs,tcpflags,blacklist net ppp0 detect nosmurfs,tcpflags,blacklist net wlan0 detect nosmurfs,tcpflags,blacklist
Zones
In dit bestand wordt aangegeven wat de eigenschappen zijn van de zones welke we in de interfaces file hebben aangemaakt.
vim /etc/shorewall6/zones
# # Shorewall6 version 4 - Zones File # # For information about this file, type "man shorewall6-zones" # # The manpage is also online at # http://www.shorewall.net/manpages6/shorewall6-zones.html # ############################################################################### #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv6
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/shorewall6/policy
# # Shorewall6 version 4 - Policy File # # For information about entries in this file, type "man shorewall6-policy" # # The manpage is also online at # http://www.shorewall.net/manpages6/shorewall6-policy.html # ############################################################################### #SOURCE DEST POLICY LOG LIMIT: CONNLIMIT: # LEVEL BURST MASK 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/shorewall6/rules
# # Shorewall6 version 4 - Rules File # # For information on the settings in this file, type "man shorewall6-rules" # # The manpage is also online at # http://www.shorewall.net/manpages6/shorewall6-rules.html # #################################################################################################################################################### #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME # PORT PORT(S) DEST LIMIT GROUP #SECTION ESTABLISHED #SECTION RELATED SECTION NEW ACCEPT net fw ipv6-icmp 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/shorewall6 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
shorewall6 status shorewall6 check shorewall6 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/shorewall6-4.4.17.tar.bz2 tar -xjvf shorewall6-4.4.17.tar.bz2 cd shorewall6-4.4.17 ./install.sh shorewall6 restart