Herramientas de usuario

Herramientas del sitio


servidores:general:shorewall_configuracion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
servidores:general:shorewall_configuracion [2009/01/23 18:50]
fmolinuevo
servidores:general:shorewall_configuracion [2013/01/29 13:52]
fmolinuevo [Algunas configuraciones avanzadas]
Línea 1: Línea 1:
 +====== Shorewall: configurando un firewall con IPTables/​Netfilter ======
  
 +//Por Félix Molinuevo, [[http://​fmsistemas.com/​|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 =====
 +
 +  -Instalar firewall, en Debian: <​code>​
 +aptitude install shorewall
 +</​code>​
 +  -Editar /​etc/​default/​shorewall poniendo startup en 1
 +  -Los archivos de configuración de Shorewall se encuentran en /​etc/​shorewall
 +  -Los scripts y otros archivos se encuentran en /​usr/​share/​shorewall
 +  -Organizar la red por zonas, para ello editar /​etc/​shorewall/​zones:​ <​code>​
 +fw firewall
 +net ipv4
 +dmz ipv4
 +loc ipv4
 +</​code>​
 +  -Asociar las zonas a las interfaces, para ello editar /​etc/​shorewall/​interfaces:​ <​code>​
 +net eth0 detect dhcp,​routefilter,​tcpflags
 +dmz eth1 detect dhcp
 +loc eth2 detect dhcp
 +</​code>​
 +  -Crear políticas por defecto, editando /​etc/​shorewall/​policy:​ <​code>​
 +net all DROP
 +dmz all REJECT
 +loc all REJECT
 +fw all ACCEPT
 +all all REJECT
 +</​code>​
 +  -Crear las reglas, editando /​etc/​shorewall/​rules:​ <​code>​
 +ACCEPT loc net tcp 80,443
 +ACCEPT loc fw udp 53
 +ACCEPT all dmz tcp 80
 +</​code>​
 +  -Configurar PAT/NAT, editando /​etc/​shorewall/​masq:​ <​code>​
 +eth0 eth1
 +eth0 eth2
 +</​code>​
 +  -Activar forwarding, editando /​etc/​shorewall/​shorewall.conf:​ <​code>​
 +IP_FORWARDING=On
 +</​code>​
 +  - Si se utiliza PPPoE, también se debe activar CLAMPMSS: <​code>​
 +CLAMPMSS=Yes
 +</​code>​
 +  -Chequear la configuración:​ <​code>​
 +shorewall check
 +</​code>​
 +  -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: <​code>​
 +loc  all  ACCEPT
 +loc  net  ACCEPT
 +</​code>​
 +
 +En el archivo /​etc/​shorewall/​rules:​ <​code>​
 +ACCEPT ​ loc:​192.168.0.123 ​ net  tcp  80,8080
 +</​code>​
 +
 +- DNAT para conectarse desde internet a un host interno, en el archivo /​etc/​shorewall/​rules:​ <​code>​
 +DNAT  net:​190.155.200.123 ​ loc:​192.168.0.123:​5900 ​ tcp  5900
 +</​code>​
 +
 +===== 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 =====
 +
 +  *Debian Wiki: [[http://​wiki.debian.org/​HowTo/​shorewall|http://​wiki.debian.org/​HowTo/​shorewall]]
servidores/general/shorewall_configuracion.txt · Última modificación: 2013/01/29 13:52 por fmolinuevo