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

Post on 10-Jun-2020

3 views 0 download

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

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

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

Panorama Actual

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

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.

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

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

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.

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.

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.

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 el

WAF 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 requiera

adecuar 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 y

direcciones IP.

• El WAF bloquea transacciones HTTP filtrándolas por su

contenido.

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

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

¿Cómo funciona?

• ¿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?

Modo de implementación

Dispositivo a Nivel de Red

Modo de implementación

Dispositivo a Nivel de Red

Modo de implementación

Embebido

Modo de implementación

Proxy Inverso

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.

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.

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.

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.

• 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

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

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.

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

Referencias de Seguridad

• WASC:

– http://www.webappsec.org

• OWASP:

– https://www.owasp.org

• WhiteHat Security:

– https://www.whitehatsec.com

adminunam@seguridad.unam.mx