Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tomado de http://www.com-sl.org/staticpages/index.php?page=config-shorewall-2da-parte
Shorewall
¿Que es DNAT?
DNAT son las siglas de Destination Network Address Translation o
Traducción de dirección de red de destino, el DNAT nos permite redirigir
puertos hacia máquinas que se encuentran en una red interna o Red Privada.
Procedemos a descargar Shorewall 3.4.6-2.noarch.rpm en formato RPM para
CentOS 5 desde la página oficial desde la sección de descargas
en http://www.shorewall.net también directamente en http://www.invoca.ch
cd /usr/share/doc/shorewall/default-config
cp * /etc/shorewall/
cd /etc/shorewall/
startup=1
Hay que tener en cuenta que los ficheros que vamos a configurar se
encuentran en el directorio "/etc/shorewall", los ficheros que vamos a
configurar a continuación son: zones, interfaces, policy, rules,
routestopped
STARTUP_ENABLED=Yes
CLAMPMSS=Yes
zones
interfaces
policy
En este fichero se establecen las políticas por defecto para paquetes que
viajan entre una zona hacia otra:
fw net ACCEPT
Si se desea dar una salida a los equipos de la LAN sin restriccón de puertos
hacia el mundo o Internet simplemente ponemos esta regla:
Según los requerimientos del usuario también podrían utilizar otras como:
masq
Este fichero se lo utiliza para definir enmascaramiento (masquerading)
o NAT, esto es útil cuando tenemos una red privada con la cual queremos
navegar a través de un Proxy. En el siguiente ejemplo aplicaremos
enmascaramiento para la interfaz eth0 (Red Lan) la cual sale por medio de
la interfaz eth1 que es nuestra IP Pública:
routestopped
Otro ejemplo:
rules
DNS/ACCEPT loc fw
Lo que se estaría haciendo con esta regla, es permitiendo que la red local
haga consultas de DNS al fw, nótese que se a incluido “DNS” en ves de los
puertos por su numeración “53”, con esta regla se abrirá tanto en tcp como
en udp por que con esta simple regla nos bastaría para que se abra el puerto
DNS.
DNS/ACCEPT net fw
ACCEPT
También podemos definir una regla para que no tenga límites de puertos:
Con esta regla lo que hemos hecho es que el Firewall (fw) tenga acceso
hacia el Internet (net) sin restricción alguna.
Ahora aceptamos que nuestra red local (loc) se pueda conectar al Internet
(net), aquí podemos definir si queremos los mismos puertos que el fw, ya
que para mayor seguridad no le ponemos que todas puedan salir a puertos
como el 22, 5800, 5900, 1-1023, ya que son puertos de riesgos, y para
evitarnos problemas con los usuarios a que estén haciendo cosas sin control
en la red preferible descomentamos estos:
Permitimos que una sola máquina ingrese a nuestro servidor sin límite
alguno, esta máquina o ip sería la del administrador de la red:
Con este ejemplo también lo podemos definir desde la zona de Internet (net)
al Firewall (fw) para permitir el acceso a una ip fuera de nuestra red, la
cual puede ser de algún amigo, administrador, etc.
REDIRECT
DNAT
El 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/sysctl.cfg en la
opción “net.ipv4.ip_forward = 1”
Los equipos hacia los que se esté haciendo DNAT utilicen como puerta
de enlace al cortafuegos.
Si tenemos un servidor DNS (53), HTTP (80) dentro de nuestra red
local y queremos permitir accesos a este, reenviamos con el DNAT
editando las siguientes reglas:
Ping/ACCEPT fw loc
Ping/ACCEPT fw net
Trcrt/ACCEPT fw net
En el siguiente ejemplo permitimos a una máquina de la red local
hacer Ping y Traceroute hacia la zona de Internet:
Ping/ACCEPT net fw
#ACTION
SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE
# PORT PORT(S)
DEST LIMIT
DNAT net loc:10.10.10.1
tcp 80 - - 10/sec:5
DNAT net loc:10.10.10.2
tcp 25,110 - - 10/sec:5
DNAT net loc:10.10.10.3
tcp 53 - - 10/sec:5
DNAT net dmz:10.10.10.3
udp 53 - - 10/sec:5
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Nota: Por opciones de seguridad se podría poner en rules que
ciertas ips peligrosas no tengan ningún tipo de acceso a nuestro
servidor con:
DROP net:192.168.0.0/16 fw
DROP net:10.0.0.0/8 fw
DROP net:172.16.0.0/12 fw
DROP net:224.0.0.0/4 fw
DROP net:240.0.0.0/5 fw
DROP net:127.0.0.0/8 fw
DROP net:0.0.0.0/8 fw
DROP net:169.254.0.0/16 fw
DROP net:255.255.255.255 fw
Otros Ejemplos:
FTP/ACCEPT net fw
MySQL/ACCEPT loc fw
MySQL/ACCEPT loc net
SSH/ACCEPT loc:172.16.0.5 fw
HTTP/ACCEPT net fw
Edonkey/DNAT net loc:172.16.0.3