Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mod security

8,377 views

Published on

  • Be the first to comment

  • Be the first to like this

Mod security

  1. 1. Manuel Carrasco Moñino Seguridad de Aplicaciones Web HotelSearch.com Enero-2010 manolo@apache.org
  2. 2. Servidores Web  Servidores Web son los principales objetivos  Porque es el servicio mas utilizado  Porque los FW no bloquean el puerto 80/443  Vulnerabilidades  Servidor: bugs, configuracion, exploits  Aplicaciones: mal desarrolladas, con prisas, desarrolladores sin conocimientos de sistemas.  Normalmente la seguridad se delega a:  FW + Detect. Intrusos (nivel 3, logs ...)  SSL
  3. 3. Peligro: El Servidor Web  Bugs y agujeros configuracion  Punto de entrada para ataque interno  Permisos usuario web  Prevencion  Minimos privilegios  Chroot  Monitorizacion (quien, cuando)  Actualización frecuente (no suficiente)
  4. 4. Peligro: Aplicaciones  Defectos de aplicacion  XSS, html incrustado  Inyección SQL  Buffer overflow  DOS  Prevencion  Concienciar desarrolladores  Validaciones en aplicacion  Detectores  HA, monitorización
  5. 5. Peligro: Usuario  Robar informacion sensible  Passwords  Tarjetas  Cookies  Prevencion  Https  Concienciar al usuario
  6. 6. Filtro: mod_security  Opensource, Sourceforge (no apache)  Nivel de aplicacion:  http/ftp/https  GET, POST …  Request, Response  Deteccion y prevencion  Reglas y patrones  Sin intervención de desarrolladores  Actualizacion de reglas: modsecurity.org
  7. 7. Funcionalidades: mod_security  Peticiones  Expresiones regulares en Query String  Análisis de la petición POST  Respuestas  Analiza y modifica mensajes de servidor  Normalización (anti evasion)  Parámetros  Url, nulos, //, ..,
  8. 8. Configuracion: mod_security <IfModule mod_security.c>   SecRuleEngine On   SecAuditEngine RelevantOnly   SecAuditLog /var/log/apache2/audit_log   SecDebugLog /var/log/apache2/modsec_debug_log   SecDebugLogLevel 3   SecRequestBodyAccess On   SecDefaultAction "phase:2,pass,log,auditlog"   SecRule REQUEST_METHOD "!^(?:GET|POST|HEAD)$"       "phase:1,t:none,deny,status:500"   SecRule REQUEST_URI "login_failed.php"        log,exec:/usr/bin/manolo_mod_security.sh   SecRule ARGS:mypar !whatever deny   SecRule ARGS:mynum ^[^d]+$ deny </IfModule>
  9. 9. Reglas: mod_security  Patron  SecRule VARIABLES OPERATOR [ACTIONS]  SecRule REQUEST_URI "attack"     "phase:1,t:none,t:urlDecode,t:lowercase,t:normalisePath"  SecRule ARGS "drop[[:space:]]table" deny,log  Elementos  Headers, ENV, Cookies, QS, Variables html, Xpath ...  Acciones  Deny, status:nnn, allow, redirect:url, log, nolog, exec:cmd, pass, pause:n  Bloques  Directorios/Virtualhosts
  10. 10. Fases: mod_security
  11. 11. Recomendacion: mod_security  Politica recomendada:  Accept por defecto, denegar lo peligroso  Utilizar reglas de modsecurity.org (actualizables)  Arquitectura  FW  Proxy: mod_security + mod_proxy  Frontends
  12. 12. Appliances  ModSecurity Console  Comercial (Breach)  Consola gráfica  Alto rendimiento  Alta disponibilidad  Version trial / organizaciones

×