Hola ya estoy desesperado... he mirado en google, la documentaci�n, alg�n libro... pero no consigo configurar correctamente el cortafuegos :(
Os cuento: Tengo una red privada en casa y me gustar�a montar un cortafuegos. Hasta ahora he tenido lo siguiente: <--- #!/bin/sh echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -A POSTROUTING -t nat -j MASQUERADE -o ppp0 /sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 4661 -j DNAT --to 172.16.0.3:4661 /sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 4662 -j DNAT --to 172.16.0.3:4662 /sbin/iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 4665 -j DNAT --to 172.16.0.3:4665 # INBOUND POLICY # Accept inbound packets that initiate SSH sessions /sbin/iptables -A INPUT -p tcp -j ACCEPT --dport 22 -m state --state NEW # Accept inbound packets that initiate HTTP sessions /sbin/iptables -A INPUT -p tcp -j ACCEPT --dport 80 -m state --state NEW ;; ---> Pero como todo quedaba demasiado abierto me he decidido a cerrar un poco m�s los accesos. El resultado lo teneis en el adjunto iptables_full Problemas que me han aparecido: -Aunque me permite acceder a la web de mi casa, no me permite navegar fuera de mi red. -No me permite enviar correo: una m�quina lo env�a mediante exim directamente y la otra mediante evolution+smtp de un isp. La prueba la he hecho con la primera. -Es posible que si me permita recibir correo desde servidores externos pop3 (en un log de snort aparece la conexi�n a los buzones) -No me permite utilizar clientes de mensajer�a instantanea (tipo MSN, etc) -No me permite acceder a las cuentas FTP de otros sitios, teniendo que conectarme mediante ssh al cortafuegos para poder establecer la conexi�n FTP con los servidores externos. -Por �ltimo, eMule. No estoy seguro porque estaba descargando pero mucho me temo que tal y como est� el panorama... me dar� low-id Se me olvidaba... una de las m�quinas tiene que trabajar de vez en cuando con WinXP. La salida a internet la hace mediante SAMBA. Imagino que tambi�n tendr� que aparecer algo en el cortafuegos �me equivoco? Desde luego he conseguido lo que buscaba... cerrar m�s los accesos al sistema... pero los he cerrado demasiado :'( Ya no se qu� hacer, qu� cambiar ni qu� tocar... �alguna ayuda? Gracias por adelantado. Un saludo. -- Ferm�n Manzanedo | Badajoz - Spain | Utilice formatos libres para http://efiex.homelinux.org/~fermin | compartir informaci�n. No utilice Llave p�blica gpg en pgp.rediris.es | .doc .xls .gif... Powered by Debian GNU/Linux "Sid" | as�, gana la humanidad ;)
#!/bin/sh
#
# last modified 28 Dec 2003
#
IPTABLES=/sbin/iptables
test -x $IPTABLES || exit 5
case "$1" in
start)
echo -n "Cargando el filtrado de paquetes de la red"
# SETUP -- Necesario para todos los host
# Carga los m�dulos del n�cleo
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_nat
modprobe ipt_MASQUERADE
# Elimina reglas antiguas y tablas
$IPTABLES --flush
$IPTABLES -F -t nat
$IPTABLES --delete-chain
# Establece reglas de denegaci�n por defecto para las tres cadenas
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
# Permite loopback
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# Permite actuar de pasarela
/sbin/iptables -A POSTROUTING -t nat -j MASQUERADE -o ppp0
$IPTABLES -A FORWARD -i eth0 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -s 172.16.0.0/12 -j ACCEPT
$IPTABLES -A FORWARD -d 172.16.0.0/12 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
# Permite conectarse a idefix al eMule
/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 4661 -j DNAT --to
172.16.0.3:4661
/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 4662 -j DNAT --to
172.16.0.3:4662
/sbin/iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 4665 -j DNAT --to
172.16.0.3:4665
# Para evitar (de manera rudimentaria) ip-spoofing
$IPTABLES -A INPUT -s 255.0.0.0/8 -j LOG --log-prefix "Spoofed source IP!"
$IPTABLES -A INPUT -s 255.0.0.0/8 -j DROP
$IPTABLES -A INPUT -s 0.0.0.0/8 -j LOG --log-prefix "Spoofed source IP!"
$IPTABLES -A INPUT -s 0.0.0.0/8 -j DROP
$IPTABLES -A INPUT -s 127.0.0.0/8 -j LOG --log-prefix "Spoofed source IP!"
$IPTABLES -A INPUT -s 127.0.0.0/8 -j DROP
$IPTABLES -A INPUT -s 192.168.0.0/16 -j LOG --log-prefix "Spoofed source IP!"
$IPTABLES -A INPUT -s 192.168.0.0/16 -j DROP
# Tengo que a�adir la interface a la que me refiero para que permita las
# conexiones desde la red interna.
$IPTABLES -A INPUT -i ppp0 -s 172.16.0.0/12 -j LOG --log-prefix "Spoofed source
IP!"
$IPTABLES -A INPUT -i ppp0 -s 172.16.0.0/12 -j DROP
$IPTABLES -A INPUT -s 10.0.0.0/8 -j LOG --log-prefix "Spoofed source IP!"
$IPTABLES -A INPUT -s 10.0.0.0/8 -j DROP
# No permitir el paso de paquetes con el indicativo --syn
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix
"Stealth scan attempt?"
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
# Pol�tica de filtrado de paquetes:
# POL�TICA DE ENTRADA
# Aceptar paquetes entrantes que sean parte de una sesi�n previamente autorizada
$IPTABLES -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
# Aceptar paquetes entrantes que inicien sesi�n SSH
$IPTABLES -A INPUT -p tcp -j ACCEPT --dport 22 -m state --state NEW
# Permitir paquetes entrantes que inicien sesi�n HTTP
$IPTABLES -A INPUT -p tcp -j ACCEPT --dport 80 -m state --state NEW
# Hacer log de todo lo que no se acepte
$IPTABLES -A INPUT -j LOG --log-prefix "Dropped by default:"
# POLITICA DE SALIDA
# Si es parte de una conexi�n aprovada, dejar salir.
$IPTABLES -I OUTPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Permitir consultad de DNS
$IPTABLES -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
# Hacer log de todo lo que no se acepte
$IPTABLES -A OUTPUT -j LOG --log-prefix "Dropped by default:"
;;
wide_open)
echo -n "PELIGRO! Unloading Packet Filters!!"
# Unload filters and reset default policies to ACCEPT.
# FOR EMERGENCY USE ONLY -- else use 'stop' !!
$IPTABLES --flush
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
;;
stop)
echo -n "Filtrado detenido..."
# Unload all fw rules, leaving default drop policies
$IPTABLES --flush
$IPTABLES -F -t nat
;;
status)
echo "Preguntando por el estado de iptables (via iptables --list)..."
$IPTABLES --line-numbers -v --list
;;
*)
echo "Utilizacion: $0 {start|stop|wide_open|status}"
exit 1
;;
esac
signature.asc
Description: Digital signature

