Hola amigos,
A continuación transcribo un pequeño script que diseñé
tomando ideas de varios sitios, con el cual pretendo
proteger una máquina que por su eth0 tiene acceso a
internet y dirección ip pública. ¿Debería corregir o
agregar algo?.
Por su ayuda mil gracias,
Fernando
---------------------------------------------------------
#!/bin/sh
# Detener todas las conexiones entrantes desde la
interfaz eth0 menos las
# conexiones a los servicios ssh (22), smtp (25), http
(80) y https (443).
# Todas las conexiones que se realizen desde la
máquina (como navegar,
# consultar correo, etc) estarán permitidas por que no
son conexiones
# iniciadas desde "fuera".
#
iptables -A INPUT -p tcp -i eth0 -m state --state
NEW,ESTABLISHED,RELATED --dport 22 -j ACCEPT
# Permitir correo electrónico
#
iptables -A INPUT -p tcp -i eth0 -m state --state
NEW,ESTABLISHED,RELATED --dport 25 -j ACCEPT
# Permitir acceso al servidor web
#
iptables -A INPUT -p tcp -i eth0 -m state --state
NEW,ESTABLISHED,RELATED --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -m state --state
NEW,ESTABLISHED,RELATED --dport 443 -j ACCEPT
# Cierra todo lo demás
#
iptables -A INPUT -p all -i eth0 -m state --state
NEW,INVALID -j DROP
iptables -A INPUT -p all -i eth1 -m state --state
NEW,INVALID -j DROP
iptables -A INPUT -p all -i eth2 -m state --state
NEW,INVALID -j DROP
iptables -A INPUT -p all -i eth3 -m state --state
NEW,INVALID -j DROP
# Deshabilitar los paquetes ICMP entrantes de tipo
echo (8) para el firewall
#
iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j
DROP
iptables -A INPUT -i eth1 -p icmp --icmp-type 8 -j
DROP
iptables -A INPUT -i eth2 -p icmp --icmp-type 8 -j
DROP
iptables -A INPUT -i eth3 -p icmp --icmp-type 8 -j
DROP
# Denegar paquetes fragmentados por debajo de 40
bytes, para conexiones
# dirigidas al firewall (regla INPUT). Esta regla
evita ataques del tipo
# "Tiny Fragment Attack"
#
iptables -A INPUT -i eth0 -f -m length --length 0:40
-j DROP
iptables -A INPUT -i eth1 -f -m length --length 0:40
-j DROP
iptables -A INPUT -i eth2 -f -m length --length 0:40
-j DROP
iptables -A INPUT -i eth3 -f -m length --length 0:40
-j DROP
# Evitar el falseo de direcciones ip (anti spoofing)
# (Cambiar "dir.ip.máquina" por la dirección ip de la
máquina)
#
iptables -A INPUT -i eth0 -s "dir.ip.máquina" -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 224.0.0.0/4 -j DROP
iptables -A INPUT -i eth0 -s 240.0.0.0/5 -j DROP
iptables -A INPUT -i eth0 -d 127.0.0.0/8 -j DROP
# iptables -A INPUT -i eth0 -d x.x.x.255 -j DROP #
Ataques con ip broadcast
# Anti-flooding o evitar la inundación de tramas SYN.
#
iptables -N syn-flood
iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s
--limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
# Evitar ataques por fragmentos
#
iptables -A INPUT -i eth0 -f -j LOG --log-prefix
"FRAGMENTOS IPT: "
iptables -A INPUT -i eth0 -f -j DROP
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/