Herramientas de usuario

Herramientas del sitio


servidores:general:shorewall_configuracion

Shorewall: configurando un firewall con IPTables/Netfilter

Por Félix Molinuevo, FMSI Sistemas de Informática

Introducción

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.

Pasos para configurar un firewall básico

  1. Instalar firewall, en Debian:
    aptitude install shorewall
  2. Editar /etc/default/shorewall poniendo startup en 1
  3. Los archivos de configuración de Shorewall se encuentran en /etc/shorewall
  4. Los scripts y otros archivos se encuentran en /usr/share/shorewall
  5. Organizar la red por zonas, para ello editar /etc/shorewall/zones:
    fw firewall
    net ipv4
    dmz ipv4
    loc ipv4
  6. Asociar las zonas a las interfaces, para ello editar /etc/shorewall/interfaces:
    net eth0 detect dhcp,routefilter,tcpflags
    dmz eth1 detect dhcp
    loc eth2 detect dhcp
  7. Crear políticas por defecto, editando /etc/shorewall/policy:
    net all DROP
    dmz all REJECT
    loc all REJECT
    fw all ACCEPT
    all all REJECT
  8. Crear las reglas, editando /etc/shorewall/rules:
    ACCEPT loc net tcp 80,443
    ACCEPT loc fw udp 53
    ACCEPT all dmz tcp 80
  9. Configurar PAT/NAT, editando /etc/shorewall/masq:
    eth0 eth1
    eth0 eth2
  10. Activar forwarding, editando /etc/shorewall/shorewall.conf:
    IP_FORWARDING=On
  11. Si se utiliza PPPoE, también se debe activar CLAMPMSS:
    CLAMPMSS=Yes
  12. Chequear la configuración:
    shorewall check
  13. Si todo está bien, iniciar el firewall

Algunas configuraciones avanzadas

- 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

Facebook: cómo bloquear todo el rango de direcciones IP

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

Bibliografía

servidores/general/shorewall_configuracion.txt · Última modificación: 2013/01/29 13:52 por fmolinuevo