15 pasos para mejorar la seguridad de tu Drupal 8

Adelante, rellena este formulario y dinos qué necesitas. Estaremos encantados de leerte.

15 pasos para mejorar la seguridad de tu Drupal 8

28 Agosto 2019 admin

  • Drupal 8

Drupal 8 es, casi con toda seguridad, el CMS más seguro dentro de la oferta de scripts basados en open-source. En este post te explicamos qué cosas tener en cuenta para mejorar aún más la seguridad de tu site.

Es habitual que los clientes arqueen las cejas cuando les propones Drupal como gestor de contenidos para su proyecto. El argumento habitual es la complejidad en el desarrollo y su pronunciada curva de aprendizaje.

Muchos de ellos afirman preferir Wordpress porque es más sencillo.

Siendo una valoración respetable, porque en sí misma es cierta, a menudo olvidan otra variable a tener en cuenta: la seguridad del site.

No es infrecuente que los clientes valoren la seguridad como una variable de baja importancia. "¿Quién va a hackear mi site?" se preguntan a menudo. Y en esa pregunta está la primera trampa: no es quién si no qué va a hackear el site.

Antes de continuar veamos el informe 2018 que elaboró Sucuri sobre los sites infectados.

sites_infectados_2018_segun_cms.png

¿Estás más tranquilo ahora eligiendo Wordpress como el CMS de tu proyecto?

Impedir la ejecución de código PHP en procesos de importación ha supuesto un gran avance en la protección de las plataformas desarrolladas en Drupal 8.

La mayoría de los ataques provienen de robots específicos que, mediante complejos procesos iterativos, consiguen encontrar esa rendija -vulnerabilidad- en el sistema.

Teniendo en cuenta que no existe la seguridad perfecta -cualquier consultor experto en seguridad te lo confirmará- sí existen protocolos que pueden aproximarte a esa seguridad plena y, en caso de catástrofe, minimizar el impacto y recuperar cuanto antes el entorno sin pérdidas traumáticas.

Drupal, por la forma en la que ha ido evolucionando, es el CMS open-source más seguro del mercado. Su estructura de desarrollo y las políticas que ha seguido para definir las mejoras de las versiones, lo ponen de manifiesto.

De hecho, una de las razones por las que el núcleo duro de Drupal instó al cambio de la versión 7 a la 8 fue la de mejorar la eficiencia del código e incrementar los niveles de seguridad nativos del core. Detalles como el de impedir la ejecución de código PHP en procesos de importación han supuesto un gran avance en la protección de las plataformas desarrolladas en Drupal 8.

¿Por qué podemos decir que Drupal 8 es el CMS más seguro del mercado?

El Security Team de Drupal está compuesto por casi 40 desarrolladores en todo el mundo y de altísimo nivel. Y, por si fuera poco, en paralelo al equipo de seguridad Drupal dispone de un grupo de trabajo especializado en seguridad cuya función principal es validar las medidas del equipo de seguridad.

Ese volumen de especialistas convierten a Drupal en uno de los software más y mejor auditados del mercado.

La seguridad en Drupal forma parte de su ADN. Basta con revisar cómo es el proceso que debe seguir la comunidad para publicar un módulo contribuido y obtener el famoso sello verde que garantiza el ok del Security Team. En pocas palabras: no todo el mundo puede subir un módulo y antes de ser publicado será revisado por una comunidad especialista en seguridad bastante exigente.

¿Cómo podemos asegurarnos un buen nivel de seguridad en nuestros desarrollos en Drupal 8?

Existen dos vías complementarias: la principal es tener una idea clara del concepto seguridad y eso implica protocolos de funcionamiento. La segunda vía es dotar a nuestras instalaciones de configuraciones específicas.

Protocolos de funcionamiento en Drupal

1. Estar al día de las actualizaciones del core de Drupal y de los módulos contribuidos.

  • Activando un correo en la configuración del update de Drupal.
  • Siguiendo la cuenta @drupalsecurity

2. Revisar periódicamente el informe de estado de tu Drupal.

3. Actualiza inmediatamente tanto el código como los módulos contribuidos ante avisos de seguridad.

4. Dispón de una política de backups totales e incrementales que pemitan la recuperación del entorno. Es recomendable que tales backups se encuentren en servidores distintos a la instalación de tu Drupal.

5. Cuando instales un nuevo site no utilices usuarios maestros como "admin" o "administrator". Es el primero que utilizarán los robots para testar el acceso al site. Pero no borres el usuario maestro: sólo deshabilítalo.

6. Deshabilitar la opción de creación de cuentas por parte de usuarios anónimos.

7. Forzar el uso de contraseñas alfanuméricas de al menos 10 dígitos a los usuarios que necesitarán utilizar el backend de la plataforma. Para esta directriz es útil utilizar el módulo Password Policy.

8. Proteger los formularios mediante funciones reCAPTCHA.

9. Utiliza el protocolo HTPPS. Esta medida no es propia de Drupal y afecta a cualquier web ya que el algoritmo de Google -preocupados por mejorar la transaccionalidad de datos privados- incluye este factor como uno de sus valores para la indexación.

10. Crea tu estructura Drupal para que pueda actualizarse mediante Composer.

11. No utilices módulos que no estén en fase estable y prioriza los módulos con el sello verde del Security Team. Aunque a veces no queda más remedio que utilizar módulos que no estén marcados como estables, deberás extremar la atención ante los avisos de la comunidad.

Un site protegido exige tener una idea clara del concepto seguridad, disponer de protocolos de funcionamiento y dotar a nuestras instalaciones de configuraciones específicas.

Módulos y configuraciones específicas

12. Limita los intentos de acceso al admin mediante el Login Security. Este módulo, además, te permite identificar IP para que las banees temporal o permanentemente.

13.  /user/ es la ruta por defecto para acceder a la administración de Drupal. Con el Rename Admin Paths podrás modificar esta ruta, haciendo que sea invisible para los robots que rastrean URLs de este tipo.

14. Limita el tiempo de login de un usuario. No es infrecuente que los usuarios dejen las sesiones abiertas por pereza o por comodidad. Esta forma de actuar resulta ser uno de los puntos de entrada más habituales en el hackeo de instalaciones. Con el Automated Logout puedes determinar cuánto tiempo puede estar un usuario logado sin actividad... y llegado el momento, cerrarle la sesión. Así evitarás descuidos típicos y obligarás a los usuarios registrados a ser más cuidadosos con sus sesiones.

15. Con el Security Kit  podrás proteger tu site de ataques tan habituales como Ckickjacking o el Cross-site scripting. Es uno de los módulos fundamentales.