Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics...

34
Implementación de ModSecurity Firewall de Aplicación Web L.I. Dante Odín Ramírez López Subdirección de Seguridad de la Información UNAM-CERT

Transcript of Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics...

Page 1: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Implementación de ModSecurity

Firewall de Aplicación Web

L.I. Dante Odín Ramírez López

Subdirección de Seguridad de la Información UNAM-CERT

Page 2: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

¿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

Page 3: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

¿Por qué las aplicaciones web son inseguras?

• Tiempos destinados a reparación de vulnerabilidades

extensos

• El protocolo HTTP no fue diseñado pensando en seguridad

• Ha mejorado pero no es suficiente para el nivel de seguridad

requerido en la actualidad

• Errores de programación (BUGS)

Page 4: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Panorama Actual

Page 5: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Web Application Security Statistics 2008 - WASC

• En 12,186 aplicaciones web - 97,554 vulnerabilidades.

• 49% de las aplicaciones tienen vulnerabilidades de alto

riesgo.

• Vulnerabilidades de alto riesgo – 80% a 96% (Al revisar

código fuente).

Page 6: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

WhiteHat WebSite Security Statistics Report 2011

• Se analizaron 3000 aplicaciones web (2010).

• 71% orientadas a la educación expuestas a vulnerabilidades

graves.

• 64% vulnerables a Cross-Site Scripting.

• 14% presentan vulnerabilidad a SQLInjection.

• 50% de las organizaciones tardaron 116 días en remediar

vulnerabilidades graves.

Page 7: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Tiempos de respuesta aproximados

(En días)

106

93

62

57

87

78

67 Cross-Site Scripting

Fuga de Información

Falsificación de Contenido

Problemas de Privilegios

SQL Injection

Cross-Site Request Forgery

Secuestro de Sesión

Referencia: 2011: Web Application Security Metrics Landscape – Arian Evans / WhiteHat Security

Page 8: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

¿Cómo mejorar?

• Reducir riesgos entendiendo las amenazas.

• Asegurar desde el inicio del Ciclo de Vida de Desarrollo de

Software (SDLC).

• Implementar estrategias de seguridad más allá del

código de las aplicaciones web.

Page 9: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

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.

Page 10: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

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 aplicaciones

web.

Page 11: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Ventajas de su implementación

• Detecta y bloquea ataques antes de que alcancen a las

aplicaciones web.

• No importa el lenguaje y plataforma de desarrollo de la

aplicación web.

• Protege cualquier servidor web.

Page 12: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

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.

Page 13: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

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 el

WAF como en los servidores web.

Page 14: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

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 requiera

adecuar el WAF a los cambios.

Page 15: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

¿Firewall?¿Firewall de Aplicación?

• Trabajan en diferentes niveles del modelo OSI.

• El firewall de red bloquea conexiones filtrando puertos y

direcciones IP.

• El WAF bloquea transacciones HTTP filtrándolas por su

contenido.

Page 16: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Firewall y Firewall de Aplicación

7 • Capa de Aplicación

6 • Capa de Presentación

5 • Capa de Sesión

4 • Capa de Transporte

3 • Capa de Red

2 • Capa de Enlace de Datos

1 • Capa Física

Firewall de

Aplicación

Firewall de

Red

Page 17: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

¿Cómo funciona

un 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.

Page 18: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

¿Cómo funciona?

Page 19: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

• ¿Dónde implemento el WAF?

• ¿Qué sucede cuando el WAF detecta una anomalía o

ataque?

• ¿Cómo quiero que se lleve a cabo la detección de anomalías

y ataques?

¿Cómo funciona?

Page 20: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modo de implementación

Dispositivo a Nivel de Red

Page 21: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modo de implementación

Dispositivo a Nivel de Red

Page 22: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modo de implementación

Embebido

Page 23: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modo de implementación

Proxy Inverso

Page 24: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modos de funcionamiento

Modo Pasivo

• El WAF se limita al monitoreo de las transacciones HTTP y al

registro en bitácoras de anomalías o ataques detectados.

• No ejecuta acciones defensivas.

• Útil durante fase de adecuación y pruebas, ayuda a

disminuir los casos de falsos positivos y negativos.

Page 25: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modos de funcionamiento

Modo Activo

• El WAF ejecuta las acciones defensivas especificadas en el conjunto de 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 de pruebas en modo pasivo.

Page 26: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modelos de seguridad

Positivo / 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 cambian

frecuentemente.

• Se requiere amplio conocimiento de la aplicación.

Page 27: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Modelos de seguridad

Negativo / 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 muchos

ajustes.

• Más fáciles de configurar y administrar.

Page 28: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

• Metodología que sirve como punto de referencia para evaluar

WAFs.

• Criterios de evaluación para determinar la calidad y

funcionalidad de una solución WAF.

• Creada por la WASC para ayudar a los especialistas en

seguridad a tomar una decisión.

WAFEC

Web Application Firewall Evaluation Criteria

Page 29: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

¿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.

Page 30: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Top 10 OpenSource WAFs

Referencia:http://www.fromdev.com/2011/07/opensource-web-application-firewall-waf.html

Smoothwall

Profense

IronBee

OpenWAF

Guardian @JUMPERZ.NET

Binarysec

WebCastellum

ESAPI WAF

AQTronix WebKnight

ModSecurity

Page 31: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

ModSecurity

• Módulo open source de Apache HTTPD.

• Agrega funcionalidad de Firewall de Aplicación.

• Desarrollado y mantenido por la compañía Trustwave

SpiderLabs.

• Disponible bajo la licencia GNU General Public License.

Page 32: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

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.

Page 33: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Conclusión

• La seguridad en aplicaciones web es acerca de entender las

amenazas. “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 nuestra

disposición.

Page 34: Implementación de ModSecurity Firewall de Aplicación Web · Web Application Security Statistics 2008 - WASC • En 12,186 aplicaciones web - 97,554 vulnerabilidades. • 49% de

Referencias de Seguridad

• WASC:

– http://www.webappsec.org

• OWASP:

– https://www.owasp.org

• WhiteHat Security:

– https://www.whitehatsec.com

[email protected]