060 064 ApacheModSecurityLM22.Crop

5
La programación limpia de aplicaciones web proporciona una vía para impedir esta clase de abuso, pero el camino está plagado de dificultades. Incluso los programadores más experimentados son cogidos de vez en cuando, ya que las vulnerabilidades en las aplicaciones web están ocultas a la espera de surgir antes o después. El módulo ModSecurity de Apache [1] pro- porciona validación y una protección mejo- rada (Figura 1). El módulo es básicamente una aplicación cortafuegos web disponible tanto como un módulo de Apache como una aplicación independiente (GPL con posibili- dad de soporte comercial). El módulo valida las peticiones entrantes antes de pasarlas a los scripts apropiados basándose para ello en las reglas especificadas dentro de un conjunto de éstas. Como en los ficheros de patrones utili- zados por los programas antivirus, las reglas contienen las firmas de las técnicas de ata- ques típicas. Si una petición se corresponde con una de las firmas, el mecanismo especifi- cado por la regla se ejecuta. Puede tra- tarse simplemente del bloqueo de la peti- ción o del reenvío de la misma otra página web. El módulo pro- porciona una protec- ción efectiva contra los ataques tales como la Inyección de Comandos del Sistema Operativo, XSS/ Cross-Site Scripting e Inyección SQL. El Peligro desde el Exterior El principal peligro para los servidores web, y por ello la principal preocupa- ción de los administradores, es la inyección de comandos del sistema operativo en el contexto del servidor web. En enero de 2005, por ejemplo, los expertos en seguridad des- cubrieron que la herramienta de estadísticas web Awstats permitía a los usuarios inadver- tidamente ejecutar comandos arbitrarios. La cadena awstats.pl?configdir=|echo;echo;ls%20- la%20%2F;id;echo;echo ejecutaba el comando ls -la en el servidor con los permi- sos de Apache. Darle a los atacantes la posibilidad de leer información confidencial almacenada en un servidor web puede ser fatal. El exploit que tenía como objetivo al popular CMS Mambo, descubierto en junio de 2005, introducía sen- tencias SQL en la URL, provocando que la aplicación web suministrase un listado de todas las hash de las contraseñas de los usuarios [7]. Entonces, un atacante podría utilizar la lista para romper estas contrase- ñas, posiblemente utilizando las tablas Rain- bow (tablas con las hash precalculadas). La siguiente URL revela las entradas de las con- traseñas: http://server/mamboU /index.php?option=U com_content&task=vote&id=U %d&Itemid=%d&cid=1&user_rating=U 1,rating_count=(SELECT/**/ifU ((ascii(substring((SELECT/**U /password/**/FROM/**/mos_usersU L a mayoría de los servidores web comerciales sirven contenido diná- mico generado por scripts. La natura- leza de Internet permite que un visitante desconocido desde cualquier parte del mundo pueda acceder al sitio web. Desafor- tunadamente, toda esta interacción entre el visitante y la aplicación web abre una posi- ble vía de ataque. Un atacante con las habi- lidades adecuadas podría utilizar una vul- nerabilidad para obtener un acceso no auto- rizado al servidor web y, una vez dentro, el intruso podría emplear herramientas adicio- nales y trucos para realizar acciones que ni a los desarrolladores ni a los webmasters se les hubiera ocurrido probar nunca. El potencial de daño es enorme, desde la expo- sición de ficheros con contenidos confiden- ciales a comprometer completamente la cuenta del root. ADMINISTRACIÓN Apache ModSecurity El módulo de Apache ModSecurity proporciona una protección extra para el servidor web. Vamos a mostrar por qué esta aplicación de cortafuegos opcional está convirtiéndose rápidamente en la favorita de los webmasters y de los expertos en seguridad. POR HANS KASPARICK Una Protección Mejor con el Módulo de Apache ModSecurity PERRO GUARDIÁN ID Use 0-99,999 #Local - Reglas propias 100,000-199,999 #Reservado para Mod Security 200,000-299,999 #Reservado para las reglas publicadas en www.ModSecurity.org 300,000-; No asignado Tabla 1: Identificadores de Reglas WWW.LINUX-MAGAZINE.ES 60 Número 22

description

mod security apache

Transcript of 060 064 ApacheModSecurityLM22.Crop

  • La programacin limpia de aplicacionesweb proporciona una va para impedir estaclase de abuso, pero el camino est plagadode dificultades. Incluso los programadoresms experimentados son cogidos de vez encuando, ya que las vulnerabilidades en lasaplicaciones web estn ocultas a la espera desurgir antes o despus.

    El mdulo ModSecurity de Apache [1] pro-porciona validacin y una proteccin mejo-rada (Figura 1). El mdulo es bsicamenteuna aplicacin cortafuegos web disponibletanto como un mdulo de Apache como unaaplicacin independiente (GPL con posibili-dad de soporte comercial). El mdulo validalas peticiones entrantes antes de pasarlas a losscripts apropiados basndose para ello en lasreglas especificadas dentro de un conjunto destas. Como en los ficheros de patrones utili-zados por los programas antivirus, las reglascontienen las firmas de las tcnicas de ata-

    ques tpicas.Si una peticin secorresponde conuna de las firmas, elmecanismo especifi-cado por la regla seejecuta. Puede tra-tarse simplemente delbloqueo de la peti-cin o del reenvo dela misma otra pginaweb. El mdulo pro-porciona una protec-

    cin efectiva contra losataques tales como la

    Inyeccin de Comandosdel Sistema Operativo, XSS/

    Cross-Site Scripting e Inyeccin SQL.

    El Peligro desde elExteriorEl principal peligro para los

    servidores web, y por ellola principal preocupa-

    cin de los administradores, es la inyeccinde comandos del sistema operativo en elcontexto del servidor web. En enero de 2005,por ejemplo, los expertos en seguridad des-cubrieron que la herramienta de estadsticasweb Awstats permita a los usuarios inadver-tidamente ejecutar comandos arbitrarios. Lacadenaawstats.pl?configdir=|echo;echo;ls%20-la%20%2F;id;echo;echo ejecutaba elcomando ls -la en el servidor con los permi-sos de Apache.

    Darle a los atacantes la posibilidad de leerinformacin confidencial almacenada en unservidor web puede ser fatal. El exploit quetena como objetivo al popular CMS Mambo,descubierto en junio de 2005, introduca sen-tencias SQL en la URL, provocando que laaplicacin web suministrase un listado detodas las hash de las contraseas de losusuarios [7]. Entonces, un atacante podrautilizar la lista para romper estas contrase-as, posiblemente utilizando las tablas Rain-bow (tablas con las hash precalculadas). Lasiguiente URL revela las entradas de las con-traseas:

    http://server/mamboU/index.php?option=Ucom_content&task=vote&id=U%d&Itemid=%d&cid=1&user_rating=U1,rating_count=(SELECT/**/ifU((ascii(substring((SELECT/**U/password/**/FROM/**/mos_usersU

    La mayora de los servidores webcomerciales sirven contenido din-mico generado por scripts. La natura-

    leza de Internet permite que un visitantedesconocido desde cualquier parte delmundo pueda acceder al sitio web. Desafor-tunadamente, toda esta interaccin entre elvisitante y la aplicacin web abre una posi-ble va de ataque. Un atacante con las habi-lidades adecuadas podra utilizar una vul-nerabilidad para obtener un acceso no auto-rizado al servidor web y, una vez dentro, elintruso podra emplear herramientas adicio-nales y trucos para realizar acciones que nia los desarrolladores ni a los webmasters seles hubiera ocurrido probar nunca. Elpotencial de dao es enorme, desde la expo-sicin de ficheros con contenidos confiden-ciales a comprometer completamente lacuenta del root.

    ADMINISTRACIN Apache ModSecurity

    El mdulo de Apache ModSecurity proporciona una proteccin extra para el servidor web. Vamos a

    mostrar por qu esta aplicacin de cortafuegos opcional est convirtindose rpidamente en la favorita de

    los webmasters y de los expertos en seguridad. POR HANS KASPARICK

    Una Proteccin Mejor con el Mdulo de Apache ModSecurity

    PERRO GUARDIN

    ID Use

    0-99,999 #Local - Reglas propias

    100,000-199,999 #Reservado para Mod

    Security

    200,000-299,999 #Reservado para las

    reglas publicadas en

    www.ModSecurity.org

    300,000-; No asignado

    Tabla 1: Identificadoresde Reglas

    W W W . L I N U X - M A G A Z I N E . E S60 Nmero 22

    060-064_ApacheModSecurityLM22 14/11/06 8:49 pm Pgina 60

  • /**/WHERE/**/id=%d),%d,1)))%s,U1145711457,0))[...]

    La sentencia SQL incluida en esta largacadena es: SELECT password FROMmos_user WHERE id=User-ID. La reglaModSecurity SecFilterSelective ARGSselect.+from captura este ataquedetectando la cadena select y from comocaracterstica del ataque y ste fracasa(Figura 2). Lo que conseguira ver el ata-cante es el mensaje 403 de Apache For-bidden: You dont have permission toaccess (Prohibido: No tiene permiso deacceso).

    Los ataques cross-site scripting sonuna gran amenaza para los usuarios deInternet. Cross-site scripting hace queel atacante ejecute scripts maliciosos enla mquina de la vctima para acceder asus cookies, por ejemplo. Ante esto, eslgico que se filtren los comandos de las peticiones GET y POST.Como el desarrollo del mdulo ModSe-curity est progresando rpidamente, losadministradores que planeen utilizarloestn bien avisados para que comprue-ben el sitio web perteneciente al autor deModSecurity [1]. Este es el lugar al queacudir a por actualizaciones sobre el pro-yecto ModSecurity Rule Sets [2] (Con-juntos de Reglas de ModSecurity), porejemplo.

    Para la mayora de las distribucionesse encuentran disponibles paquetesbinarios de ModSecurity listos para serejecutados. Los usuarios de Debian pue-den ejecutar el comando aptitude installlibapache2-mod-security para instalar elpaquete en sus sistemas; si se tiene Fre-eBSD, pkg_add -r mod_security tendr elmismo efecto. Tras completar la instala-cin, se introduce a2enmod mod-securityen Debian para cargar el mdulo; Fre-eBSD lo hace automticamente. Este art-culo est basado en ModSecurity 1.9.2,

    aunque la popular versin 1.8.7 posee lamayora de las caractersticas que semencionan aqu.

    Primeros PasosLa entrada [Fri Feb 24 11:55:12 2006][notice] mod_security/1.9.2 configured enel fichero error.log de Apache indica queel mdulo ha sido instalado correcta-mente. Para probar si est funcionando,todo lo que se necesita es un conjunto dereglas sencillas (Listado 1). La primeralnea habilita el motor del filtro; lasegunda define las acciones y la terceracomprueba el contenido para la cadenaque sigue, /bin/sh en este caso. Paramantenerlo legible, es conveniente alma-cenar los conjuntos de reglas en ficherosseparados y utilizar include para usarlosen apache2.conf. Los parmetros extendi-dos en la directiva Sec Filter son nuevospara la versin 1.9 y no son soportadospor la 1.8. Si se tiene la versin anterior,habr tambin que reemplazar SecFilter-

    SignatureAction con SecFilterDefaultAc-tion.

    Llamando a la URL http://hostname/index.php?a=/bin/sh en el navegadorweb, se comprobar la regla. Si sta fun-ciona, el mdulo bloquear el acceso ymostrar un mensaje Internal ServerError. El fichero error.log debera conte-ner lo siguiente:

    [Fri Feb 24 14:25:12 2006] U[error] [client 192.168.0.1] Umod_security: Access Udenied with code 500.Pattern match /bin/sh at UREQUEST_URI [id 1001] U[rev 2] [msg /bin/sh attackUattempt] [severity 2] U[hostname 192.168.0.20] U[uri/modsec/index.php?a=U/bin/sh]

    Para hacrselo ms fcil a los administrado-res de sistemas que usen scripts para evaluar

    Apache ModSecurity ADMINISTRACIN

    61Nmero 22W W W . L I N U X - M A G A Z I N E . E S

    Listado 1: Reglas de Prueba

    01 ## Enable ModSecurity02 #SecFilterEngine On03 ## Log faulty requests and deny

    access04 #SecFilterDefaultAction

    deny,log,status:40305 ## Log errors only06 ## SecFilterDefaultAction

    pass,log07 #08 ## Check POST data09 #SecFilterScanPOST On10 #11 ## Check URL encoding12 #SecFilterCheckURLEncoding On13 #14 ## Check Unicode encoding15 #SecFilterCheckUnicodeEncoding On16 #17 ## Accept only Ascii characters 1

    through 25518 #SecFilterForceByteRange 1 25519 #20 ## Reduce server signature to a

    minimum21 #SecServerSignature Apache22 #23 ## Log relevant data only24 #SecAuditEngine RelevantOnly25 #SecAuditLog

    /var/log/apache2/audit_log

    26 #27 ## Do not accept GET or HEAD

    requests in the body28 #SecFilterSelective

    REQUEST_METHOD ^(GET|HEAD)$chain

    29 #SecFilterSelectiveHTTP_Content-Length !^$

    30 #31 ## Content length must be sent

    with each POST request32 #SecFilterSelective

    REQUEST_METHOD ^POST$ chain33 #SecFilterSelective

    HTTP_Content-Length ^$34 #35 ## Discard unknown transfer

    encoding, with the exception ofGET,

    36 ## as this can cause problemswith some clients

    37 #SecFilterSelectiveREQUEST_METHOD !^(GET|HEAD)$chain

    38 #SecFilterSelectiveHTTP_Content-Type \

    39#!(^application/x-www-formurlencoded$|^multipart/form-data;)

    40 #SecFilterSelectiveHTTP_Transfer-Encoding !^$

    01 #SecFilterEngine On02 #SecFilterSignatureAction

    log,deny,status:50003 #SecFilter /bin/sh

    id:1001,rev:2,severity:2,msg:/bin/sh attack attempt

    04 ## Regel fr die Version 1.8:05 ## SecFilter /bin/sh

    Listado 2: Configuracin Bsica

    060-064_ApacheModSecurityLM22 14/11/06 8:49 pm Pgina 61

  • de las peticiones legtimas. Para realizarlo sepuede utilizar una entrada SecFilterDefaultAction,estableciendo los parmetros a pass, log.

    En vez de devolver un mensaje de error 403cuando se rompe alguna regla, ModSecurity per-mitir que se atienda la peticin de cualquierdireccin o sitio web utilizando una entradacomo SecFilterDefaultActiondeny,log,redirect:http://targetpage.com. Los fil-tros ayudan a definir el criterio que ModSecurityaplica a las peticiones HTTP.

    Los filtros siempre siguen el patrn de SecFilterSearchCriterion y en la versin 1.9, el mdulotiene unos cuantos parmetros adicionales parael registro. ModSecurity distingue entre tres mto-dos de filtros: simple (SecFilter wget), selectivo(SecFilterSelective ARGS union. +select) y desalida (SecFilterSelective OUTPUT Fatal error:,deny,status:500).

    Un filtro simple investigar siempre la peticinHTTP completa, mientras que uno selectivo tanslo investigar partes especficas de la peticin.

    Los filtros de salida analizan el contenido ser-vido por el servidor web, impidiendo de estemodo que se muestre si fuera necesario. Un signode exclamacin (!) invertir una regla del filtro.Por ejemplo, SecFilter !htm se aplica a cualquierpeticin que no contenga la cadena html.

    FiltrosLa forma ms simple de poltica de filtrado esSecFilter SearchPattern. La poltica de filtrado

    SecFilter SearchPattern le indica a ModSecu-rity que busque en todas las peticiones GETy POST un patrn y dispare el conjunto deacciones de la poltica por defecto en caso deencontrar una entrada positiva.

    Las claves de bsqueda pueden ser expre-siones simples o expresiones regulares. Lasreglas de filtrado no se aplican directamentea las peticiones, sino a una copia normali-zada. Dicho de otro modo, los caracterescodificados de manera especial (Unicode)(vase Los Peligros del Unicode) se decodi-fican primero y cualquier / de escape que nosea necesaria se resuelve. Los ataques deltipo Null Byte, cuyo objetivo son las vulnera-bilidades de las aplicaciones de los servidoresprogramadas en C o C++, son evitados porel filtro SecFilter hidden

    El patrn de bsqueda que se ha vistocomprueba la peticin HTTP completa. Estaconfiguracin podra ocasionar un granimpacto en el rendimiento del sistema que sepuede aceptar. Una entrada del tipo SecFilter-Selective Location SearchPattern Action per-mite el filtrado de elementos especficos. Lalocalizacin puede ser cualquier variableCGI. La documentacin en lnea proporcionalos posibles valores y explica cmo utilizar-los.

    Como ejemplo de uso de SecFilterSelective,la siguiente sentencia encuentra todos losintentos de acceso que no se originan desdela direccin de red 192.168.0.0/24: SecFilter-Selective REMOTE_ADDR|REMOTE_HOST192.168.0.

    En combinacin con Apache 2, ModSecu-rity puede filtrar la salida de los sitios webs.Si un atacante consigue inyectar con xitocdigo SQL malicioso que mostrase las con-traseas user_password de la base de datos,el filtro SecFilterSelective OUTPUTuser_password deny,status:500 bloquearala salida y no se mostrara. Sin embargo, hayque habilitar el filtrado de salida con SecFil-terScanOutput On para hacer que funcione.

    El filtrado de la salida est desactivado pordefecto y hay una buena razn para ello: lasobrecarga de recursos que lleva asociadaeste tipo de filtrado es considerable, ya queModSecurity comprueba cada contenido quesirve el servidor Apache. El filtrado de salidatambin puede provocar el riesgo de filtrarinadvertidamente el contenido legtimo.

    Si se necesitan proteger mltiples hostsvirtuales que realizan diversas tareas, puedeser interesante el hecho de que ModSecuritysoporte la herencia de reglas por medio dedirectorios. Las reglas de directorio tienenpreferencia sobre las reglas globales:

    posteriormente los ficheros de registro, cadaregla debera tener un ID nico: la Tabla 1proporciona los espacios de nombres reser-vados.

    Registros CoordinadosLa forma ms simple del registro tan slo escribeentradas en el fichero error.log del servidor webApache, aunque esta opcin de escribir en elregistro de errores hace que sea ms difcil el an-lisis posterior.

    Una alternativa a esta solucin de escribir en elregistro de errores, sera considerar la opcin msexhaustiva de registros de auditora mostrado enla Figura 3, la cual fue presentada con la versin1.9 de ModSecurity. Entre otras cosas, la nuevaopcin de registro de auditora soporta la escriturade los eventos en varios archivos de registros dife-rentes, aunque para ello habr que tener habili-tado el mdulo de Apache mod_unique_id.

    Adems de esto, la versin 1.9 y el nuevosoporte para el registro Guardian, es decir, estasversiones pueden pasar informacin de registro aHTTP Guardian [3] que toma el control de IPta-bles y pf firewalls, adems del controlador IDSSnortsam [4]. Por defecto, HTTP Guardian blo-quea a los clientes que enven ms de 120 peticio-nes por minuto o ms de 360 peticiones en cincominutos. El programa est an en fase dedesarrollo, pero funciona bien y est bien docu-mentado.

    Configuracin BsicaSe va a utilizar la configuracin bsica del Listado2 como punto de partida para realizar algunosajustes personalizados. Algo similar a este listadoest tambin disponible en el sitio web oficial delproyecto. Si se pretende probar el conjunto dereglas en un sistema de produccin, es lgico quese intenten registrar las infracciones potencialesdurante la fase de prueba para evitar el bloqueo

    62 Nmero 21 W W W . L I N U X - M A G A Z I N E . E S

    ADMINISTRACIN Apache ModSecurity

    Figura 1: ModSecurity se sita delante del

    servidor web y de las aplicaciones web, pro-

    tegindolos de los ataques.

    El estndar Unicode proporciona unconjunto de caracteres unificado paralos caracteres internacionales. El con-junto de caracteres ASCII utilizaba 7 u 8bits para codificar cada carcter,restringiendo as el nmero a 128 256respectivamente, siendo algunos destos utilizados para propsitos de con-trol. Dependiendo de la versin, Unicodeutilizar hasta 32 bits (4 bytes) para codi-ficar cada carcter. Esto quiere decir queUnicode puede mostrar incluso runas yjeroglficos.

    Como contrpunto, la tcnica de re-escribir los exploits usando Unicode haayudado a los atacantes a saltarse losIDS (Intrusion Detection Systems) en elpasado. Por ejemplo, el carcter / se rep-resenta en Unicode como / y estaclase de ofuscacin podra anular a losIDS. ModSecurity desencripta las cade-nas Unicode estableciendo SecFil-terCheckUnicodeEncoding a On, dn-dole la posibilidad a los filtros de detec-tar los posibles exploits.

    Los Peligros del Unicode

    060-064_ApacheModSecurityLM22 14/11/06 8:49 pm Pgina 62

  • 060-064_ApacheModSecurityLM22 14/11/06 8:49 pm Pgina 63

  • ADMINISTRACIN Apache ModSecurity

    64 Nmero 22 W W W . L I N U X - M A G A Z I N E . E S

    SecFilterRemove 1001

    Este ejemplo simplemente deshabilita laregla ID 1001 mientras mantiene las otras.El siguiente hace justo lo contrario: des-habilita todas las reglas de nivel superiorexcepto la 1002 y la 1003:

    SecFilterInheritance OffSecFilterImport 1002 1003

    Para facilitar la creacin de conjuntos dereglas, el proyecto Modsecurity Rule Sets[2] y el sitio web Gotroot [6] ofrecen con-juntos de reglas preconfiguradas para des-cargarse. Las reglas de Gotroot soportan lasnuevas caractersticas de ModSecurity 1.9,que las hacen incompatibles con las versio-nes anteriores.

    Caractersticas AdicionalesModSecurity posee otras opciones de seguri-dad adems de los mecanismos de filtradosimples. La funcin SecUploadApproveScript/ruta/a/script.sh permite comprobar losficheros que se suban para analizarlos enbusca de virus ejecutando el script que seencarga de disparar al programa antivirus.La documentacin en lnea tiene un ejemplode script. El mdulo tambin configura unachroot jail con la sentencia SecChrootDir/var/www/, impidiendo que los scripts CGIo binarios se salgan de la crcel.

    RendimientoDependiendo de la escala del conjunto dereglas, ModSecurity puede afectar seria-mente el rendimiento del servidor web. Unaprueba con ab muestra el impacto en el ren-dimiento. El banco de pruebas forma partedel paquete del servidor Apache. Se lanza la

    herramienta con lossiguientes parme-tros: time ab -n 500 -c30 http://servidor/phbBB2/index.php.En un sistema conuna CPU mobile Pentium 4 (no Centrino) a1.8 Ghz se midi un tiempo de cerca de 55segundos para el banco de pruebas conApache 2.0.55-a sin ModSecurity.

    Habilitando ModSecurity con laconfiguracin bsica mostrada en el Listado2 se ralentiz el servidor Apache alrededorde un dos por ciento, pero despus de habi-litar el conjunto de reglas modsecurity-gene-ral, tal y como lo proporciona el proyectoModSecurity Rules [6], el servidor webtard del orden del 15 al 20 por ciento msde tiempo en servir las pginas solicitadas.

    Los administradores con servidores webcon bastantes accesos tendrn que tener losconjuntos de reglas tan simples como lessea posible para evitar un gran impacto ensu rendimiento. Adems del nmero dereglas, la complejidad de las utilizadas estambin un factor importante. Si se tienenfiltros con expresiones regulares, el conjuntode reglas consumir muchos ms ciclos deCPU que aqullas con operadores de com-paracin simples. Como regla general:cuanto ms precisa sea la personalizacindel conjunto de reglas para reflejar las nece-sidades del filtrado, menor carga se gene-rar.

    Como Apache 1 no tiene un PCRE regexpengine, al contrario que Apache 2, la cargaen la versin 1 es ligeramente superior. Si unservidor web est expuesto a un ataquemasivo, un conjunto de reglas bien configu-radas de ModSecurity pueden incluso mejo-rar su rendimiento, ya que las peticiones nollegarn en realidad a los scripts.

    Como cualquier otra aplicacin de seguri-dad basada en reglas, la ganancia potencialen seguridad depender de gran medida delconjunto de reglas que se utilice. Dicho de

    otro modo, los ataques que los conjuntos dereglas no cubran explcitamente llegarn alservidor.

    ConclusionesComo barrera adicional contra los ataquesde las aplicaciones web, ModSecurityproporciona un mecanismo de proteccinextra. La efectividad del mismo dependerprincipalmente de la configuracin delconjunto de reglas, como es el caso de lasherramientas de proteccin basadas enreglas. Suponiendo la mejor configuracinposible, el mdulo puede defender alservidor y a las aplicaciones web quealberga de la mayora de los ataques.Una configuracin inadecuada podra dejaragujeros de seguridad e impedir que elservidor sirva parte del contenido legtimo.Cuando se instale ModSecurity, hay queconsiderar cuidadosamente cada regla defiltrado antes de aplicarla.

    Figura 2: En nuestro ejemplo, el mdulo ModSecurity de Apache se

    defiende con xito de un ataque de inyeccin de SQL, registrando el

    intento en el fichero error.log del servidor web.

    Figura 3: El registro de auditora de ModSecurity almacena los detalles y las cir-

    cunstancias que rodean el ataque, adems proporciona al administrador datos

    tiles concernientes a los eventos del da.

    [1] ModSecurity: http://www.ModSecurity.org

    [2] Conjunto de reglas de ModSecurity:http://www.ModSecurity.org/projects/rules/

    [3] Herramientas Apache Httpd: http://www.apachesecurity.net/tools/

    [4] Snortsam: http://www.snortsam.net

    [5] Kit de Herramientas Spread: http://www.spread.org

    [6] ModSecurity reglas: http://www.gotroot.com/ tiki-index.php?page=mod_security+rules

    [7] Mambo, SQL exploit: http://www.milw0rm.com/exploits/1061

    RECURSOS

    060-064_ApacheModSecurityLM22 14/11/06 8:49 pm Pgina 64