Hemos desarrollado, en colaboración con Francisco Torres de Giga4, una intranet en 3 idiomas gestionada integramente con WordPress para la consultora Barrabés Meaning.
El cliente final, del que no podemos dar más detalles por acuerdos de confidencialidad, requería una web con un sistema de permisos complejo y particularmente segura por temas de protección de datos y tendría que someterse a varias pruebas de pentesting. La verdad es que WordPress, “out of the box” tiene una seguridad más que buena. Ya que del proyecto no podemos contar más, aquí os dejo algunos detalles sobre seguridad:
Respecto al tema de las contraseñas, por defecto WordPress lo hace bastante bien. Las guarda cifradas con MD5 y el proceso de recuperación es enviando un enlace para resetearla (no la manda nunca en texto plano). Una vez se usa, el link ya no es válido y, a partir de la versión 4.3 de WordPress, si no se usa antes de 24h también caduca (el periodo se puede hacer más corto si es preciso).
Sobre esto se pueden añadir mejoras -que nosotros aplicamos siempre- como añadir “Salt Keys” para los Hashes de las contraseñas y forzar contraseñas seguras, entre otras cosas. También es posible obligar a los usuarios a actualizar su contraseña cada cierto tiempo o añadir autenticación en dos pasos, pero para la mayoría de los casos estas dos medidas resultan excesivas y no las solemos aplicar.
Esto en cuanto a la gestión de usuarios, pero aparte se pueden y deben añadir otras mejoras de seguridad a nivel de la instalación de WordPress: Ocultar la versión que se está usando, modificar URLs por defecto tanto para el login como para los assets, limitar intentos de login desde una misma IP para evitar ataques de fuerza bruta, cambiar el prefijo de las tablas en base de datos, monitorizar los logins y las modificaciones de archivos, desactivar funcionalidades que no se van a usar como el XML-RPC o los comentarios y tener todo siempre actualizado, por supuesto.