Comprobaci贸n de una configuraci贸n del cortafuegos


Despu茅s de haber dise帽ado una configuraci贸n de cortafuegos adecuada, es importante comprobar que efectivamente se obtiene lo que se deseaba. Una forma de hacerlo consiste en utilizar un 鈥檋ost鈥 de prueba fuera de nuestra red para que intente atravesar su cortafuegos: esto puede llegar a resultar farragoso y lento, y se estar铆a limitado a la comprobaci贸n 煤nicamente de aquellas direcciones que realmente puedan usarse.
Un m茅todo m谩s r谩pido y sencillo est谩 disponible con la implementaci贸n del cortafuegos de Linux. Permite generarpruebas y ejecutarlas contra el cortafuegos como si se estuviera haciendo la prueba con datagramas reales. Todas las variedades de 鈥檚oftware鈥 del cortafuegos del n煤cleo de Linux, ipfwadm, ipchains, e iptables, dan soporte a este tipo de comprobaciones. La implementaci贸n involucra el uso de la orden de comprobaci贸n relevante.
El procedimiento general de comprobaci贸n es como sigue:
1. Dise帽e y configure su cortafuegos utilizando ipfwadm, ipchains, o iptables.
2. Dise帽e una serie de comprobaciones que determinen si su cortafuegos est谩 realmente funcionando como deseaba. Puede utilizar cualquier direcci贸n de origen o destino para realizar estas comprobaciones, por lo que escoja algunas combinaciones de direcciones que deber铆an ser aceptadas y otras que deber铆an ser rechazadas. Si se va a permitir o prohibir a un cierto rango de direcciones, es una buena idea comprobar las direcciones sit煤adas justo en los l铆mites del rango鈥攗na direcci贸n justo dentro del rango y otra justo fuera del rango. Esto le ayudar谩 a asegurarse de que configur贸 correc-tamente los rangos, pues a veces resulta muy f谩cil especificar de forma incorrecta las m谩scaras de su configuraci贸n. Si se filtra por n煤mero de protocolo y puerto, sus comprobaciones tambi茅n deber铆an comprobar todas las combinaciones importantes de estos par谩metros. Por ejemplo, si se desea aceptar TCP s贸lo en ciertas circunstancias, compruebe que se rechazan los datagramas de tipo de UDP.
3. Desarrolle reglas de ipfwadm, ipchains, or iptables para implementar cada comprobaci贸n. Probablemente merezca la pena escribir todas estas reglas en un gui贸n de tal forma que pueda hacer y rehacer la comprobaci贸n f谩cilmente a la vez que va corrigiendo los errores o cambiando el dise帽o. Las comprobaciones utilizan casi la misma sintaxis que las especificaciones de reglas, pero los argumentos tiene significados ligeramente diferentes. Por ejemplo, el argumento de direcci贸n de origen de una especificaci贸n de una regla especifica la direcci贸n de origen que deber铆an tener los datagramas concordantes con esta regla. En cambio, el argumento de direcci贸n de origen en la sintaxis de comprobaci贸n especifica la direcci贸n de origen del datagrama de prueba que se generar谩. En el caso de ipfwadm, debe utilizarse la opci贸n -c para especificar que la orden es una comprobaci贸n, mientras que en el caso de ipchains e iptables, se debe utilizar la opci贸n -C. En todos los casos siempre se deben especificar la direcci贸n de origen, la direcci贸n de destino, el protocolo y la interfaz que se utilizar谩 como prueba. El resto de argumentos, como los n煤meros de puertos y los valores de los bits de TOS, son opcionales.
4. Ejecute cada orden de comprobaci贸n y anote el resultado. El resultado de cata comprobaci贸n con-sistir谩 en una 煤nica palabra que indicar谩 el blanco final del datagrama despu茅s de haber cruzado la configuraci贸n del cortafuegos; es decir, d贸nde terminar谩 el proceso. Para el caso de ipchains e iptables, pueden comprobarse las cadenas de usuario adem谩s de las predefinidas.
5. Compare la salida de cada comprobaci贸n contra el resultado deseado. Si encuentra alguna discrep-ancia, necesitar谩 analizar su conjunto de reglas para determinar d贸nde cometi贸 el error. Si escribi贸 sus 贸rdenes de pruebas en un fichero de gui贸n, entonces podr谩 reejecutar la comprobaci贸n de forma f谩cil despu茅s de haber corregido cualquier error de la configuraci贸n del cortafuegos. Se considera buena pr谩tica borrar por completo sus conjuntos de reglas y reconstruirlas desde cero, en vez de estar realizando cambios din谩micamente. Esto le ayudar谩 a asegurarse de que la configuraci贸n activa que est谩 comprobando refleja el conjunto de 贸rdenes de su gui贸n de configuraci贸n.
Veamos lo que podr铆a ser la transcripci贸n de una comprobaci贸n manual de nuestro ejemplo simple con ipchains. Recuerde que la red local del ejemplo era 172.16.1.0 con una m谩scara de red de 255.255.255.0, y que se permit铆an las conexiones de TCP hacia servidores web de fuera de la red. La cadena de reenv铆o 鈥檉orward鈥 no permit铆a pasar nada m谩s. Empiece con una transmisi贸n que sabemos deber铆a funcionar, una conexi贸n desde el 鈥檋ost鈥 local a un servidor web de fuera.

Califica este Artículo
0 / 5 (0 votos)

Categoría: Conectividad y Redes.




Deja un comentario