Gravatar de Armonth

Reglas restrictivas en mod_security y como solventarlas

Últimamente veo muchos servidores compartidos que dan problemas con mod_security lo más habitual es que pongan reglas algo restrictivas que hagan saltar filtros que no deberían.

Aunque ya no es la primera vez que me piden consejo, el último caso reciente por lo visto hemos sido nosotros. La entrada anterior iba a publicarla con la palabra “UPDATE” separada en el código MySQL de ejemplo porque Dreamhost recientemente (no sé cuánto, hace tiempo que no escribo código) hace saltar un filtro genérico bastante restrictivo:

[Tue Nov 11 03:58:17 2008] [error] [client xx.xxx.xxx.xx] mod_security: Access denied with code 403. Pattern match "((alter|create|drop)[[:space:]]+(column|database|procedure|table) |delete[[:space:]]+from|update.+set.+=)" at POST_PAYLOAD [id ""][rev "1"] [msg "Generic SQL injection protection"] [severity "CRITICAL"] [hostname "sigt.net"] [uri "post.php"]

Lo suficiente genérico como para que copiar y pegar esa línea del error.log perteneciente a los registros del Apache ya te haga saltar de nuevo el filtro y no te deje escribir la entrada. Aunque da un Error 403, puede pasar desapercibido en mi caso ya que en SigT lo que hace saltar es un Error 404 después de intentar guardar una entrada.

¿La solución? Como siempre: .htaccess. Fichero que ya deberíamos tener en la raíz del dominio. Podemos hacer fácilmente que no afecte al fichero /wp-admin/post.php (donde incluimos nuestras entradas) ya sea por IP:

<IfModule mod_security.c>
SetEnvIfNoCase Remote_Addr ^xxx\.xxx\.xxx\.xxx$ MODSEC_ENABLE=Off
</IfModule>

Por IP y sólo en ése fichero:

<IfModule mod_security.c>
SetEnvIfNoCase Remote_Addr ^xxx\.xxx\.xxx\.xxx$ MODSEC_ENABLE=Off
SetEnvIfNoCase Request_URI ^/wp-admin/post\.php$ MODSEC_ENABLE=Off
</IfModule>

O directamente a cualquier IP pero sólo ése fichero:

<IfModule mod_security.c>
SetEnvIfNoCase Request_URI ^/wp-admin/post\.php$ MODSEC_ENABLE=Off
</IfModule>

Eso sí no estaría de más que ya que reducimos la (¿excesiva?) seguridad de mod_security, pensemos en posibles maneras de reforzar más si cabe la nunca suficiente seguridad del sitio. Y en ello htaccess tiene muchas cosas que decir.

4 Comentarios (feed)

  1. Gravatar de javier javier nos comenta:

    Disculapme, por favor, pero no se como arreglar un problemón que tengo.Tenia en el lateral unos videos y demás, el footer estaba correcto: abajo, centrado y ocupando todo el ancho. Cuando je quitado un video, porque no cuadrba con una nueva entrada que pude, en ese momento el footer se desplazó al lateral. Lo podeis ver perfectamente.
    Si alguien pude decirme como solucionar esta cuestión se lo agradeceria mucho, porque debajo del footer suelo poner una imagen y ahora,claro, ya no puedo hacerlo. Un saludo

    Domingo, 14 de Diciembre/2008 @ 13:39

  2. Gravatar de Armonth Armonth nos comenta:

    Aunque eso no tiene nada que ver con el tema tratado (y además ahora mismo tu página no se ve nada) eso suele pasar porque se borra un div de cierre o se añade uno de más sin cerrarlo… te tocará revisar la plantilla.

    Domingo, 14 de Diciembre/2008 @ 19:22

  3. Gravatar de javier javier nos comenta:

    Bueno, he cambido el lateral el footer y header y nada ,sigue sin verse. estoy apuradisimo porque ahi he puesto mucho tiempo.
    cuando quiero entrar dice:Internal Server Error
    The server encountered an internal error or misconfiguration and was
    unable to complete your request.
    Please contact the server administrator, webmaster@acratas.mihost.info
    and inform them of the time the error occurred, and anything you might
    have done that may have caused the error.
    More information about this error may be available in the server error log.
    Additionally, a 404 Not Found error was encountered while trying to use
    an ErrorDocument to handle the request.

    La ultima vez que funcionó fue cuando me llegó un correo diciendo que
    habia un post y desde el correo te da la opcion de aprobarlo. cuando lo
    estaba aprobando se colgó y hasta ahora.

    También quisiera preguntarte como puedo recuperar los articulos escritos
    pues es mucho trabajo el invertido y al menos si la cosa no va bien
    ponerlo en otro blog y mantener la misma dirección, si puede ser.

    En fin, una gracia y los servidor de vacaciones en la parte norte de siberia.

    Domingo, 14 de Diciembre/2008 @ 21:59

  4. Gravatar de Armonth Armonth nos comenta:

    Ya te digo, esto no es la entrada más adecuada para comentarlo… además el problema que comentas parece más de servidor que de CMS. Yo empezaría una instalación limpia con la base de datos importada (se pueden hacer backups automáticos de forma muy sencilla) a ver si lo soluciona…

    Te tocará buscar información de cómo hacer copias de la base de datos…

    Domingo, 14 de Diciembre/2008 @ 23:24

No seas tímido, da tu opinión

Sé respetuoso con los demás, la diferencia de opiniones enriquece la discusión, los comentarios bajo ciertas circunstancias pueden ser moderados y requerir aprobación.