1 sept 2007

Proteger tu linux desktop o workstation con iptables

Este es un mini-tutorial para proteger tu maquina de ataques. Utilizare iptables para ello, el kernel debe tener netfilter, ya sea como modulo, o formando parte del kernel, y tambien el modulo state de netfilter, para poder monitorear conexiones.

Son solo 2 reglas que deberas crear para tu firewall:
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT


La primera cambia la politica de tu firewall, de ACCEPT a DROP. Netfilter tiene 3 cadenas o chains: INPUT, OUTPUT, FORWARD. INPUT filtra los paquetes entrantes, OUTPUT filtra los paquetes salientes, y FORWARD filtra los paquetes a los que le haces forward, duh!. En este caso, la politica de nuestro firewall es desechar cualquier paquete si no cumple con ninguna de las reglas.

La segunda regla le dice a nuestro firewall que acepte cualquier paquete que tenga un estado de Establecido. Esto se basa en el modulo state, que nos permite monitorear las conexiones, saber si un paquete pertenecen a alguna conexion en especifico. Esta segunda regla nos permite aceptar paquetes de cualquier conexion que iniciemos nosotros. Si la conexion lo inicia un host externo, el firewall desechara los paquetes.

Esto solo funcionara bien si no prestas ningun servicio en tu maquina, ejemplo: servidor correo, ftp, ssh, web, etc. Ya que nadie podra conectarse a los servicios, a menos que agregues un par de reglas a tu cadena INPUT.

Si por ejemplo quieres que alguien pueda accesar a tu servidor web, solo tienes que agregar otra regla:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Por lo general los servidores web ofrecen servicios por el puerto 80 o 8080, tendras que hacer lo mismo para otros servicios.

Si deseas aprender mas de iptables o netfilter, mejor buscate un manual, tutorial o libro =P. Recuerda, la regla 2 es un ejemplo de Stateful firewall, un firewall basado en estados de conexion.

No hay comentarios: