La Seguridad En Drupal

June 18, 2021

Seguridad en Drupal

A menudo nos preguntan si Drupal posee las características de seguridad adecuadas en comparación a las otras plataformas de gestión de contenidos.

Drupal en realidad tiene un historial muy bueno en términos de seguridad, y tiene un proceso organizado para investigar, verificar y publicar los posibles problemas de seguridad, de la cual se encarga toda una organización (Drupal.org) y su siempre-activa comunidad. Existen empresas que han elegido este CMS solo en base a sus términos de seguridad, tales como:

  • CNN
  • Zynga
  • PayPal
  • Twitter

Con respecto a la comunidad, Drupal tiene una aplicación estricta de los requisitos para obtener un módulo contribuido y publicado en Drupal.org. Nuevos colaboradores pasan por un proceso bien documentado para convertirse en colaboradores de confianza.

El equipo de seguridad de Drupal también está constantemente colaborando con los contribuyentes fundamentales para abordar los problemas de seguridad detectados. Ese equipo de seguridad en conjunto a la comunidad y sus colaboradores, trabajan en constante escrutinio para asegurar la calidad del código.

Otra interrogante es la manera de como Drupal aborda las amenazas comunes de seguridad.

Temas como la inyección de SQL, XSS, CSRF, el secuestro de sesiónes, y otras amenazas conocidas están solventadas en Drupal. El nucleo de Drupal está cuidadosamente diseñado y basado en la seguridad para evitar este tipo de defectos.

¿Cómo Drupal confronta los riesgos de seguridad?

Drupal se basa en un amplio conjunto de APIs que, cuando se usan correctamente, mitigan los riesgos de seguridad comunes. Esta sección es acerca de cómo Drupal aborda los riesgos de seguridad.

• Inyección

Drupal contiene una robusta base de datos de APIs orientada a objetos, lo cual hace que sea difícil para los desarrolladores, crear agujeros de inyección de desinfección de forma automática según los parámetros de consulta y aplicación de una interfaz. La interaccion de las capas de Drupal, donde algunas extensiones puedan ser modificadas y por ende el servidor lo pueda ejecutar con el error, pueden ser limitadas.

• Autenticación y Gestión de Sesiones

Las cuentas de usuario y la autenticación son gestionadas por el núcleo de Drupal. Las cookies de autenticación y el nombre de un usuario, ID y contraseña se gestionan en el servidor para evitar que las autorizaciones sean escalables. Usuarios y contraseñas se depuran y se les realiza el hash, usando un algoritmo basado en el hashing de contraseñas en Portable PHP Hashing y las sesiones existentes son destruidas después de iniciar y cerrar sesión.

• Cross Site Scripting – XSS

Drupal tiene un sistema fuerte para el filtrado de contenido generado por el usuario en la pantalla. El contenido de usuario que no sea de confianza se filtra para eliminar los elementos peligrosos de forma predeterminada. Para los desarrolladores, Drupal tiene al menos ocho funciones de la API para el filtrado de salida y evitar ataques XSS. Cuando se identifican errores, desarrolladores comunes que conducen a vulnerabilidades XSS son mitigados mediante la construcción de valores por defecto más seguras.

• Referencia de Insecure Direct Object

Drupal proporciona a menudo referencias de objetos directos, como identificadores numéricos únicos de cuentas de usuario o el contenido disponible en los campos de URL o de formulario. Si bien estos identificadores revelen información directa del sistema, los permisos de Drupal y el sistema de control de acceso impiden que las solicitudes no sean autorizadas. Los métodos para ofuscación están disponibles a través de la configuración y el código contribuido en la comunidad. Además, la validación y protección contra los ataques de falsificación semánticas se implementa en el núcleo de Drupal a través de la API de formularios.

• La configuración errónea de seguridad

Muchos riesgos críticos, tales como el acceso a los controles del sitio de administración, formatos de texto e información privada son restringidos a una sola cuenta de administrador por defecto.. Documentación de las mejores prácticas para la configuración segura y creación de sitio se proporcionan por drupal.org y hay varios proyectos que llevan a cabo la revisión de seguridad automatizado o implementan configuraciones más seguras.

• Missing Function Level Access Control

El acceso a nivel de función en Drupal está protegido por un potente sistema basado en el permiso que comprueba la existencia de la debida autorización antes que la acción se tome. Para el caso del acceso URL, la comprobación de acceso se integra en todo el sistema de menú de representación y de enrutamiento que significa que la visibilidad de la navegación y las páginas están protegidos por el mismo sistema que se encarga de las peticiones entrantes.

• Cross Site Request Forgery - CSRF

Drupal valida la intención del usuario en acciones, utilizando técnicas estándar de la industria. Las acciones típicas con sideeffects (Tales como las acciones que eliminan objetos de base de datos) se llevan a cabo generalmente con el método HTTP POST. La Drupal’s FORM API implementa fichas únicas para protegerse contra CSRF en las peticiones POST.

Al enfocarnos en los sitios del gobierno, Drupal es siempre el foco de atención, ya que el 24% de todos los sitios .gov en los Estados Unidos están hechos en esta plataforma. Drupal cuenta con más de 150 sitios para el gobierno federal, incluyendo:

Plataformas de código abierto como Drupal no son a menudo considerados como soluciones seguras, pero hemos recorrido un largo camino en la superación de ese mito teniendo en cuenta las empresas e instituciones gubernamentales que confían en él todos los días.