Shorewall
Qu'est-ce que Shorewall ?
Le pare-feu "Shoreline Firewall", plus communément appelé "Shorewall", est un outil pour configurer plus facilement Netfilter. Shorewall peut être utilisé sur un serveur Linux en routeur/firewall, sur un gateway/routeur/serveur multi-fonction ou sur un système GNU/Linux autonome.
Shorewall ne tourne pas en tâche de fond comme dæmon. Une fois qu'il a configuré Netfilter, son travail est fini. Il peut être utilisé n'importe quand pour surveiller Netfilter.
Shorewall n'est pas l'outil de configuration de iptables le plus facile mais offre une grande puissance et flexibilité. D'autres alternatives sont plus faciles comme kmyfirewall ou GuFw.
# TYPE OF OPTIONS IN ZONE OUT # OPTIONS OPTIONS fw firewall # LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
# TYPE OF OPTIONS IN ZONE OUT # OPTIONS OPTIONS fw firewall # LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
~ ~
/etc/shorewall/interfaces
Permet de définir à quoi correspondent nos 2 interfaces réseaux eth0 et eth1.
#ZONE INTERFACE BROADCAST OPTIONS net eth0 detect dhcp,tcpflags,routefilter,nosmurfs,logmartians loc eth1 detect dhcp,tcpflags,detectnets,nosmurfs #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
/etc/shorewall/policy
Permet d'accepter ou de rejeter le trafic entre les différentes zones.
# Policies for traffic originating from the local LAN (loc) # # If you want to force clients to access the Internet via a proxy server # on your firewall, change the loc to net policy to REJECT info. loc net ACCEPT loc $FW ACCEPT loc all REJECT info # # Policies for traffic originating from the firewall ($FW) # # If you want open access to the Internet from your firewall, change the # $FW to net policy to ACCEPT and remove the 'info' LOG LEVEL. # This may be useful if you run a proxy server on the firewall. $FW net ACCEPT $FW loc ACCEPT $FW all ACCEPT # # Policies for traffic originating from the Internet zone (net) # net $FW DROP info net loc DROP info net all DROP info # THE FOLLOWING POLICY MUST BE LAST all all REJECT info #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
/etc/shorewall/rules
# AMULE ACCEPT net:192.168.1.11 fw tcp 16001 ACCEPT net fw tcp 12500 ACCEPT net fw tcp 22 (SSH) ACCEPT net fw tcp 21 (FTP) ACCEPT net:192.168.1.11/20 fw tcp 137,138,139,389,445 - ACCEPT net: 192.168.1.11/20 fw tcp 137138139389445 -- ACCEPT net:192.168.1.11/20 fw udp 137,138,139,389,445 - ACCEPT net: 192.168.1.11/20 fw udp 137138139389445 --
/etc/shorewall/routestopped
Permet le routage sur les interfaces défini dans ce fichier lorsque shorewall n'est pas démarré.
#INTERFACE HOST(S) OPTIONS eth1 - #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Par défaut shorewall ne peut pas démarrer tant que vous n'avez pas modifié le fichier /etc/default/shorewall et changé la ligne :
startup=0
par
startup=1
Il faut également s'assurer que l'option STARTUP_ENABLED du fichier de configuration /etc/shorewall/shorewall.conf a la valeur "Yes".
Vous pouvez maintenant démarrer shorewall :
sudo /etc/init.d/shorewall start