
Muchos de los ataques son publicación automática de publicidad en los comentarios, inscribir usuario falsos o intentar obtener datos de los usuarios de la web. Segun los datos recopilados a lo largo de los años 2005 y 2010 por desarrolladores de módulos de Drupal, los ataques más frecuentes son:
48% Inyección de código Java Script XSS Cross-site scripting
16% Access bypass
10% Cross-site request forgeries CSRF
7% MySQL injection
4% Arbitrary Code Execution
3% Autentificación / sessión
La Inyección de código Java Script es el ataque más utilizado. Para prevenir estos ataques es esencial actualizar el código de Drupal y sus módulos. El módulo Update nos ayudará a saber que partes de código tienen nuevas actualizaciones. Viene por defecto, solo tienes que activarlo.
No dejar campos de texto en formularios donde los usuarios puedan escribir código o subir archivos de cualquier tipo. Para prevenir esto se utiliza check_plain. También existe filter_xss y filter_xss_admin.
Para escribir consultas a la base de datos se debe hacer utilizando la capa de abstracción que proporciona Drupal. De este modo se respetaran los permisos de acceso a contenidos y se evitara la inyección de código en la base de datos.
Guía para escribir código seguro en Drupal: drupal.org/writing-secure-code. Existen muchos módulos que automatizan tareas de prevención y para aumentar la seguridad de Drupal:
Security Review
drupal.org/project/security_review
Se trata de un módulo que testea los principales errores que hacen que Drupal sea inseguro.
Secure Permissions
drupal.org/project/secure_permissions
Deshabilita la interficie de asignación de permisos y creación de roles. Creando una nueva capa de seguridad para evitar perdidas de configuración o cambios accidentales.
Limitar las sesiones
drupal.org/project/session_limit
Login Security
drupal.org/project/login_security
Para limitar los intentos de login o bloquear el acceso desde determinadas direcciones IP.
Antibot
Para eliminar los envíos de información a través de los formularios de la web por parte de maquinas
MD5 Check
Generar MD5 checksum de todos los archivos de los módulos. Si alguno es cambiado se genera un registro de error en el watchdog.