Consejos para mantener nuestro sitio Drupal seguro y protegido

Imagen
Bomberos apagando fuego

Mantener nuestro sitio web seguro es algo importante, especialmente si almacenamos información importante, aun y todo, siempre deberíamos preocuparnos por ella. Si queremos evitar estar apagando fuegos en el futuro, deberíamos tomar unas precauciones mínimas.

Aquí van unos consejos que podemos seguir, para mejorar la seguridad de nuestro sitio, todos son muy sencillos de seguir

Mantener Drupal y módulos actualizados

Esto es muy importante, y lo principal, y es que tenemos que mantener nuestro sitio actualizado. Podemos mirarlo en nuestro propio sitio web, en la sección de /admin/reports/updates, aquí tendremos un listado con todos los módulos que tenemos en nuestro sitio web, y aparecerán con un aviso en rojo cuando existe una actualización de seguridad.

Otra manera sencilla de saber cuándo se lanzan las actualizaciones de seguridad, es suscribirse a la newsletter de seguridad de Drupal.org. Si tenemos una cuenta en Drupal.org, podemos ir a nuestro perfil, editarlo e ir a la sección de newsletter, aquí podremos marcar la newsletter de seguridad, y cada miércoles (cuando se lanzan las actualizaciones de seguridad), nos llegaran emails indicando que es lo que se ha actualizado. Las del core, se lanzan el tercer miércoles de cada mes en caso de que existan.

Newsletter de seguridad en Drupal.org

Revisar los permisos de los usuarios

En /admin/people/permissions, podemos ver todos los permisos de nuestro sitio, lo mejor es que revisemos todos los permisos que existen, y si los roles existentes tienen los permisos necesarios. Básicamente, reducir todos los permisos de los roles, a lo justo y necesario, nunca dar permisos de más por si acaso.

Instalar módulos de seguridad

  • Login security nos permitirá limitar la cantidad de intentos de inicio de sesión para evitarnos ataques por fuerza bruta. Además, permite bloquear las IP si estas realizan demasiados intentos.
  • Captcha y Honeypot, estos módulos nos ayudaran a proteger los formularios de nuestros sitios, personalmente me gusta Honeypot ya que no es intrusivo para el usuario, ya que Captcha realiza preguntas.
  • Security Kit es un módulo todo-en-uno, para la seguridad de nuestro sitio, permite configurar varias opciones para minimizar las probabilidades de que nos ataquen y que nuestro sitio sea más resistente a ataques maliciosos.
  • Password policy es maravilloso si nuestra web se basa en una comunidad donde los usuarios se registran, ya que permite establecer una complejidad mínima para las contraseñas, para que los usuarios no usen contraseñas poco seguras.
  • Session limit, como su propio nombre indica, limita la cantidad de sesiones por usuario. Permite que, si un usuario inicia sesión en un navegador distinto, se le cierra la sesión anterior.

La carpeta temporal y private de Drupal, fuera de la raíz

La carpeta temporal es algo obligatoria, y debe estar fuera de nuestro sitio Drupal para que los archivos que se suban no sean accesibles directamente desde la web, si no que sea Drupal quien gestiona el acceso.

Con la carpeta private pasa lo mismo, lo mejor es colocarla fuera de la raíz de nuestro sitio para que Drupal gestione el acceso. En la siguiente imagen podemos ver las carpetas “private” y “tmp” fuera de Drupal, que está dentro de la carpeta “www”.

Carpetas temporal y private fuera de la raiz de Drupal

Extras

Unas pequeñas opciones extra que pueden ayudar con la seguridad:

Añadir un prefijo a las tablas de la base de datos también puede ayudar con la seguridad, mínimamente, pero es aconsejable. Esto es para evitar que alguien externo trate de hacer consultas a las tablas con los nombres predefinidos.

Añadir la opción “trusted_host_patterns” en el archivo settings.php. Esta opción nos sirve para protegernos frente a peticiones externas, se modo que es recomendable establecerla, pongo un ejemplo con mi dominio de nireneko para que os sirva de orientación.

$settings['trusted_host_patterns'] = array(
  '^nireneko\.com$',
);

Y aquí están las mejoras de seguridad que podemos añadir, todas son sencillas, y nos requerirá poco tiempo aplicarlas, y nos pueden ahorrar muchas horas y preocupaciones en el futuro.