JTSCMS2.png

En un post anterior hablaba sobre los CMS y JackTheStripper, y les mencionaba como iban WordPress y Joomla luego de asegurar el server conJackTheStripper. Pues muchos usuarios me comentaban los problemas que presentaban con Drupal y el día de hoy monté mi server de prueba para determinar exactamente que impedía que Drupal se ejecutara sin problemas.

Decidí crear un post solo con este tema, para ir agregando cualquier solución a futuros problemas que los usuarios puedan aportar.

Según mis pruebas lo único que pude determinar es que algunos paquetes de PHP que drupal necesita , JackTheStripper no los instala, así que será necesario que el usuario los instale manualmente, no lo agregamos a JTS ya que muchas aplicaciones web no hacen uso de esos paquetes y en realidad lo ideal es que no instalemos paquetes que no necesitamos, así que si vas a correr drupal, solo debes instalar estos paquetes:

  • php-xml
  • php-mbstring
  • php-gd

Segun su distro pues harán, un “yum install” o “apt-get install

Una vez tengan esto listo pues pueden hacer el deployment de drupal. Una vez sigan todos los pasos para descargar drupal, copiarlo a la carpeta de su preferencia, y crearle su base de datos, antes de acceder al portal para continuar con la instalacion, deben agregar unas lineas en su archivo de configuración de apache para que ModSecurity no intervenga en algunas funcionalidades de drupal. Lo que tienen que agregar es:

Voy a usar como ejemplo, que copie los archivos a la carpeta drupal.

<LocationMatch “/drupal/install.php”>
    SecRuleRemoveById 981173
</LocationMatch>

<LocationMatch “/drupal/”>
     SecRuleRemoveById 981173
     SecRuleRemoveById 950901
     SecRuleRemoveById 973300
</LocationMatch>

Con esto Drupal funciona sin problemas, con el hardening llevado a cabo por JackTheStripper, ahora bien, mis pruebas fueron algo básicas, ya que no uso drupal, lo ideal aquí es que los usuarios hagan sus pruebas, ya sea publicando contenido, instalando extensiones, etc., y me comenten cualquier problema que presenten para que vayamos ajustando, y que puedan hacer el deployment de Drupal en servidores mucho más seguros. Si se fijan lo que hacemos con estas entradas en la config de apache, es que hacemos una especie de Whitelist para que ModSecurity no bloquee en esas rutas. Si usando drupal ven que algo no les funciona, revisen el log de errores de apache y determinen si es una regla de ModSecurity que lo esta bloqueando, de ser asi verán algo así:

[Fri Apr 17 12:58:17 2015] [error] [client 0.0.0.0] ModSecurity: Access denied with code 403 (phase 2). Pattern match “<(a|abbr|acronym|address|applet|area|audioscope|b|base|basefront|bdo|bgsound|big|blackface|blink|blockquote|body|bq|br|button|caption|center|cite|code|col|colgroup|comment|dd|del|dfn|dir|div|dl|dt|em|embed|fieldset|fn|font|form|frame|frameset|h1|head|h …” at ARGS:description. [file “/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_41_xss_attacks.conf”] [line “281”] [id “973300”] [rev “2”] [msg “Possible XSS Attack Detected – HTML Tag Handler”] [data “Matched Data: <em> found within ARGS:description: the <em>main</em> menu is used on many sites to show the major sections of the site, often in a top navigation bar.”] [ver “OWASP_CRS/2.2.6?] [maturity “8”] [accuracy “8”] [tag “OWASP_CRS/WEB_ATTACK/XSS”] [tag “WASCTC/WASC-8?] [tag “WASCTC/WASC-22?] [tag “OWASP_TOP_10/A2?] [tag “OWASP_AppSensor/IE1?] [tag “PCI/6.5.1?] [hostname “drupal.com“] [uri “/drupal/”] [unique_id “VTE7qX8AAAEAAAeBD6IAAAAD”]

Lo que está en negrita es lo que andamos buscando, que es el ID de la regla de ModSecurity y en uri, la ruta al que debemos colocarle la excepción.

Recomiendo además que sigan una serie de guidelines que están disponibles en Linea que guía a los usuarios sobre como asegurar la instalación de Drupal en sí. De esta manera pueden ademas de contar con un servidor seguro, contar tambien con una instalación de Drupal siguiendo las mejores prácticas de seguridad.

Estaré actualizando el post, a medida que vayan apareciendo posiblemas problemas con sus respectivas soluciones, con el objetivo de que Drupal vaya bien con lo ejecutado por JTS.

 

Fuente: jsitech

Temas Relacionados

¿Quién está en línea?

Hay 5461 invitados y ningún miembro en línea