Bien esto es un Firewall casero usando iptables......
lo primero es crear el archivo .sh el cual sera nuestro firewall
En mi caso, y como soy bien original, le puse "firewall.sh"
gnome:
$ gedit firewall.sh
KDE:
$ kate firewall.sh
Pegamos lo siguiente dentro
---------------------------------------------------------------------------------------------
#!/bin/bash
#Borrar todas las reglas
iptables -F
#Politica general.Cerramos todo.Dejamos entrar y salir lo solicitado
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
###OTRAS PROTECCIONES####
# Quitamos los pings.
/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# No respondemos a los broadcast.
/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Para evitar el spoofing nos aseguramos de que la dirección
# origen del paquete viene del sitio correcto.
for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do
/bin/echo "1" > ${interface}
done
# Los ICMPs redirigidos que pueden alterar la tabla de rutas.
for interface in /proc/sys/net/ipv4/conf/*/accept_redirects; do
/bin/echo "0" > ${interface}
done
# No guardamos registros de los marcianos.
/bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Asegurar, aunque no tenga soporte el nucleo, q no hay forward.
/bin/echo "0" > /proc/sys/net/ipv4/ip_forward
###Reglas de los puertos####
# A nuestra IP le dejamos todo <-- reemplaza los ceros por tu num de IP
iptables -A INPUT -s 000.000.000.000 -j ACCEPT
# Permitimos que la maquina pueda salir a la web
#/sbin/iptables -A INPUT -p tcp -m tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT
#/sbin/iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
# Azureus <-- pon el puerto correcto de tu azureus o cualquier otro torrent client
/sbin/iptables -A INPUT -p tcp -m tcp --dport 22875 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --sport 22875 -j ACCEPT
# Abrimos los puertos del emule <-- pon el puerto de amule
/sbin/iptables -A INPUT -p tcp -m tcp --dport 7662 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --sport 7662 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 7665 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --sport 7665 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 7672 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --sport 7672 -j ACCEPT
# Ahora para el amsn
/sbin/iptables -A INPUT -p tcp -m tcp --dport 6891:6895 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m tcp --sport 6891:6895 -j ACCEPT
# Permitimos que se conecten a nuestro servidor web.
#iptables -A INPUT -m state --state NEW -p TCP --dport 80 -j ACCEPT
#Abrimos ssh a la red.
#iptables -A INPUT -s 172.26.0.3 -p TCP --dport 22 -j ACCEPT
#iptables -A INPUT -s 172.26.0.4 -p TCP --dport 22 -j ACCEPT
#iptables -A INPUT -s 172.26.0.5 -p TCP --dport 22 -j ACCEPT
#iptables -A INPUT -p TCP --dport 22 -j ACCEPT
# Permitimos la comunicación con el servidor dns
iptables -A INPUT -p UDP --dport 53 -j ACCEPT
iptables -A INPUT -p TCP --dport 53 -j ACCEPT
#Permitimos uso de ftp.
#iptables -A INPUT -p TCP --dport 21 -j ACCEPT
#Permitimos acceso pop3.
#iptables -A INPUT -p TCP --dport 110 -j ACCEPT
# Permitimos uso de smtp
#iptables -A INPUT -p TCP --dport 25 -j ACCEPT
#Permitimos acceso imap.
#iptables -A INPUT -p TCP --dport 143 -j ACCEPT
#iptables -A INPUT -p UDP --dport 143 -j ACCEPT
#Permitimos todo el trafico de la LAN
#iptables -A INPUT -s 0.0.0.0 -j ACCEPT
#iptables -A INPUT -s 0.0.0.0 -j ACCEPT
#iptables -A INPUT -s 0.0.0.0 -j ACCEPT
#Dejamos a localhost, para mysql, etc..
iptables -A INPUT -i lo -j ACCEPT
-----------------------------------------------------------------------------------------------
Guardar el archivo y darle permisos de ejecución
$ chmod +x firewall.sh
Ahora lo probamos
$ sudo sh firewall.sh
Vemos que todo funcione correctamente, los p2p, el amsn ,gaim ,kopete o el que usen
si algo no funciona como es debido, deben revisar las reglas de los puertos q agregaron quizás alguno este mal, después de cada edición del archivo deben correrlo de nuevo como antes les dije y volver a probar que todo funcione
Si todo funciona de primera (te envidio), vamos a hacerlo permanente así cada vez que reiniciemos tendremos el firewall corriendo, para esto hacemos
$ sudo cp firewall.sh /etc/init.d
$ sudo update-rc.d firewall.sh defaults
Ya esta el firewall se activara cada vez que reinicies el equipo.......
Espero que jueguen con esto y ya saben cualquier duda me consultan
2 comentarios:
deberia aparecer "firewall" cuando ejecutas top o el monitor del sistema?
dmcom, no, no apareceria ya que no se trata de una aplicacion o demonio, son solo entradas a iptables.
Publicar un comentario