[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Fw: Ayuda con iptables, por favor.



pablo:
antes que nada, te cuento que estoy leyendo mails atrasados de la lista de
debian por eso agrego mi comentario recien hoy.

estuve mirando tu script que levanta las reglas del iptables, y note ciertas
cosas que me gustaria comentar, asi yo tambien me aseguro de que tengo
entendido. ojo, no lo tomes como que te estoy corrigiendo, sino que intento
mejorar lo hecho. y para toda la lista: si alguno ve algo mal, por favor,
avise.

<quote pablo>
  #Limpieza de reglas.
  echo -n "Limpiando reglas iptables: "
  iptables -F
  iptables -X
  iptables -Z
  iptables -t nat -F
  echo "hecho."
</quote>

estas haciendo un flush de las tablas filter y nat, y no lo estas haciendo
para mangle. eliminas las tablas del usuario y reseteas los contadores solo
para filter y no para mangle y nat. completo quedaria asi:

    # Elimino las tablas creadas por el usuario.
    iptables -t filter -X
    iptables -t nat -X
    iptables -t mangle -X

    # Vacio las tablas.
    iptables -t filter -F
    iptables -t nat -F
    iptables -t mangle -F

    # Reseteo los contadores.
    iptables -t filter -Z
    iptables -t nat -Z
    iptables -t mangle -Z

    ojo: yo el reseteo de contadores no lo hago. porque en ciertas
condiciones puede ser util. por eso, lo tengo en una opcion aparte en mi
script.
  reset-counters)
    # Reseteo los contadores.
    iptables -t filter -Z
    iptables -t nat -Z
    iptables -t mangle -Z
    ;;

<quote pablo>
  #ICMP
  echo -n "Permitendo echo request: "
  iptables -A INPUT -i eth0 -p icmp -j ACCEPT
  iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
  echo "hecho."
</quote>

el comentario no deberia ser: permito todo el trafico icmp con destino esta
pc, u originado desde esta pc? porque si bien permitis los echo request,
estas permitiendo tambien todo tipo de mensajes icmp. comentario: lei en un
tutorial que si lo que queres hacer es permitir los 'host unreachable, etc'
podrias permitir los INPUT o FORWARD state RELATED, que justamente se
utilizan para esto.

<quote pablo>
  echo -n "Parando el firewall: "
  iptables -F INPUT (1)
  iptables -F OUTPUT (2)
  iptables -F FORWARD (3)
  iptables -F (4)
  iptables -t nat -F
  echo "hecho."
</quote>

aca estas repitiendo cosas. las lineas 1, 2, y 3, juntas hacen lo mismo que
la 4. y si haces un flush de nat, como convencion te convendria hacer un
flush tambien de mangle. cosa de que si algun dia necesitas usar mangle, no
te tengas que preocupar si las estas inicializando o no.

<quote pablo>
  #ssh exterior al server.
  echo -n "Activando redireccionamiento conexión ssh al server: "
  iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -m state --state
NEW -j DNAT --to 192.168.0.2:22
  iptables -A FORWARD -i eth0 -p tcp --dport 22 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
  echo "hecho."
</quote>

para estar convencido de lo que voy a decir, necesitaria que me digas tu
configuracion de red. pero a simple vista, te falta la regla en postrouting
para modificar la direccion de origen del paquete utilizando SNAT. porque
sino lo que vas a estar haciendo es modificar el destino de un paquete para
enviarlo a una subnet diferente a la de la direccion origen. ojo: habria que
ver si no se esta enmascarando con una regla que tenes mas arriba # NAT:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE.

<quote pablo>
  #Cerrar
  echo -n "Cerrando conexiones no necesarias: "
  iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
  iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
  echo "hecho."
</quote>

si no veo mal, ya tenes bloqueado todo eso con las politicas por defecto que
seteaste arriba:
  #Política por defecto.
  echo -n "Aplicando política: "
  iptables -P INPUT DROP
  iptables -P OUTPUT DROP
  iptables -P FORWARD DROP


como comentario final, para el que le interese, les dejo un link de un
tutorial de iptables muy copado:
http://iptables-tutorial.frozentux.net/iptables-tutorial.html

y ya saben, cualquier cosa que dije mal, o les parece que esta mal,
pregunten asi nos sacamos las dudas.
saludos, velkro.





Reply to: