viernes, 11 de diciembre de 2009

Probando la efectividad de nuestro firewall

Que es Ftester ?

Ftester es una herramienta diseñada para probar las politicas de filtrado de un firewall, y las capacidades de deteccion de los IDS.

La aplicacion consiste en 2 Scripts escritos en perl, un inyector de paquetes (ftest) y el sniffer de escucha (ftestd).

El primer script inyecta paquetes personalizados definidos en el archivo de configuración (ftest.conf) con una firma de ataque, mientras que el sniffer escucha los paquetes marcados. Ambos scripts escriben los logs de la misma manada usando la misma forma. al terminar el test se corre un diff en los dos archivos producidos ( ftest.log y ftestd.log) y muestra que paquetes alcanzaron el objetivo y que filtros fueron correctamente filtrados, estos scripts deben ser ejecutados en ambos lados de firewall.
La prueba de stateful inpection es realizada con una "conexion spoofing", para anizlar los resultados se llama una aplicación llamada freport que esta disponible en la aplicación.

La prueba de IDS piede ser realizada solo con ftest o con ayuda de ftestd para realizar pruebas de statefull inspection IDS, ftest tiene la capacidad de hacer uso de tecnicas de evacion de IDS
. En ves de usar la configuacion original tambien se puede procesar usando las reglas de snort.

Caracteristicas:


  • Pruebas de firewall
  • Pruebas de IDS
  • Spoofing
  • Simulación de stateful inspecition para IDS y Firewall
  • tecnicas de avacion de IDS.


Requerimientos :

Se requieren los siguientes modulos Net::RawIP, Net::Pcap ,Net::PcapUtils, NetPacket

para instalar los modulos hacermos uso de CPAN

# perl -MCPAN -e "install Net::RawIP"

# perl -MCPAN -e "install Net::Pcap"

# perl -MCPAN -e "install Net::PcapUtils"

# perl -MCPAN -e "install NetPacket"


Descargamos la aplicacion

# wget http://dev.inversepath.com/ftester/ftester-1.0.tar.gz

podemos ver que nuevas versiones existen en la siguiente liga http://dev.inversepath.com/ftester

descompactamos el paquete

# tar -xzf ftester-1.0.tar.gz


teniendo descomprimido el archivo, generamos el archivo ftest.conf . la regla de definicion es la sigiente

===============================================

Direccion_fuente:Puerto:Destion:Puerto:Flag:Protocolo:Tipo_de_servicio

===============================================

para realizar una regla debemos conocer el tipo de ataque podemos ejecutar contra nuestro firella, es recomendable documentarse de los ataques mas comunes de actualidad .

ejemplo sencillo

=============================================
# pueba con PUSH y ACK
192.168.0.10:20:10.1.7.1:1022:AP:TCP:22
# Manda un UDP
192.168.0.10:53:10.1.7.1:53::UDP:0
# manda de un rango de ips una sonda SYN protocolo tcp
192.168.0.1-255:1024:10.1.7.1:22:S:TCP:0
# debemos terminar nuestro archivo con una regla stop_signal
stop_signal=192.168.0.1:666:10.1.7.1:666:S:TCP:0
=============================================


ejecutamos nuestro primer test, levantamos el snifer de escucha

# ./ftestd -i ethX

ejecutamos el script de prueba

# ./ftest -f ftest.conf

y listo .. ud podra disfrutar de mucha información interesante acerca de su firewall, recuerde que un firewall no solo es vulnerable por las reglas que contiene, también es importante hacer pruebas del sistema operativo sobre el cual se corre. Se recomienda ejecutar estas pruebas cada ves que se modifique el firewall.

No hay comentarios:

Publicar un comentario