¿Es WordPress vulnerable e incumple el RGPD?

Vamos a centrarnos en WordPress como CMS. Y empiezo negando la mayor: WordPress no es inseguro. Es cierto que recibe una enorme cantidad de ataques y que, al ser un software de código abierto, está muy expuesto a vulnerabilidades, pero también es cierto que al ser el software más usado como CMS, también es el más atacado, motivo por el cual se ha ganado esa mala fama. Sin embargo, los ataques exitosos sobre WordPress no tienen tanto que ver con la plataforma en sí, sino con la falta de sentido común de quien lo gestiona. 

Si WordPress no fuese un software seguro, no sería el CMS más usado en el mundo con más del 60 % ni tampoco lo usarían grandes marcas como:

People (https://people.com/

Medidas de seguridad

A continuación, te enumero algunas medidas de seguridad que hay que tener en cuenta:

  • Hosting
    • SSL
    • CDN segura
    • Backups diarios
    • Monitorización de caídas
  • PHP
    • Tener el WordPress con la última versión estable de PHP instalada en nuestro servidor. 
  • Segurizar .htaccess
    • Bloquear el acceso al .htaccess
    • Bloquear el acceso a wp-includes
    • Proteger ciertos ficheros como: wp-config.php, error_log, readme.html, license.txt, etc.
    • Proteger el acceso a themes y plugins
    • Proteger el protocolo XMLRPC
    • Protegernos de los ataques XSS
    • Desactivar índices
  • WordPress
    • Core
      • Mantenerlo actualizado siempre. Sé que las actualizaciones son muy recurrentes y con ciclos de tiempos muy cortos, pero es necesario.
      • Evitar programar más allá del propio theme.
    • Themes
      • Mantener actualizados los themes.
      • Solo tener instalado el theme que usemos y, por si este fallase, el último theme oficial de WordPress.
      • Eliminar themes que no usemos.
      • Securizar con el fichero «functions.php».
    • Plugins
      • Mantener actualizados todos los plugins.
      • Cuantos menos plugins usemos, mejor.
      • Usar algún plugin de seguridad. Para ello estudia bien qué necesitas cubrir y cuál encaja mejor con esas necesidades.  
      • Eliminar todos aquellos plugins que estén desactivados.
    • Traducciones
      • Mantenerlas también actualizadas.
    • wp-config.php
      • Revisar que están establecidas las Authentication Unique Keys.
      • Revisar que se usa un prefijo de base de datos diferente al que viene por defecto wp_. Ojo, hay que prestar atención a este cambio, debería hacerlo un técnico. 
      • Desactivar la edición de ficheros de WordPress.
      • Desactivar el modo debug.
      • Forzar el uso del protocolo SSL para el login y el admin
    • Comentarios
      • Revisar las opciones de moderación de comentarios.
  • Usuarios
    • Definir una buena política de roles de usuario.
      • Solo debería haber uno o dos administradores por sitio web. 
      • El resto de usuarios podrían tener un rol de editor, autor, etc. 
      • Asignar usuarios realmente conociendo el nivel de acceso que necesita cada uno.
    • Cambiar el nombre de usuario, por defecto «admin», por otro más complejo. 
    • Uso de contraseñas fuertes.
      • Esto es una contraseña que incorpore más de doce caracteres con letras, números y signos intercalados.