El Jueves, 27 de Octubre de 2005 16:52, Alfonso Pinto escribió:
> Me parece estupendo que crees tu propio script de
> iptables, se aprende bastante y tienes toda la
> flexibilidad para poder hacer lo que desees.
>
Gracias, pero hay un par de cosas que no comprendo. Te las pongo a 
continuación.
> Antes de nada te voy a dar un par de consejos que a mi
> me han ayudado bastante:
>
> 1 Identifica cada subred con un nombre. Asi por
> ejemplo la subred que forma el cable-modem con el
> firewall se podría llamar HADES, la LAN la puedes
> llamar OLIMPO, y la DMZ la puedes llamar TARTARO.
> Puedes elegir los nombres que quieras, no tienen
> porque ser de la mitología. Hay un RFC bastante majo
> para elegir nombres, pero no recuerdo el link.
>
> 2 A cada equipo asignale un nombre: Firewall=CERBERO,
> Web-server=PERSEFONE, Cable-Modem=ZEUS....
>
> 3 Hazte un esquema de como quieres que interactue cada
> red con las demás, que tráfico aceptar, que tráfico
> denegar...
>
> 4 Empezamos el script, empieza por definir variables:
>  #redes
>  HADES=eth0
>  OLIMPO=eth1
>  TARTARO=eth2
>
>  #equipos
>   #en HADES
>   ZEUS=10.10.1.1
>   CERBERO_HADES=10.10.1.2
>   #en OLIMPO
>   ATENEA=192.168.1.2
>   CERBERO_OLIMPO=192.168.1.1
>    ...
>   #en TARTARO
>   ...
>   CERBERO_TARTARO=192.168.2.1
>
> El uso de variables simplifica mucho el script, ya que
> ademas de ser más descriptivo, si cambia algún
> parametro solo tienes que cambiarlo en una línea y no
> en todas las reglas en las que aparezca.
>
Estupendo, esto lo veo muy bien.

> Enmascara las redes internas a la hora de salir al
> exterior:
>
> $IPT -t nat -A POSTROUTING -s $CERBERO_OLIMPO/24 -o
> $HADES -j SNAT --to $CERBERO_HADES
>
> $IPT -t nat -A POSTROUTING -s $CERBERO_TARTARO/24 -o
> $HADES -j SNAT --to $CERBERO_HADES
>
¿Porque haces POSTROUTING para la salida de paquetes?
¿Es por algún proxy o similar?.

> Define ahora las reglas para la interaccion de unas
> redes con otras. En las reglas procura discriminar por
> interfaz entrante e interfaz saliente:
>
> #OLIMPO->TARTARO
> iptables --new-chain olimpo_a_tartaro
>
> iptables -A FORWARD -i $OLIMPO -o $TARTARO -j
> olimpo_a_tartaro
>
> iptables -A olimpo_a_tartaro -p tcp --dport 80 -j
> ACCEPT
> ...
> (en cada cadena, despues de especificar todo lo que
> aceptas, deniega el resto y logealo, los logs son
> importantes. Si, aunque tu politica por defecto sea
> DROP vuelve a denegarlo, total, no cuesta nada)
> #TARTARO->OLIMPO
> ...
> #OLIMPO->HADES
>
> ...
> #HADES->OLIMPO
> ...
> .....
>
>
> y por ultimo establece las reglas de cada red a la
> hora de interactuar con el propio firewall. Esto es lo
> que te falla, por eso no puedes entrar por ssh al
> firewall, porque es como si no hubieras definido la
> interaccion de cada red con el firewall.
>
> #OLIMPO->CERBERO
> iptables --new-chain olimpo_a_cerbero
>
> iptables -A INPUT -i $HADES -j olimpo_a_cerbero
>
> iptables -A olimpo_a_cerbero -p tcp --dport 22 -j
> ACCEPT (con esto permites que los equipos de la red
> olimpo puedan acceder por ssh al firewall)
> ...
>
> (lo mismo de antes, en cada cadena, despues de
> especificar todo lo que aceptas, deniega el resto y
> logealo, los logs son importantes. Si, aunque tu
> politica por defecto sea DROP vuelve a denegarlo,
> total, no cuesta nada)
> #CERBERO->OLIMPO
> ...
> #HADES->CERBERO
>
> ...
> #CERBERO->HADES
> ...
> ......
>
> Bueno, me ha quedado un poco largo. Se que hacer asi
> el script puede ser más tedioso, pero a la hora de
> depurarlo es mucho más facil porque queda mucho más
> claro.

Lo que no había pensado es la creación de nuevas reglas.
Gracias.


-- 
Saludos.
Pablo.

Fingerprint 5607 40CF 45EF D490 B794  5056 D7B2 C3DC ABF1 CE49
Jabber: bruli(at)myjabber(dot)net

Attachment: pgpeP5rEsXVzu.pgp
Description: PGP signature

Reply via email to