Cómo evitar fallos de seguridad en Drupal
Todo drupalero que se precie sabe que los fallos de seguridad existen en cualquier página web.
Aunque Drupal es uno de los CMS más seguros que existen, y el preferido por la mayoría de portales gubernamentales, como es el caso del Gobierno de Chile, en ocasiones surgen advertencias o problemas de seguridad en Drupal.
En estos casos, nos vemos obligados a tomar medidas extraordinarias, como realizar una nueva actualización de emergencia o instalar un parche.
No obstante, el proceso de notificación, evaluación y corrección de los fallos de seguridad en Drupal está bastante estandarizado y controlado. La Comunidad siempre informa con antelación suficiente, para que podamos realizar actualizaciones de seguridad críticas en Drupal, sin morir en el intento.
Pero, ¿y en el día a día? ¿Qué puedes hacer para mantener a raya la seguridad de tu web Drupal?
Para que no se te pase nada por alto, te dejamos algunos consejos útiles de seguridad que te ayudarán a proteger tu sitio web y a hacerlo lo más robusto posible.
Los mejores consejos de seguridad en Drupal
La información es poder: mantente al día de las novedades sobre seguridad
Hay actualizaciones de seguridad en Drupal que tienen tanta trascendencia que incluso llegan a los medios de comunicación de divulgación general. Sin embargo, no es lo habitual, y es nuestra responsabilidad estar informados de todas las alertas de seguridad que surjan y que puedan afectar a la estabilidad de nuestro Drupal.
¿Dónde puedes informarte de estas alertas?
- Siguiendo en Twitter a @drupalsecurity: el equipo de Seguridad de Drupal hace un tremendo esfuerzo por mantenernos a salvo de los temidos bugs, contándonos sus avances de forma periódica a través de su perfil de Twitter. Recuerda que desde la App móvil de Twitter, puedes seguir a esta cuenta y recibir una notificación cada vez que publique un tweet, seleccionando el icono de la campanita. De esta forma, podrás estar al tanto, en tiempo real, de todo lo que ocurra.
Y nunca viene mal seguir otras cuentas oficiales como @drupal o la de la Asociación Española de Drupal.
-
Suscribiéndote a la newsletter oficial de seguridad: también puedes suscribirte a la newsletter oficial de la Comunidad, a través de tu perfil en Drupal.org, en el apartado ‘My newsletters.
-
Participando en los canales sociales: la Comunidad Drupal es bastante activa y está presente en canales como Slack, Telegram, IRC
Revisa el informe de actualizaciones de Drupal
El informe de actualizaciones de Drupal, que puedes encontrar en esta ruta: /admin/reports/updates, pone a nuestra disposición información muy útil acerca de updates pendientes que tengamos en el portal.
No solo nos avisa de actualizaciones pendientes de seguridad, sino de nuevas versiones disponibles de los módulos instalados o del propio core.
Aún así, si la pereza te puede y no quieres tener que acordarte de entrar en el informe todos los días, tienes otra alternativa: puedes programar notificaciones por email, diarias o semanales, desde la pestaña de ‘Configuración’, añadiendo las direcciones a las que quieres que lleguen estos avisos.
Utiliza el protocolo de seguridad HTTPS
HTTPS es un protocolo que impide que alguien externo pueda cambiar o interceptar el contenido de un portal Drupal.
Este protocolo resulta de especial utilidad para sitios web que guardan datos privados de los usuarios, desde los detalles de la tarjeta de crédito, hasta una simple contraseña.
Además, existe el aliciente de que Google ha empezado a marcar las páginas sin HTTPS como ‘no seguras’, algo que afecta a la visibilidad de las mismas en los resultados de búsqueda.
De hecho, Google y otros navegadores pronto pondrán advertencias en todos los sitios que no usen HTTPS. Así que, si no lo usas, es el momento de proteger tu sitio web con el protocolo HTTPS.
Limita los intentos de acceso al portal
¿Sabes que no debería haber más de tres intentos de acceso a un portal desde la misma dirección IP? Si esto sucede, el acceso al sitio web quedará restringido por un período de tiempo o incluso, podría bloquearse para siempre.
Es por esta limitación que los hackers utilizan diferentes direcciones IP, para que les resulte más fácil entrar un sitio web.
Asegúrate de limitar el número de intentos de inicio de sesión al portal y banear aquellas IPs que intenten forzar la entrada de forma reiterada.
Para ayudarte en esta ardua tarea, te recomendamos el módulo ‘Login security’, que tiene una versión estable para Drupal 8.
El módulo no solo bloqueará a aquellos que intenten entrar en la web a la fuerza, sino que te avisará por email cuando haya algún incidente que vulnere la seguridad de tu Drupal.
Así que ya sabes, no olvides limitar los accesos, ¡puedes ahorrarte muchos problemas!
Cúrrate la contraseña
Puedes instalar todos los módulos del mundo para evitar que te ataquen, pero si tu contraseña es ‘contraseña’, estás pidiendo a gritos que te ataquen.
Existen generadores de contraseñas online que pueden ayudarte a crear contraseñas aleatorias que, aunque difíciles de recordar, son bastantes fuertes.
Para crear una contraseña segura, intenta variar entre letras mayúsculas y minúsculas, números y símbolos. Elige contraseñas que puedas recordar fácilmente y que nadie pueda adivinar.
Si no tienes buena memoria, te recomendamos el módulo ‘Password Policy’. Con este módulo, podrás definir unos estándares a la hora de generar una contraseña, para impedir que se pueda guardar cualquier combinación.
Protege tus formularios
Evita que los bots invadan tu bandeja de entrada e infecten tu sitio, añadiendo un CAPTCHA en tus formularios.
Nosotros te recomendamos el módulo reCAPTCHA que nos funciona bastante bien y está estable en Drupal 8.
Actualiza regularmente el core de Drupal y los módulos contrib
Cuando hay una actualización nueva del core o de un módulo, normalmente va acompañada de un listado de todos los errores o pequeños fallos que se han solucionado en esa nueva versión.
Esto deja una puerta abierta a los hackers para atacar precisamente esas vulnerabilidades, en portales que no se actualizan de forma periódica.
Así que, ¡actualiza lo antes posible, insensato!
Actualiza Drupal con Composer
El proceso manual de actualización del core y de módulos contrib puede resultar bastante tedioso y, además, puede conllevar errores humanos que afecten a los despliegues.
Composer permite agilizar y asegurar el proceso de actualización
Actualizar el núcleo de Drupal con composer es tan sencillo como:
composer update drupal/core --with-dependencies
drush updatedb
drush cr
Ten siempre a mano una copia de seguridad
No importa cuánto lo intentes, a veces los datos se pierden y es cuando piensas: “¡Oh, mundo cruel! Tenía que haber programado las copias de seguridad”.
La copia de seguridad es la mejor forma de restaurar un sitio web dañado y puede ahorrarte muchos quebraderos de cabeza. Si la copia de seguridad se realiza de forma regular, tu problema se resolverá en cuestión de segundos.
That's all folks! Ahora solo queda revisar vuestros Drupal para aseguraros de que cumplen todos estos requisitos. Be safe, my friend!