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

Ejemplo de filtrado con IPtables



Hola!

Parece que mi ultimo mail no llego a la lista ya que
acabo de mirar en la web y no aparece :-?

Lo vuelvo a escribir (no guarde copia :-(

Pues siguiendo los consejos de Christoph (gracias por
la ayuda!) he escrito el siguiente filtrado para el
IPtables. Esta vez solo incluyo lo que entiendo y lo
he escrito desde 0, sin basarme en el del HOWTO. En
principio es para un ordenador que estara conectado
todo el dia a Internet haciendo de servidor de varias
cosas: listas de correo con Mailman, web y nttp en
principio. No tiene usuarios mediante telnet salvo el
administrador. La conexion con la red es mediante
eth0. Tiene cuentas de correo que se pueden consultar
por pop3 (en el futuro IMAP tambien pero de momento no
esta instalado) y permite enviar mails mediante el
SMTP si se envian desde la misma red (de alli el
X.Y.0.0/16 para el puerto del SMTP).

Pues eso :-)

He puesto comentarios para facilitar la comprension y
para que si alguien se anima y quiere instalarse el
iptables tenga algun ejemplo sencillito :-)

Aqui va :-)

---CUT---

# Politica por defecto para cada tipo de paquetes,
INPUT, OUTPUT y FORWARD

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Direcciones que no pasan por falsas

iptables -t nat -A PREROUTING -i eth0 -s
192.168.0.0/16 -j DROP
iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j
DROP
iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12
-j DROP

# 0. Normas generales a todos los paquetes
# a) Aceptamos todo lo que entra y haya sido pedido o
este 
#    relacionado con lo que haya sido pedido. 
#    Dejamos salir todo

iptables -A INPUT -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A OUTPUT -m state --state
ESTABLISHED,RELATED -j ACCEPT

# Separamos por tipo de paquete

# 1. ICMP
# a) Dejamos pasar siempre (entrada y salida)
iptables -A INPUT -p ICMP -i eth0 -s 0/0 -j ACCEPT
iptables -A OUTPUT -p ICMP -i eth0 -s 0/0 -j ACCEPT


# 2. Paquetes TCP
# a) Ordenadores desde los que se puede entrar por
telnet
iptables -A INPUT -p TCP -i eth0 -s IP_PERMITIDA1
--dport 22 -j ACCEPT
iptables -A INPUT -p TCP -i eth0 -s IP_PERMITIDA2
--dport 22 -j ACCEPT

# b) Ordenadores desde los que se puede conectar
mediante SMTP
iptables -A INPUT -p TCP -i eth0 -s X.Y.0.0/16 --dport
25 -j ACCEPT

# c) Ordenadores desde los que se puede visitar la web
iptables -A INPUT -p TCP -i eth0 -s 0/0 --dport 80 -j
ACCEPT

# d) Ordenadores que pueder recojer correo por POP3
iptables -A INPUT -p TCP -i eth0 -s 0/0 --dport 110 -j
ACCEPT


# 3. Paquetes UDP
# a) Para que funcione el DNS
iptables -A INPUT -i eth0 -p UDP -s 0/0 --source-port
53 -j ACCEPT

# b) Utilizado para sincronizar la hora
iptables -A INPUT -i eth0 -p UDP -s 0/0 --source-port
2074 -j ACCEPT


# Log de todo lo que no ha sido aceptado
iptables -A INPUT -m limit --limit 3/minute
--limit-burst 3 -j LOG --log-level DEBUG --log-prefix
"IPT INPUT packet died: "
iptables -A OUTPUT -m limit --limit 3/minute
--limit-burst 3 -j LOG --log-level DEBUG --log-prefix
"IPT OUTPUT packet died: "

---CUT---

Si me pudierais decir que tal esta (si hay algun
error, si la seguridad es la correcta, etc...) os
estaria muy agradecida! :-)

Muchos besos por adelantado :-*

(esperemos que ahora llegue :-)

__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com



Reply to: