Análisis comparativo de un Firewall de aplicaciones web comerciales y un Open Source frente al top 10 de Owasp. (2016)
Desarrollar una aplicación web podría conllevar un gran número de riesgos informáticos inherentes, existen diferentes tipos de técnicas que han sido utilizadas para tomar provecho de este tipo de aplicaciones algunas de las más conocidas se pueden encontrar en el top OWASP 10, sin embargo día a día nuevas vulnerabilidades son encontradas y la posibilidad que un riesgo se materialicé es cada vez mayor. Por esta razón, las empresas que hacen uso de este tipo de aplicaciones deben tomar conciencia de las vulnerabilidades a las que pueden estar expuestos y establecer algún tipo de control que permita disminuir los riesgos. Los controles que se pueden llevar a cabo en una aplicación web son dos, el primero es realizar una auditoria periódica donde se hace una revisión del código y se ejecutan pruebas de sombrero blanco con el fin de encontrar algún tipo de vulnerabilidad, la segunda es implementar un firewall de aplicación web. Cada control ofrece sus ventajas y desventajas, y en el mejor de los casos lo ideal sería disponer de ambos, si bien la auditoria permitiría generar código más robusto habría una brecha de seguridad en el lapso que una nueva vulnerabilidad sea encontrada hasta el momento en que la auditoria sea realizada. Así que disponer de un WAF que esté en todo momento revisando las peticiones de los usuarios podría incrementar el nivel de seguridad. Ahora la pregunta sería, ¿Qué nivel de seguridad y confiabilidad ofrece un WAF?, históricamente los WAF empezaron a ganar popularidad luego que en el Consejo de Estándares de Seguridad (PCI-DSS) exigieran a las entidades emisoras de tarjetas de crédito realizar controles sobre las aplicaciones web bien sea por revisión del código o mediante un WAF. Hoy en día existen diferentes fabricantes dedicados al desarrollo de WAF y analizando lenguajes de programación tales como HTML, HTTPS, SOAP and XML-RPC, además permiten prevenir ataques como XSS, inyecciones de SQL, secuestro de sesión, desbordamiento de buffer, ataques de día cero entre otros. Así que con base en la anterior los WAF hoy en día tienen una gran reputación y ofrecen un alto nivel de seguridad. Teniendo en cuenta que existen tantas marcas de WAF así como beneficios a nivel seguridad, este proyecto se enfocó en evaluar las diferencias que podrían existir entre un WAF comercial frente a uno de libre de distribución, esta comparación se hizo con base en el Top 10 de OWASP donde cada una de las vulnerabilidades fue probada en cada uno de los WAF. La implementación del esquema de pruebas requirió que el WAF operará en un modo de proxy reverso de esta forma el servidor web no sufrió ningún tipo de alteración durante el desarrollo del proyecto y así garantizar unas pruebas ecuánimes. Los resultados obtenidos de la prueba han permitido evidenciar que el WAF de marca F5 dispone una plantilla de gran cantidad lenguajes de programación web que permiten implementar reglas tan granulares tanto como se especifiquen por el administrador, además dispone un consola de administración web amigable que permite identificar de forma fácil el ataque o información anómala detectada, también se observa que la herramienta dispone de esquema de aprendizaje el cual permite notificar al WAF eventos como falso positivos y aceptar parámetros que en un principio son marcados como anómalos y lo cual es modelo de seguridad positivo permitiendo tener una mayor escalabilidad. Por su parte Modsecurity ofrece una gran versatilidad para el desarrollo de nuevas firmas de ataques, su consola de administración es a través de línea de comando, y el nivel de seguridad que se ofrece es igual al proporcionado por WAF de marca F5 con base en las pruebas realizadas en este proyecto, las cuales no involucrando técnicas avanzadas de ataques web. Así que los niveles de seguridad brindados por el WAF comercial como el de libre distribución están iguales, sin embargo las diferencias radican en las funcionalidades que ofrece el WAF comercial que permite una mayor escalabilidad y mejor modelo de implementación.