##### ## Firewall by ^MaKaM^ (makam at makam dot org) ## Web: http://www.makam.org/ ## Blog: http://blog.makam.org/ ## Version 2.0 ##### ## ## Este frw es MUY simple, no deja pasar casi nada. ## Solo las conexiones activas que pidió nuestra PC y ## las respuestas del servidor DNS. ## Este frw se tiene que activar DESPUES de levantar la ppp0 ## ##### IPTABLES=`which iptables` INET="ppp0" LAN="eth1" NS=`grep "nameserver " /etc/resolv.conf | awk '{ print $2 }'` ## Reglas por defecto en cada tabla # Por defecto, no aceptamos nada... $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP # Por defecto dejamos que salga cualquier cosa... $IPTABLES -P OUTPUT ACCEPT ## Limpiamos las tablas... $IPTABLES -F INPUT $IPTABLES -F FORWARD $IPTABLES -F OUTPUT $IPTABLES -F -t nat ### Aca empieza la joda.. # Toda conexion que ya este establecida la acepto... $IPTABLES -A INPUT -i $INET -m state --state ESTABLISHED,RELATED -j ACCEPT # Toda conexion que venga de la LAN la acepto... $IPTABLES -A INPUT -i $LAN -s 0/0 -d 0/0 -j ACCEPT # Toda conexion que venga de la interfaz de loopback la acepto... $IPTABLES -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT # Servidor DNS # Acepto toda entrada del Servidor DNS... # Como no tengo servidor dns fijo, me tengo que fijar en el que me dio mi ISP (Anteldata) for ip in $NS; do $IPTABLES -A INPUT -p udp -s $ip/32 --source-port 53 -d 0/0 -j ACCEPT done #Anti-Spoofing $IPTABLES -A INPUT -i $INET -s 10.0.0.0/8 -j DROP $IPTABLES -A INPUT -i $INET -s 192.168.0.0/24 -j DROP $IPTABLES -A INPUT -i $INET -s 127.0.0.0/8 -j DROP ### EOF (End of Firewall) :P