Por Félix Molinuevo, FMSI Sistemas de Informática
Shorewall es un conjunto de scripts y archivos de configuración, que permiten configurar IPTables/Netfilter aprovechando toda la versatilidad de estas herramientas de firewalling.
Las indicaciones que aquí se muestran deberán ser cambiadas para el sistema específico donde se lo esté instalando.
aptitude install shorewall
fw firewall net ipv4 dmz ipv4 loc ipv4
net eth0 detect dhcp,routefilter,tcpflags dmz eth1 detect dhcp loc eth2 detect dhcp
net all DROP dmz all REJECT loc all REJECT fw all ACCEPT all all REJECT
ACCEPT loc net tcp 80,443 ACCEPT loc fw udp 53 ACCEPT all dmz tcp 80
eth0 eth1 eth0 eth2
IP_FORWARDING=On
CLAMPMSS=Yes
shorewall check
- Para permitir solamente el acceso a internet de los hosts internos seleccionados, se deben configurar los archivos policy y rules de la siguiente manera:
En el archivo /etc/shorewall/policy no deben existir políticas de acceso completo como:
loc all ACCEPT loc net ACCEPT
En el archivo /etc/shorewall/rules:
ACCEPT loc:192.168.0.123 net tcp 80,8080
- DNAT para conectarse desde internet a un host interno, en el archivo /etc/shorewall/rules:
DNAT net:190.155.200.123 loc:192.168.0.123:5900 tcp 5900
En un archivo llamado “start” dentro de /etc/shorewall, poner la siguiente línea de Bash script:
/usr/bin/whois -h whois.radb.net '!gAS32934' | head -n -1 | tail -n -1 | /usr/bin/xargs --max-args=1 | \ /usr/bin/xargs -I {} --max-args=1 /sbin/iptables -t mangle -I POSTROUTING -d {} -j DROP