Mejorando la seguridad de nuestra instalación de Drupal 8

Enviado por Daniel Muñoz Egido el Sáb, 20/05/2017 - 11:16
seguridad en drupal 8

Antes de empezar con este post, es importante tener clara la respuesta a dos preguntas: ¿es Drupal seguro? y ¿estamos libres de ser atacados?. A esta primera pregunta debemos responder con rotundidad Sí, Drupal es seguro y cuenta con un amplio y dedicado equipo que trabaja exclusivamente en las políticas de seguridad, revisión del código y solución de vulnerabilidades. A la segunda pregunta debemos responder, con la misma rotundidad, No, la seguridad 100% no existe, si bien es cierto que en muchas ocasiones las brechas más importantes no están causadas por el software sino por no seguir unas pautas básicas de protección por parte de los administradores de un determinado sitio web.

Para que los administradores de un sitio bajo Drupal puedan implementar y controlar políticas efectivas de seguridad, disponemos de una serie de módulos contribuidos que nos ayudarán en esta tarea y convertirán nuestras instalaciones en mucho más consistentes.

Security Kit

 

segDrupal-1.png

 

Security Kit es un módulo que nos permite realizar una serie de configuraciones de seguridad con las cuales mitigar los riesgos de explotación de diferentes vulnerabilidades web, como son:

  • Cross-site Scripting (XSS), vulnerabilidad que permite a una tercera persona inyectar en nuestra página web código, normalmente Javascript, con el cual robar información sensible, como pueden ser logins de acceso, sesiones de usuarios, etc.
  • Cross-site Request Forgery (CSRF), por la cual, se fuerza a un usuario legítimo (el cual es al mismo tiempo víctima) a realizar una acción maliciosa sobre un determinado sitio web cundo visita un sitio infectado mediante un código que ejecuta, normalmente, una petición del tipo Request GET de un formulario o una dirección URL.
  • Clickjacking (o secuestro de clic) por la cual se accede a información personal de un usuario cuando hace clic en una página aparentemente inocente. Se suele llevar a cabo normalmente en forma de código embebido o script que se ejecuta cuando un usuario hace clic, por ejemplo, sobre un botón para la realización de una determinada acción.
  • SSL/TLS. Implementación de HTTP Strict Transport Security (HSTS, Seguridad de Transporte Estricta de HTTP) con el fin de evitar ataques de interceptación intermedia y de espionaje de las cabeceras de respuesta.
  • Otras acciones de seguridad, como puede ser la desactivación del autocompletado de los formularios de validación de credenciales por parte de los usuarios.

Login Security

 

seg-Drupal-2.png

 

Login Security nos permite aumentar las opciones de seguridad en las operaciones de acceso por parte de los usuarios registrados a nuestro sitio web. Mediante este módulo se puede establecer:

  • El número máximo de intentos que que se puede utilizar con un login para acceder al sitio antes de que éste sea bloqueado.
  • Denegar el acceso a IPs determinadas temporal o permanentemente.

Entre las diferentes opciones de configuración que encontramos en el área de administración del módulo tenemos:

  • Tiempo de seguimiento: tiempo durante el cual se mantiene un dato en el registro. Transcurrido dicho tiempo, éste es borrado y no se vuelve a tener en cuenta excepto en el caso de los bloqueos permanentes.
  • Número máximo de inicios de sesión fallidos antes de bloquear a un usuario.
  • Número máximo de fallos de identificación desde un determinado host antes de bloquearlo temporalmente.
  • Número máximo de fallos de identificación desde un determinado host antes de bloquearlo totalmente.
  • Número máximo de intentos de entrada fallidos antes de que sea considerado como un ataque.

Entro otros aspectos que podemos configurar se encuentra la posibilidad de mostrar el número de intentos que nos quedan antes de que se bloquee nuestro usuario, desactivar el mensaje de error de fallo al iniciar la sesión y definir qué usuario del sistema recibirá las alertas de un ataque o cuando un determinado usuario es bloqueado por el sistema. También podemos personalizar todos los mensajes que el módulo emite:

 

seg_drupa-3.png

 

  • Mensaje a mostrar en cada fallo de identificación.
  • Mensaje a mostrar cuando un host ha sido bloqueado temporalmente.
  • Mensaje a mostrar cuando un host ha sido bloqueado permanentemente.
  • Mensaje a mostrar a un usuario que ha sido bloqueado.
  • Correo electrónico que recibirá el usuario determinado para informarle que se ha bloqueado a un determinado usuario.
  • Correo electrónico que recibirá el usuario especificado para informarle de que el sitio ha sufrido o está sufriendo un ataque en función de los criterios especificados.

Username Enumeration Prevention

Un ataque por Enumeración de Usuarios consiste en la identificación por parte de un atacante de un listado de los usuarios existentes en un sistema para posteriormente realizar un ataque más sofisticado, normalmente por fuerza bruta. Es decir, una vez conocido el nombre de usuario, ya dispone de la mitad del trabajo hecho y ya podría realizar otro ataque más concreto para intentar averiguar la clave de acceso para dicho usuario, normalmente a través de un diccionario de contraseñas.

La forma más fácil de obtener el nombre de usuario es ir probando con distintos usuarios en el formulario para recuperar la contraseña, ya que al introducir un usuario incorrecto Drupal nos dirá que ese usuario no existe.Cuando el módulo Username Enumeration Prevention está activado, el mensaje de error es reemplazado por uno igual que si el usuario empleado existiera y será devuelto al formulario de ingreso normal, pero en este caso, el mail de confirmación no habrá sido enviado lo cual el atacante no sabrá.

¿Y tú, empleas otros módulos para mejorar la seguridad de tu instalación de Drupal que quieras compartir con nosotros?

 

Comentarios

Daniel Muñoz Egido

Si queréis instalar "Login Security" y tenéis instalado "Super Login" entrarán en conflicto y recibiréis un mensaje de error del sistema y no podréis usar las propiedades dadas por Super Login. Así que, habrá que elegir.

Mar, 13/06/2017 - 10:20 Enlace permanente

Añadir nuevo comentario

Este campo sólo es para verificar que usted es una persona. No será almacenado ni utilizado con ningún otro propósito

HTML Restringido

  • Etiquetas HTML permitidas: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.

Documentación Hoy le informa que los datos facilitados por usted en este formulario serán tratados informáticamente por Documentación Hoy con el objetivo de publicar su comentario a este contenido. Para poder llevar a cabo esta acción necesitamos su consentimiento explícito. Los datos proporcionados se conservarán mientras no solicite el cese de la actividad. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal. En cualquier momento usted puede ejercitar su derecho a acceder, rectificar, limitar o borrar sus datos enviándonos un e-mail a info@documentacionhoy.com. Usted puede encontrar más información en nuestra Política de Privacidad.

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.