Firewalls en Linux (III)
Revisión básica de sintaxis de los comandos:
La utilización de IP Tables, como ya hemos dicho, es bastante similar a la de IP Chains, como se ve en la figura 1, la mayor diferencia es la inclusión del switch "-t", que permite especificar qué tabla se ha de utilizar. Aparte de eso, todo es bastante similar a IP Chains:
-P
El flag "-P" permite especificar la política por defecto para una cadena si ninguna de las reglas en dicha cadena es cumplida. A diferencia de lo que ocurría en IP Chains, ahora las cadenas se escriben en minúsculas. Las políticas por defecto pueden ser ACCEPT, DROP, o REJECT. Así que si queremos que la política por defecto para la cadena forward sea REJECT, lo escribimos de la siguiente forma
# iptables -P forward REJECT
-A, -D, -C
El commando "-A" agrega una nueva regal al final de la cadena. Con "-D" borramos una regla de la cadena, y con "-C" creamos una regla nueva. Por ejemplo, si quisiéramos setear la interfaz eth2 para que realice enmascaramiento de IP en la cadena forward, usaríamos lo siguiente:
# iptables -A forward -i eth2 -j MASQ
Opciones
Una regla puede incluír la especificación de una interfaz, una IP de orígen y un puerto, una IP de destino y un puerto, y una disposición para el paquete. Cada uno de estos es introducido con un guión (-) y el tipo de ítem, seguido por el valor. El valor puede estar prendido por un signo de admiración (¡) para indicar la negación de dicho valor. Una interfaz es indicada por -i o -interface, posiblemente seguido por un signo de admiración, seguido por el nombre de la interfaz como se indica en ifconfig. Si el nombre termina en +, actuará como un comodín, similarmente a como el asterisco (*) trabaja para otros programas. Como vemos en el ejemplo de arriba, especificamos la tercera tarjeta ethernet con -i eth2, pero algunos otros ejemplos incluyen
-i eth0
-i ! ppp0
Una fuente se puede especificar por -s o -source; un destino, por -d o -destination. Cada uno de estos acepta una dirección IP, ya sea vía un nombre de host o por un cuarteto numérico. El cuarteto puede ser seguido por una barra (/) y un número que indica la cantidad de bits de orden superior que deben ser igualados. En vez de este número, se puede usar otro cuarteto por cada bit testeado. El resto de de los bits de la dirección son ignorados. Esta dirección puede ser seguida por el nombre de un puerto, un número de puerto, un rango de puertos, o un número de mensaje ICMP o su nombre. El rango se indica al separar un par de puertos con dos puntos (:). Los nombres de puertos son resueltos a través del archivo /etc/services. Si se omiten el límite inferior o el límite superior del rango, se los toma respectivamente como 0 y 655535. Si no se especifican puertos, entonces la regla se aplica a todos. Si el protocolo es ICMP, en vez del "número de puerto" se especifica el código numérico ICMP. Algunos ejemplos son:
-s www.geekcomix.com 80
-d mail.geekcomix.com ! smtp
-s 192.168.0.0/16 1024:65536
Un frangmento (es decir, el segundo o subsiguientes paquetes de un mensaje fragmentado) pueden ser especificados con -f. El primer fragmento puede ser especificado con ¡-f. El flag -t alterará el tipo de servicio (TOS) que afecta retraso, througput, confiabilidad y costo de manejo del paquete.
Sinopsis
iptables [ -t table ] - [ ADC ] chain rule-specification [ options ]
iptables [ -t table ] -I chain [rulenum] rule-specification [ options ]
iptables [ -t table ] -R chain rulenum rule-specification [ options ]
iptables [ -t table ] -D chain rulenum [ options ]
iptables [ -t table ] - [ LFZ ] [ chain ] [ options ]
iptables [ -t table ] -N chain
iptables [ -t table ] -X [ chain ]
iptables [ -t table ] -P chain target [ options ]
iptables [ -t table ] -E old-chain-name new-chain-name
Conclusiones
Hasta aquí hemos visto un somero repaso de la historia del firewall más exitoso en la historia de Linux, su evolución, sus comandos básicos, y algunas diferencias con su antecesor, IP Chains. Queda para una nota posterior una vista más general de algunos productos basados en Netfilter como por ejemplo Shorewall (2) , un sistema de configuración de alto nivel, o Knetfilter, un configurador para el entorno KDE (3). O algunos sitios que ofrecen la posibilidad de generar on line una configuración para nuestro firewall (4) (siempre que esté basado en Netfilter).
Lo cierto que es difícil pensar hoy a nuestra máquina en la Red de Redes sin ninguna clase de protección, más aún si detrás de ella se esconde la red privada de nuestra organización, o de nuestra casa. Netfilter ofrece una muy buena herramienta para defendernos de ataques externos, controlar el tráfico a través de nuestro proxy, y muchas otras cosas, si nos tomamos el tiempo de aprender a utilizarlo… Existen muy buenos howtos en Internet, así como tutoriales y recursos generados por usuarios que, como muchos de nosotros, se han tenido que enfrentar a la documentación oficial, y han decidido allanar el camino para los demás inexpertos… Lo único que hace falta es ganas, y tiempo, como siempre…
Fuente: Revista Next It
Tags: