Cómo enriquecer la seguridad de nuestro sitio web en Drupal

  • Por:

  • 14 Marzo 2022
Drupal Seguridad

Al crear una web desde cero debemos ser conscientes de lo segura que sea la herramienta con la que vamos a trabajar. En este sentido, Drupal como herramienta de gestión de contenidos transmite seguridad, pero no siempre depende únicamente de la herramienta que utilicemos. Es importante mantener tu sitio actualizado ya que las actualizaciones son la principal causa de brechas de seguridad que se producen. Como administrador de la web hay una serie de tareas imprescindibles a realizar. El propio Drupal nos ofrece una lista de consejos de configuración una vez instalado el mecanismo:

-Prevenir que los visitantes se puedan crear sus propias cuentas de usuario. En el caso de que deseemos permitir que los usuarios se hagan sus propias cuentas, a través de Administración>Configuración>Usuarios seleccionemos la opción ‘Visitantes, pero es necesaria la aprobación de los administradores’; el administrador del sitio será el que deba activar la cuenta tras recibir la solicitud.

-Proteger al primer usuario que se crea UID=1 y al que se le otorga además de permisos de administración una sucesión de autorizaciones especiales. Nunca nombrar a este cliente como admin o administrador, puesto que será la primera opción que tomará un posible intruso para efectuar un ataque. También podemos desactivarlo para que no pueda ser utilizado a través del empleo de Drush o del módulo contribuido Paranoia (es necesario tener conocimientos avanzados en Drupal).

-Cerciorarse de que los distintos roles dispongan únicamente de los permisos estrictamente indispensables. Drupal nos posibilita gestionar los permisos de los roles de usuario con gran exactitud para así poder controlar lo que un designado usuario puede hacer dentro de nuestro sitio.

-Conservar el sitio web siempre actualizado y prestar atención a los avisos de seguridad del equipo de seguridad de Drupal.

-Activar y desactivar el modulo Testing (simpletest) tras su empleo, ya que puede ser usado para inyectar código malicioso.

Más herramientas de seguridad

Por otra parte, Drupal nos facilita un grupo de módulos con funcionalidades extra o específicas de seguridad a nuestra instalación.

Captcha

Un captcha es una acción manual que se demanda al usuario para comprobar que ésta no se está llevando a cabo por una máquina. Sirve para proteger principalmente los diferentes tipos de formularios de nuestro sitio web contra el spam.

El más descargado y utilizado con diferencia es reCAPTCHA, con el cual podremos insertar el reCAPTCHA de Google en nuestro sitio. Su instalación es sencilla, aunque es necesario tener una cuenta de Google.

Login Security

Permite configurar el número máximo de intentos que un usuario puede hacer para ingresar a nuestro sitio, bloquear ciertas cuentas por usuario o por IP de manera temporal o definitiva. Además, autoriza configurarlo para que nos envíe notificaciones cuando un usuario que haya sido bloqueado o que esté intentando acceder repetidamente con diferentes combinaciones de usuario y contraseña.

Password Policy

Permite determinar el número de caracteres que las contraseñas de usuario deben tener (mínimo y máximo), si debe haber alguna letra mayúscula o algún carácter especial, etc. Establece un periodo de tiempo tras el cual el usuario o grupo de usuarios tiene que modificar la contraseña. Tiene en cuenta las siguientes cuestiones:

*Tipos de caracteres.
*Dígitos.
*Letras.
*Letras / Dígitos (Alfanuméricos).
*Longitud.
*Mayúsculas.
*Minúsculas.
*Puntuación.
*Ubicación de los dígitos.

Security Kit

Security Kit es un módulo muy completo que nos ofrece una diversidad de opciones de configuración para proteger nuestro sitio de muchos ataques y mejorar así la seguridad, aunque la gran mayoría de ellas requieren que sepamos qué es lo que estamos haciendo porque pueden afectar al rendimiento de nuestro sitio. (Cross-Site Scripting, Cross-Site Request Forgery, Clickjacking y configurar algunas opciones de conexión SSL/TLS).

Automated Logout

Faculta que el administrador del sitio web pueda decretar el tiempo de inactividad de un usuario tras el cual desloguearse. Permite establecer diferentes tiempos de inactividad según el rol del usuario e incluso el no deslogueo de un rol en concreto, como puede ser el de administrador.