Fw: iptables..
Buenas, he usado tres articulos diferentes, mas el howto de iptables para configurar mi firewall, al final a quedado algo parecido a lo que pongo al final.
Me surgen algunas dudas, por ejemplo, la ultima regla:
iptables -A INPUT -i eth0 -j DROP
...la he puesto con la intencion de que todo lo que entre por eth0 sea rechazado. Claro esta esto es la ultima regla y ya deja pasar lo que me interesa en las anteriores. Pero con esta regla, si hago un ping debian.org no me resuelve el nombre, sin embargo ping ip_debian no hay problema. Entonces... en que afecta esa regla en que no me resuelva nombres ???
Por ultimo, he puesto esta otra regla:
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 2022 -j DNAT --to 192.168.100.2:22
...para entrar directamente por ssh a un pc de mi lan. Pero al intentar hacerlo, el ssh me da un timeout. Hago un nmap -O mi_ip y el 2022 no esta a la escucha, puede ser por eso ??? Como lo pongo a la escucha ???
Os pongo el script entero ya que seguro que necesitais saber del para ayudarme.
P.D: es mi primir contacto con iptables, asi que sugerencias/consejos/criticas se agradece.
#!/bin/sh
#Borramos antiguas reglas del firewall
iptables -F INPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
#Aceptamos todo lo que sale
iptables -P OUTPUT ACCEPT
#Habilitamos masquerading (para la lan que hay detras del server)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
#Aceptamos paquetes de conexiones ya establecidas
iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT
iptables -A INPUT -p TCP -m state --state ESTABLISHED -j ACCEPT
#Aceptamos paquetes ICMP
iptables -A INPUT -i eth0 -p ICMP -j ACCEPT
#Aceptamos conexiones al 53, 25, y 110
iptables -A INPUT -i eth0 -p TCP --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p UDP --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 25 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 110 -m state --state NEW -j ACCEPT
#Aceptamos conexiones al 22, 5901 y 6001 solo de una ip
iptables -A INPUT -i eth0 -p TCP --dport 22 -s XX.XX.XX.XX -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 5901 -s XX.XX.XX.XX -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 6001 -s XX.XX.XX.XX -m state --state NEW -j ACCEPT
#Redirecciono el 2022 hacia el puerto 22 de un pc de mi lan interna y lo loggeo
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 2022 -j LOG --log-prefix "ssh_2022: "
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 2022 -j DNAT --to 192.172.10.25:22
#Rechazamos conexiones al 113, asi evitamos que expiren y tarden en responder algunos servicios.
iptables -A INPUT -i eth0 -p TCP --dport 113 -j REJECT
#Rechazamos paquetes de conexiones nuevas
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
#Rechazamos paquetes de forwarding de conexiones no establecidas
iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
#Rechazamos todo lo demas
#iptables -A INPUT -i eth0 -j DROP
Saludos.
Reply to: