Servidor con iptables
El siguiente es unscript muy básico de iptables que puedes usar para proteger un solo equipo conectado a Internet a través de un modem o de una línea dedicada como adsl (algo parecido es lo que yo uso). Lo básico no es sinónimo de inseguro, de hecho este pequeño firewall es un excelente ejemplo de la potencia de iptables, el firewall de Linux, que con unas cuantas líneas es posible establecer un cortafuegos bastanteseguro y eficaz. Tan solo copia y pega lo siguiente en cualquier editor, guárdalo con el nombre que gustes, ejemplo: fw_equipo, después cambia sus permisos para que pueda ser ejecutado: #> chmod 700 fw_equipo y después ejecútalo: (tienes que ser root para ejecutarlo) #> ./fw_equipo Si no manda errores, listo, tu firewall esta protegiéndote de ataques y de accesos indeseados. #--------------------------------------------------------------------------------# www.linuxtotal.com.mx # firewall para un solo equipo conectado a traves de modem o adsl # por: sergio.gonzalez.duran@gmail.com # (1) se eliminan reglas previas que hubiera y cadenas definidas por el usuario iptables -F iptables -X # (2) se establecen politicas "duras" por defecto, es decir solo lo que se autorice # explicitamente podraingresar o salir del equipo iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # (3)a la interface lo (localhost) se le permite todo iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # (4) evitamos ataques syn-flood limitando el acceso de paquetes nuevos # desde internet a solo 4 por segundo y los demas se descartan iptables -A INPUT -p tcp --syn -m limit--limit 1/s --limit-burst 4 -j DROP # (5) se evitan paquetes tcp que sean nuevos y que no tengan el flag SYN # es decir, hay ataques o escaneos que llegan como conexiones nuevas # pero sin ser paquetes syn, definitivamente no nos interesan iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # (6) todo lo que sea icmp (ping) y que intente entrar, se descarta
# con esto bloqueamoscualquier tipo de paquetes con protocolo icmp # evitando ataques como el del ping de la muerte, aunque esta regla # podria provocar problemas de comunicacion con algunos ISP. iptables -A INPUT -p icmp -j DROP # (7) por ultimo las dos siguientes reglas permiten salir del equipo # (output) conexiones nuevas que nosotros solicitamos, conexiones establecidas # y conexiones relacionadas, y deja entrar (input)solo conexiones establecidas # y relacionadas. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # --------------------------------------------------------------------------------Eso es todo. Aunque los comentarios (#) son bastante explícitos, para aquellos que se inician o quieren aprender mas de iptables, demosun repaso. El paso (1) hace un Flush (borrado) de las reglas que ya hubiera, muchas distribucciones se instalan con un juego previo de reglas de iptables que para este caso no nos sirven, por eso las eliminamos, asi como la opción X que permite eliminar las cadenas de reglas personalizadas. Si quieres ver que reglas tienes actualmente en tu firewall usa la opción -L, o también -L n que con estaopción 'n' muestra los puertos en formato numérico: #> iptables -L En el segundo paso (2) establecemos las políticas del firewall, hay dos tipos de políticas ACCEPT y DROP, en el primer caso, estariamos aceptando TODO lo que entre y salga del equipo y después se tendría que negar lo que no se quiera, cosa bastante tediosa e insegura. Lo mejor en firewalls es siempre establecer políticas DROP, con...
Regístrate para leer el documento completo.