Implementación De ModSecurity Firewall De Aplicación Web

Transcription

Implementación de ModSecurityFirewall de Aplicación WebL.I. Dante Odín Ramírez LópezSubdirección de Seguridad de la Información UNAM-CERT

¿Por qué las aplicaciones web son inseguras? Su desarrollo es apresurado Desconocimiento de practicas de seguridad en el desarrollo Dificultad y tiempo extra requerido Costo La seguridad no es la prioridad en el desarrollo

¿Por qué las aplicaciones web son inseguras? Tiempos destinados a reparación de vulnerabilidadesextensos El protocolo HTTP no fue diseñado pensando en seguridad Ha mejorado pero no es suficiente para el nivel de seguridadrequerido en la actualidad Errores de programación (BUGS)

Panorama Actual

Web Application Security Statistics 2008 - WASC En 12,186 aplicaciones web - 97,554 vulnerabilidades. 49% de las aplicaciones tienen vulnerabilidades de altoriesgo. Vulnerabilidades de alto riesgo – 80% a 96% (Al revisarcódigo fuente).

WhiteHat WebSite Security Statistics Report 2011 Se analizaron 3000 aplicaciones web (2010). 71% orientadas a la educación expuestas a vulnerabilidadesgraves. 64% vulnerables a Cross-Site Scripting. 14% presentan vulnerabilidad a SQLInjection. 50% de las organizaciones tardaron 116 días en remediarvulnerabilidades graves.

Tiempos de respuesta aproximados(En días)Cross-Site Scripting6778Fuga de Información87Falsificación de ContenidoProblemas de Privilegios 57SQL InjectionCross-Site Request ForgerySecuestro de Sesión6293106Referencia: 2011: Web Application Security Metrics Landscape – Arian Evans / WhiteHat Security

¿Cómo mejorar? Reducir riesgos entendiendo las amenazas. Asegurar desde el inicio del Ciclo de Vida de Desarrollo deSoftware (SDLC). Implementar estrategias de seguridad más allá delcódigo de las aplicaciones web.

Firewall de Aplicación Web Tipo de firewall que aplica un conjunto de reglas y políticas altráfico HTTP. Detecta y bloquea ataques dirigidos a las aplicaciones web. Protege contra ataques como Cross-Site Scripting (XSS),SQL Injection y otros listados en el Top 10 de OWASP.

Beneficios de un WAF Brinda protección desde su implementación*. Contiene ataques mientras se solucionan vulnerabilidades. No se requiere la modificación del código de las aplicacionesweb.

Ventajas de su implementación Detecta y bloquea ataques antes de que alcancen a lasaplicaciones web. No importa el lenguaje y plataforma de desarrollo de laaplicación web. Protege cualquier servidor web.

Ventajas de su implementación Genera bitácoras detalladas de las transacciones HTTP. Monitoreo de tráfico HTTP. Variedad de soluciones WAF open source y de paga.

Desventajas de su implementación Sufren de falsos positivos y falsos negativos. Requiere de un periodo de pruebas y adecuación. Requiere cambiar la configuración de cifrado SSL, tanto en elWAF como en los servidores web.

Desventajas de su implementación Consume más recursos (Procesador, RAM, espacio en DD). Puede provocar problemas de cuello de botella. Si las aplicaciones web cambian puede que se requieraadecuar el WAF a los cambios.

¿Firewall?¿Firewall de Aplicación? Trabajan en diferentes niveles del modelo OSI. El firewall de red bloquea conexiones filtrando puertos ydirecciones IP. El WAF bloquea transacciones HTTP filtrándolas por sucontenido.

Firewall y Firewall de AplicaciónFirewall deAplicaciónFirewall deRed7 Capa de Aplicación6 Capa de Presentación5 Capa de Sesión4 Capa de Transporte3 Capa de Red2 Capa de Enlace de Datos1 Capa Física

¿Cómo funcionaun Firewall de Aplicación? Monitorea el tráfico HTTP. Lo analiza aplicando un conjunto de reglas predefinidas(Basadas en expresiones regulares). Bloquea o permite la petición HTTP. Registra en bitácoras.

¿Cómo funciona?

¿Cómo funciona? ¿Dónde implemento el WAF? ¿Qué sucede cuando el WAF detecta una anomalía oataque? ¿Cómo quiero que se lleve a cabo la detección de anomalíasy ataques?

Modo de implementaciónDispositivo a Nivel de Red

Modo de implementaciónDispositivo a Nivel de Red

Modo de implementaciónEmbebido

Modo de implementaciónProxy Inverso

Modos de funcionamientoModo Pasivo El WAF se limita al monitoreo de las transacciones HTTP y alregistro en bitácoras de anomalías o ataques detectados. No ejecuta acciones defensivas. Útil durante fase de adecuación y pruebas, ayuda adisminuir los casos de falsos positivos y negativos.

Modos de funcionamientoModo Activo El WAF ejecuta las acciones defensivas especificadas en el conjuntode reglas al detectar un ataque o anomalía. Registrar en bitácora anomalías o ataques detectados. No se recomienda su uso sin antes pasar por un periodo depruebas en modo pasivo.

Modelos de seguridadPositivo / Lista Blanca Se define en el WAF todo lo que está permitido. Lo que no esté definido será rechazado. Es difícil de mantener en entornos que cambianfrecuentemente. Se requiere amplio conocimiento de la aplicación.

Modelos de seguridadNegativo / Lista Negra Se define en el WAF todo lo que está prohibido(Patrones de ataques web). Permite todo lo que no está definido en la lista negra. Si la aplicación web cambia, no precisa de muchosajustes. Más fáciles de configurar y administrar.

WAFECWeb Application Firewall Evaluation Criteria Metodología que sirve como punto de referencia para evaluarWAFs. Criterios de evaluación para determinar la calidad yfuncionalidad de una solución WAF. Creada por la WASC para ayudar a los especialistas enseguridad a tomar una decisión.

¿Qué le debo exigir a un WAF? Soporte completo para HTTP y HTTPS (SSL/TLS). Conjunto de reglas actualizables. Mecanismos anti-evasión o de normalización. Alta disponibilidad y rendimiento. Registros en bitácoras.

Top 10 OpenSource WAFsModSecurityAQTronix WebKnightESAPI WAFWebCastellumBinarysecGuardian -application-firewall-waf.html

ModSecurity Módulo open source de Apache HTTPD. Agrega funcionalidad de Firewall de Aplicación. Desarrollado y mantenido por la compañía TrustwaveSpiderLabs. Disponible bajo la licencia GNU General Public License.

Características Modo embebido o proxy inverso.Modelos de seguridad activo y pasivo.Portabilidad: GNU/Linux, Windows, UNIX, MacOS.Conjunto de reglas básicas y especializadas.Mecanismos anti-evasión.Correlación de eventos de seguridad.Consola de monitoreo gráfico.Registro en bitácoras.

Conclusión La seguridad en aplicaciones web es acerca de entender lasamenazas. “Entre más sepamos más nos podemos preparar”. Un sistema es tan fuerte como lo sea su eslabón más débil. No se puede eliminar el riesgo, solo se puede reducir. Hacer uso de todas las herramientas de seguridad a nuestradisposición.

Referencias de Seguridad WASC:– http://www.webappsec.org OWASP:– https://www.owasp.org WhiteHat Security:– m.mx

Firewall de Aplicación Web Tipo de firewall que aplica un conjunto de reglas y políticas al tráfico HTTP. Detecta y bloquea ataques dirigidos a las aplicaciones web. Protege contra ataques como Cross-Site Scripting (XSS), SQL Injection y otros listados en el Top 10 de OWASP.