Algun ejemplo de IpTables

Wenas

Andamos aqui haciendo un proyecto para clase y tenemos que montar (entre otras muchas cosas) un firewall, en Linux, y usaremos IpTables, asi que si alguien nos pudiera facilitar algun ejemplo del archivo de configuracion de IpTables o algun manual del FwBuilder se lo agradeceriamos mucho...
archivo de configuracion de IpTables


¿Y eso que es?

Con que pongas iptables en google te van a salir mil ejemplos para usarlo y montar firewalls y lo que quieras.

Salu2!
<> escribió:si alguien nos pudiera facilitar algun ejemplo del archivo de configuracion de IpTables


Ejemplo Firewall de una LAN con salida a internet con DMZ

#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet con DMZ
##
## Pello Xabier Altadill Izura
## [url]www.pello.info[/url] - [email]pello@pello.info[/email]
echo -n Aplicando Reglas de Firewall...
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Establecemos politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
## Empezamos a filtrar
## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN
# Todo lo que venga por el exterior y vaya al puerto 80 lo redirigimos
       
# a una maquina interna
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.3.2:80
# Los accesos de un ip determinada HTTPS se redirigen e
        esa
# maquina
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to
        192.168.3.2:443
# El localhost se deja (por ejemplo conexiones locales a
        mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT
# Ahora hacemos enmascaramiento de la red local y de la
        DMZ
# para que puedan salir haca fuera
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE
# Con esto permitimos hacer forward de paquetes en el firewall,
        o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward
## Permitimos el paso de la DMZ a una BBDD de la LAN:
iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.5 -p tcp --dport 5432
        -j ACCEPT
iptables -A FORWARD -s 192.168.10.5 -d 192.168.3.2 -p tcp
        --sport 5432 -j ACCEPT
## permitimos abrir el Terminal server de la DMZ desde la
        LAN
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.3.2 -p tcp --sport 1024:65535
        --dport 3389 -j ACCEPT
# … hay que hacerlo en uno y otro sentido …
iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.0/24 -p tcp --sport 3389
        --dport 1024:65535 -j ACCEPT
# … por que luego:
# Cerramos el acceso de la DMZ a la LAN
iptables -A FORWARD -s 192.168.3.0/24 -d 192.168.10.0/24 -j DROP
## Cerramos el acceso de la DMZ al propio firewall
iptables -A INPUT -s 192.168.3.0/24 -i eth2 -j DROP
## Y ahora cerramos los accesos indeseados del exterior:
# Nota: 0.0.0.0/0 significa: cualquier red
# Cerramos el rango de puerto bien conocido
iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 1:1024 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp -dport 1:1024 -j DROP
# Cerramos un puerto de gestión: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP
echo " OK . Verifique que lo que se aplica con: iptables
        -L -n"
# Fin del script
Muchas gracias por la info es justo lo que necesitabamos.

PD: Muy wapa la firma de Ubuntu xD
<> escribió:Muchas gracias por la info es justo lo que necesitabamos.

PD: Muy wapa la firma de Ubuntu xD


Assiasss [beer] [beer]
ubuntu escribió:
Assiasss [beer] [beer]


Otras seis razones para animar a la gente a pasarse a Ubuntu...

Al tema, aqui mi script, sencillo, pero con todo lo que necesito, cerrar mi red privada, abrir un par de puertos y hacer un par de redirecciones.

Un saludo.

#/bin/sh
##X-O-tables

echo 1 > /proc/sys/net/ipv4/ip_forward

PUERTOS_PARA_ABRIR="20 21 22 80"

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# se cierra la entrada al fw por defecto
iptables -P INPUT DROP

# enmascaramiento
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/28 -j MASQUERADE

#Evitar uso como bounce
iptables -A FORWARD -i eth1 -o eth1 -j DROP

# dejar entrar respuestas de peticiones
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# dejar paso a la red local
iptables -A INPUT -i eth0 -s 192.168.0.0/28 -j ACCEPT

#Permitir LOOPBACK
iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT

#Abrir Puertos
for i in $PUERTOS_PARA_ABRIR;
do
iptables -A INPUT -p tcp --dport $i -j ACCEPT
iptables -A INPUT -p udp --dport $i -j ACCEPT
done

#Redireccion de puertos
#SSH
#iptables -t nat -A PREROUTING -p tcp --dport 12322 -j DNAT --to 192.168.0.4:22
#WEB
#iptables -t nat -A PREROUTING -p tcp --dport 12380 -j DNAT --to 192.168.0.5:80
5 respuestas