# Mod Security

modSecurity™ es un firewall de aplicaciones Web embebible que ejecuta como módulo del servidor web Apache, provee protección contra diversos ataques hacia aplicaciones Web y permite monitorizar tráfico HTTP, así como realizar análisis en tiempo real sin necesidad de hacer cambios a la infraestructura existente.
modSecurity™ para Apache es un producto desarrollado por Breach Security (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).. modSecurity™ está disponible como Software Libre bajo la licencia GNU General Public License, a su vez, se encuentra disponible bajo diversas licencias comerciales.

## Historia

* Ivan Ristic especialista en seguridad web, creó modSecurity™ en el año 2002. Abordó el desarrollo de esta aplicación después de haber utilizado durante un año y medio SNORT para monitorear tráfico Web y llegar a la conclusión de que necesitaba una herramienta que le permitiera especificar reglas más complejas y la capacidad de realizar acciones relacionadas específicamente con el tráfico HTTP.
* En septiembre de 2006 Breach Security Archivado el 7 de diciembre de 2006 en Wayback Machine. adquirió Thinking Stone y modSecurity™. [Para más información, ver Breach Acquires modSecurity Open Source Vendor Thinking Stone.
* A mediados de noviembre de 2006 se lanzó al mercado la versión 2.0 de modSecurity™.

## Funcionamiento

modSecurity™ es una herramienta para detección y prevención de intrusos para aplicaciones Web.
El módulo cuenta con diversas funcionalidades: Firewall de Aplicaciones con mod_Security – Características y Funcionalidades"
* Filtrado de Peticiones: los pedidos HTTP entrantes son analizados por el módulo mod_security antes de pasarlos al servidor Web Apache, a su vez, estos pedidos son comparados contra un conjunto de reglas predefinidas para realizar las acciones correspondientes. Para realizar este filtrado se pueden utilizar expresiones regulares, permitiendo que el proceso sea flexible.
* Técnicas antievasión: las rutas y los parámetros son normalizados antes del análisis para evitar técnicas de evasión.
      * Elimina múltiple barras (//)
      * Elimina directorios referenciados por sí mismos (./)
      * Se trata de igual manera la \ y la / en Windows.
      * Decodificación de URL
      * Reemplazo de bytes nulos por espacios (%00)
* Comprensión del protocolo HTTP: al comprender el protocolo HTTP, ModSecurity™ puede realizar filtrados específicos y granulares.
* Análisis Post Payload: intercepta y analiza el contenido transmitido a través del método POST.
* Log de Auditoría: es posible dejar traza de auditoría para un posterior análisis forense.
* Filtrado HTTPS: al estar embebido como módulo, tiene acceso a los datos después de que estos hayan sido descifrados.
* Verificación de rango de Byte: permite detectar y bloquear shellcodes, limitando el rango de los bytes.

## Versión 2.x

Funcionalidades incorporadas en la versión 2.x:
* Cinco fases de procesamiento, incluyendo: encabezados del pedido (request headers), cuerpo del pedido (request body), encabezados de respuesta (response headers), cuerpo de respuesta (response body) y almacenamiento en bitácora (logging).
* Opciones de transformación por regla.
* Variables transaccionales.
* Persistencia de datos (utilizado en seguimientos de direcciones IP, sesiones de aplicación, y usuarios de aplicación).
* Soporte para ranking de anomalías y correlación básica de eventos (los contadores pueden ser automáticamente decrementados con el paso del tiempo, las variables pueden expirar).
* Soporte para aplicaciones Web e IDs de sesión.
* Soporte para XML (parseo, validación, XPath).
* bloqueo de IP