Professional Documents
Culture Documents
URL: http://www.shorewall.net/
URL: http://www.netfilter.org/
Acerca de Iproute.
Iproute es una colección de herramientas (ifcfg, ip, rtmon y tc) para GNU/Linux que se
utilizan para controlar el establecimiento de la red TCP/IP, así como también el control
de tráfico. Aunque ifconfig sigue siendo la herramienta de configuración de red estándar
en las distribuciones de GNU/Linux, iproute tiende a sustituirlo al proveer soporte para
la mayoría de las tecnologías modernas de red (incluyendo IP versiones 4 y 6),
permitiendo a los administradores configurar los parámetros de red y el control de tráfico.
URL: http://linux-net.osdl.org/index.php/Iproute2
Requisitos.
Conceptos requeridos.
¿Qué es una zona desmilitarizada?
Una zona desmilitarizada (DMZ), es parte de una red que no está dentro de la red interna
(LAN) pero tampoco está directamente conectada hacia Internet. Podría resumirse como
una red que se localiza entre dos redes. En términos más técnicos se refiere a un área
dentro del cortafuegos donde los sistemas que la componen tienen acceso hacia las redes
interna y externa, sin embargo no tienen acceso completo hacia la red interna y tampoco
acceso completamente abierto hacia la red externa. Los cortafuegos y dispositivos de
encaminamiento (routers) protegen esta zona con funcionalidades de filtrado de tráfico de
red.
Diagrama de una Zona Desmilitarizada.
Imagen de dominio público tomada de Wikipedia y modificada con el Gimp.
Una Red Privada es aquella que utiliza direcciones IP establecidas en el RFC 1918. Es
decir, direcciones IP reservadas para Redes Privadas dentro de los rangos 10.0.0.0/8
(desde 10.0.0.0 hasta 10.255.255.255), 172.16.0.0/12 (desde 172.16.0.0 hasta
172.31.255.255) y 192.168.0.0/16 (desde 192.168.0.0 hasta 192.168.255.255).
¿Qué es un NAT?
¿Qué es un DNAT?
Procedimientos.
Sustento lógico necesario.
Si dispone de un sistema con Red Hat™ Enterprise Linux 4, CentOS 4 o White Box
Enterprise Linux 4, puede utilizar el siguiente depósito yum (utilizado por Linux Para
Todos™ para distribuir MailScanner y que además incluye Shorewall):
[mailscanner-lpt]
name=MailScanner Linux Para Todos para Enterprise Linux 4.0
baseurl=http://www.linuxparatodos.net/lpt/whitebox/4.0/mailscanner/
gpgkey=http://www.linuxparatodos.net/lpt/LPT-RPM-KEY
STARTUP_ENABLED=Yes
CLAMPMSS se utiliza en conexiones tipo PPP (PPTP o PPPoE) y sirve para limitar el
MSS (acrónimo de Maximum Segment Size que significa Máximo Tamaño de
Segmento). Cambiando el valor No por Yes, Shorewall calculará el MSS más apropiado
para la conexión. Si se es osado, puede también especificarse un número en paquetes
SYN. La recomendación es establecer Yes si se cuenta con un enlace tipo PPP.
CLAMPMSS=Yes
En éste se establecen cuales serán las interfaces para las tres diferentes zonas. Se
establecen las interfaces que corresponden a la Internet, Zona Desmilitarizada DMZ y
Red Local. En el siguiente ejemplo, se cuenta con una interfaz ppp0 para acceder hacia
Internet, una interfaz eth0 para acceder hacia la LAN y una interfaz eth1 para acceder
hacia la DMZ, y en todas se solicita se calcule automáticamente la dirección de
transmisión (Broadcast):
En el siguiente ejemplo, se cuenta con una interfaz eth0 para acceder hacia Internet, una
interfaz eth1 para acceder hacia la LAN y una interfaz eth2 para acceder hacia la DMZ,
y en todas se solicita se calcule automáticamente la dirección de transmisión (Broadcast):
Hay una cuarta zona implícita que corresponde al cortafuegos mismo y que se denomina
fw.
Si acaso hubiera un servicio de DHCP, sea como cliente, como servidor o como
intermediario, en alguna de las interfaces, se debe añadir la opción dhcp para permitir la
comunicación requerida para este servicio. En el siguiente ejemplo el anfitrión donde
opera el muro cortafuegos obtiene su dirección IP, para la interfaz ppp0, a través del
servicio DHCP del ISP; en este mismo anfitrión opera simultáneamente un servidor
DHCP, el cual es utilizado en la red de área local para asignar direcciones IP; por todo lo
anterior se debe activar la opción DHCP para las interfaces ppp0 y eth1, que
correspondientemente son utilizadas por la zona de Internet y la red de área local, pero no
es necesario hacerlo para la interfaz eth2 que es utilizada para la zona de la DMZ:
En este fichero se establece como se accederá desde una zona hacia otra y hacia la zona
de Internet.
Todo lo anterior permite el paso entre las diversas zonas hacia Internet, lo cual no es
deseable si se quiere mantener una política estricta de seguridad. La recomendación es
cerrar todo hacia todo e ir abriendo el tráfico de acuerdo a como se vaya requiriendo. Es
decir, utilizar algo como lo siguiente:
Lo anterior bloquea todo el tráfico desde donde sea a donde sea. Si es necesario realizar
pruebas de diagnóstico desde el cortafuegos hacia Internet para probar conectividad y
acceso hacia diversos protocolos, se puede utilizar lo siguiente:
Lo anterior permite al propio cortafuegos acceder hacia la zona de Internet. Esta sería la
política más relajada que se pudiera recomendar para mantener un nivel de seguridad
aceptable.
También es posible hacer NAT solamente hacia una IP en particular y para un solo
protocolo en particular. En el siguiente ejemplo se hace NAT a través de la interfaz ppp0
para la dirección 192.168.3.25 que accede desde la interfaz eth1 y solo se le permitirá
hacer NAT de los protocolos smtp y pop3. Los nombres de los servicios se asignan de
acuerdo a como estén listados en el fichero /etc/services.
#INTERFACE SUBNET ADDRESS PROTO PORT(S)
IPSEC
ppp0 eth1 192.168.3.25 tcp 25,110
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT
REMOVE
Todos los puertos están cerrados de modo predefinido, y es en este fichero donde se
habilitan los puertos necesarios. Hay diversas funciones que pueden realizarse.
ACCEPT
REDIRECT
La acción REDIRECT permite redirigir peticiones hacia un puerto en particular. Muy útil
cuando se quieren redirigir peticiones para HTTP (puerto 80) y se quiere que estas pasen
a través de un Servidor Intermediario (Proxy) como Squid. En el siguiente ejemplo las
peticiones hechas desde la red local y desde la DMZ serán redirigidas hacia el puerto
8080 del cortafuegos, en donde hay un Servidor Intermediario (Proxy) configurado de
modo transparente.
DNAT
La acción DNAT se utiliza para reenviar peticiones desde un puerto del cortafuegos hacia
una IP y puerto en particular tanto en la red local como en la DMZ. Cabe destacar que
para que el DNAT funcioné se necesita que:
• Esté habilitado el reenvío de paquetes en /etc/sysconfig/sysctl.cfg y
/etc/shorewall/shorewall.conf
• Los equipos hacia los que se esté haciendo DNAT utilicen como puerta
de enlace al cortafuegos desde sus correspondientes zonas.
En el siguiente ejemplo, se hace DNAT desde la zona de Internet para HTTP (puerto 80),
SMTP (puerto 25) y POP3 (puerto 110) por TCP y DNS (puerto 53) por TCP y UDP
hacia la IP 10.10.10.28 localizada en la zona de la Red Local.
En el siguiente ejemplo se hace DNAT desde la zona de la Red Local para los servicios
de HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia
diversos servidores localizados DMZ:
En el siguiente ejemplo se hace DNAT desde la zona de Internet para los servicios de
HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia
diversos servidores localizados DMZ y limitar la taza de conexiones a diez por segundo
con ráfagas de hasta cinco conexiones para cada servicio:
En el siguiente ejemplo las peticiones hechas desde la red local (LAN) serán redirigidas
hacia el puerto 8080 del cortafuegos, en donde hay un Servidor Intermediario (Proxy)
configurado de modo transparente, limitando la taza de conexiones a diez por segundo
con ráfagas de hasta cinco conexiones. Esto es muy útil para evitar ataques de DoS
(acrónimo de Denial of Service que se traduce como Denegación de Servicio) desde la
red local (LAN).
Para hacer que los cambios hechos a la configuración surtan efecto, utilce:
Cabe señalar que detener el cortafuegos también detiene todo tráfico de red, incluyendo
el tráfico proveniente desde la LAN. Si se desea restaurar el tráfico de red, sin la
protección de un cortafuegos, será necesario también utilizar el guión de iptables.
chkconfig shorewall on