11 de julio de 2005

Sobre el curso de Firewalls

El sábado pasado comencé con mi curso de Firewalls allá en el DF. Al parecer a los chicos les agradó y parece ser que sí están comprendiendo lo que les explico.
A veces he tenido que regresarme pues no saben la diferencia entre los paquetes TCP y UDP o simplemente no se acuerdan de no se acuerdan del 3-way handshake ;)

Bueno, debo admitir que tampoco todo el mundo tiene porqué saberlo. Creo que no es parte de lo que se conoce como "cultura general".

Ahora, esto me lleva a preguntarme ¿qué demonios voy a hacer si los chicos del curso en la FCC vienen igual o peor? Creo que voy a tener que preparar un pequeño material de referencia para irlos preparando para lo que les espera. Aunque por otro lado también es cierto que si el curso se llama bla bla bla de firewalls con GNU/Linux se asume (o al menos debería) que el cursante necesita cierto nivel de conocimientos en el uso del SO y al menos una idea (general si se desea) sobre lo que es un firewall.

Aunque ahora que lo pienso un poco más a detalle, una duda asalta mi alma geek. Según la máquina de estados del IPTables, se considera una conexión nueva a aquella que solamente presenta envío o recepción de datos de un lado pero que no ha tenido aún respuesta. En el caso del un flujo TCP esto significaría que solamente se ha completado la primera parte del 3-way handshake, osea que sólo se ha visto la recepción o envío del primer SYN. Esto es regularmente cierto. Lamentablemente la definición de conexión nueva de la máquina de estados de IPTables es muy amplia y abarca más que el caso anterior. Es decir, si como primer paquete recibido llega uno con la bandera de ACK o URG será igualmente tratado como una conexión nueva desde el punto de visto de IPTables.

Esto redunda en un problemita de especificidad en el sentido de que para un administrador novel es muy cómodo crear reglas del estilo de

iptables -A INPUT -p tcp -i eth0 --dport 1:1024 -m --state state NEW -j ACCEPT

Es decir, que solamente se van a aceptar conexiónes tipo NEW a los puertos privilegiados (los que están debajo de los 1024). Ahora, si somos quisquillosos sabremos que los únicos paquetes tcp que deberían llegar son aquellos que tienen la bandera SYN habilitada. Para que logremos esto necesitaríamos cambiar nuestra regla por algo más del estilo:

iptables -A INPUT -p tcp -i eth0 --dport 1:1024 --syn -j ACCEPT

En fin, son sólo ideas y creo que habrá que consultar el manual.

No hay comentarios.: