Shorewall es una herramienta de configuración de red que funciona como cortafuegos y puerta de enlace. Administra el tráfico de entrada y salida mediante reglas definidas en archivos de configuración que controlan las conexiones entre zonas de red. Shorewall estructura la red en zonas y define políticas y excepciones para el tráfico entre ellas para filtrar paquetes de manera segura.
1. ADMINISTRACION DE REDES
UNIDAD IV: SEGURIDAD
5. SHOREWALL
INTEGRANTES:
GILBERTO ROSAS CASTILLO
JESUS DUARTE LOPEZ
CATEDRATICO:
FRANCISCO VASQUEZ GUZMAN
2. SHOREWALL
Qué es Shorewall?
Shorewall es un lenguaje de alto nivel de propósito específico para manipular la
infraestructura de control de paquetes del núcleo Linux, Netfilter.
Es una excelente herramienta de alta configuración para la red, regula los
paquetes de entrada y salida de las computadoras que viajan a través de la
red, también se define como un cortafuegos y a su vez como una puerta de
enlace con sus respectivos requisitos de las entradas y salidas de paquetes.
Shorewall es un script en lenguaje BASH (o en Perl en caso que deseemos
utilizar shorewall-perl) que interpreta una serie de archivos de configuración
a partir de los cuales hace sucesivas llamadas a iptables para definir el
conjunto de reglas necesarias representadas por la configuración.
3. CARACTERISTICAS
Permite el filtrado de paquetes stateful gracias a las
capacidades de monitoreo de conexiones de Netfilter.
○ Puede utilizarse en múltiples aplicaciones de router
(enrutador), firewall (corta-fuegos) o gateway (pasarela).
○ Completamente configurable mediante el uso de archivos
de configuración.
○ Número de interfaces de red ilimitadas.
○ Permite dividir las redes en zonas, permitiendo extenso
control sobre las conexiones establecidas entre ellas.
○ Múltiples interfaces por zona y múltiples zonas por interfaz.
○ Soporta zonas anidadas y solapadas.
4. FILTRADO DE DATOS
Reglas (rules)
En Shorewall, los filtros se rigen por el contenido del archivo /
etc/shorewall/ rules en un principio, y /etc/shorewall/policy
como se expliqué en la sección anterior. Dado que el
archivo rules es uno de los mas complicados
(dada la flexibilidad) comencemos por analizar un archivo sin
definición de reglas como el que se obtiene con la
instalación por defecto:
5. Las reglas se agrupan en tres secciones (que deben incluirse
en el orden en que se indica), dependiendo del estado de
la conexión:
● SECTION ESTABLISHED: Correspondiente a reglas que
se aplican a paquetes que pertenecen a conexiones
establecidas.
● SECTION RELATED: Correspondiente a reglas que se
aplican a paquetes que inician una nueva conexión
relacionada a una establecida.
El ejemplo canónico de esto es la apertura de la conexión de
transferencia cuando la conexión de control ya esta
establecida en el protocolo FTP.
● SECTION NEW: Correspondiente a reglas que se aplican a
paquetes que inician una nueva conexión o a conexiones
invalidas.
6. Soporte de VPNs.
● IPSEC, GRE, IPIP y túneles OpenVPN.
● Clientes y servidores PPTP.
● Soporte para control de tráfico y congestión.
● Soporte para múltiples distribuciones de
GNU/Linux.
● Paquetes en formato RPM y Debian disponibles.
Redes privadas virtuales (VPNs)
Shorewall permite tratar de manera distinta al tráfico por redes
privadas virtuales y provee soporte para algunas de las
implementaciones más populares como IPSec, PPTP y
OpenVPN.
7. CONFIGURACION DE SHOREWALL
La configuración de Shorewall se realiza mediante ficheros de texto ubicados
en /etc/shorewall
Fichero /etc/shorewall/zones
Shorewall estructura la red en un conjunto de zonas, definidas en el
fichero /etc/shorewall/zones
Existe una zona predefinida ($FW) asociada al propio firewall
Ejemplo (three-interfaces)
#ZONE TYPE OPTIONS IN_OPTIONS OUT_OPTIONS
fw firewall
net ipv4
loc ipv4
dmz ipv4
Los equipos de la red (y los externos) estarán ubicados en una de las zonas
definidas.
Se especifica en los ficheros /etc/shorewall/interfaces y/o
/etc/shorewall/hosts
Las direcciones de los interfaces del firewall pertenecen a la zona del
firewall $FW.
8.
Fichero /etc/shorewall/interfaces
Indica que interfaz/interfaces de red del firewall están asociados con
el tráfico de cada zona
#ZONE INTERFACE BROADCAST OPTIONS
net eth0 detect
dhcp,routefilter,norfc1918
loc eth1 detect
dmz eth2 detect
Todas las máquinas (direcciones) conectadas a un interfaz
“pertencerán” a la zona correspondiente
Cuando varias zonas son “servidas” por un mismo interfaz, se señala
en el campo INTERFACE con “-”
Será necesario especificar en el fichero /etc/shorewall/hosts las
máquinas concretas de cada zona
Ejemplos de opciones:
norfc1918: interfaz no admite tráfico desde direcciones del rango
de IPs privadas)
blacklist: interfaz no admite máquinas de una lista negra de
máquinas prohibidas (/etc/shorewall/blacklist)
9.
Fichero /etc/shorewall/hosts
Indica que equipos están asociados con cada zona (análogo a
/etc/shorewall/interfaces)
#ZONE HOST(S) OPTIONS
local1 eth1:192.168.3.0/24
local2 eth1:192.168.4.0/24
La reglas de filtrado de tráfico se expresan en términos de zonas,
mediante 2 ficheros
Las políticas generales (por defecto) para las conexiones entre zonas
se especifican en /etc/shorewall/policy
Las excepciones a las políticas por defecto se indican en el fichero
/etc/shorewall/rules
Funcionamiento del firewall definido por Shorewall
Las peticiones de conexión son “comprobadas” contra las reglas de /
etc/shorewall/rules
Si ninguna regla encaja se toma la acción que indique el fichero /etc/
shorewall/policy
10.
Fichero /etc/shorewall/policy
Especifica la acción por defecto para el tráfico entre dos pares
de zonas (origen+destino) y el tipo de log
#SOURCE DEST POLICY LOG LEVEL
LIMIT:BURST
loc net ACCEPT
net all DROP info
all all REJECT info
Políticas posibles: ACCEPT, DROP, REJECT, QUEUE,
NFQUEUE, CONTINUE,NONE
Las políticas por defecto pueden tener acciones adicionales
asociadas, definidas en /etc/shorewall/actions
11. LICENCIAMIENTO
Todas las versiones recientes de Shorewall están bajo
una licencia BSD, lo que significa que pueden ser
libremente distribuidos y modificados para uso
comercial y no comercial. Debido a Shorewall apoya el
concepto de módulos, cualquier persona puede
desarrollar y distribuir sus propios módulos de
Shorewall para cualquier propósito, y distribuirlos bajo
cualquier licencia (como la GPL, comercial o
shareware).