La seguridad es una de las principales preocupaciones cuando hablamos de CMS como WordPress. No podemos olvidar el famoso caso de los Panama Papers, motivado por la falta de actualización y mantenimiento de un plugin de WordPress y un Drupal anticuado.
Tu responsabilidad como propietario o responsable de un sitio en WordPress es mantenerlo correctamente actualizado y al día en materia de seguridad. No en vano, se trata de una de las plataformas CMS más hackeadas en todo el mundo, entre otras cosas porque alrededor del 26% de webs de todo el mundo están realizadas gracias a esta plataforma.
No hay que ser un experto para llevar a cabo este cometido, pero la dejadez y quizás no darle la suficiente importancia hacen que nuestra web, sin saberlo, pueda haber sido comprometida. El motivo que tienen los hackers para ello más allá del antiguo defacement, puede ser el utilizar tu plataforma como medio para realizar spam, minar criptomonedas o espiar a tus clientes.
A continuación te ofrezco una serie de trucos de seguridad para mantener tu sitio seguro y actualizado, no al 100 % porque la seguridad completa no existe, pero si lo suficientemente protegido.
Estos consejos están divididos en cuatro secciones diferentes:
Como asegurar la página de inicio de WordPress y el panel de administración.
Consejo nº 1: no utilizar «admin» como nombre de usuario.
Si bien en pasadas versiones de WordPress era el nombre dado por defecto al usuario Administrador, en la actualidad se permite al instalador nombrar como prefiera a la cuenta de administración. Por este motivo, si tienes una instalación antigua, puedes crear un usuario como permisos de administración con otro nombre y eliminar ésta, o bien acceder a la base de datos y renombrar el nombre de usuario. A la hora de realizar ataques de fuerza bruta al panel de acceso, los hackers normalmente es el primer perfil que intentan comprometer.
Consejo 2: crear una contraseña segura.
De nada nos sirve crear un nombre de usuario único si como contraseñas utilizamos claves sencillas y predecibles («123456», «password», «qwerty»…). En las nuevas versiones de WordPress, cuando creamos un nuevo usuario nos sugiere una contraseña con cierta complejidad. Sólo en el caso de que queramos introducir otra que no cumpla esos criterios, tendremos que confirmarlo haciendo click en «Confirma el uso de una contraseña debil».
Para conseguir una contraseña segura, bien podemos ayudarnos en páginas como https://strongpasswordgenerator.com/, o bien utilizar combinaciones de caracteres fáciles de recordar pero difíciles de encontrar en un diccionario utilizado para realizar ataques de fuerza bruta, como por ejemplo tu nombre y apellidos combinados con números y caracteres especiales (por ej: francisco barral sería F4ANC1SC0+BA44A1).
Otra recomendación sería el cambiar la contraseña de forma regular y no compartir la misma en otros portales web. De esta manera, si una de estas web es hackeada, podrían buscar en otras webs acceso con estas claves.
Consejo 3: incorporar autentificación de 2 factores.
Es una de las mejores maneras de proteger tu acceso a WordPress. De igual manera que cuando haces una operación bancaría necesitas aportar información extra para seguir adelante con la operación. En este caso, al intentar acceder al Panel de Autentificación, tendrías que confirmarlo en tú movil con una clave que se genera automáticamente. Sería necesario pues disponer de la clave de acceso y el código de autorización que te es enviado para poder acceder al Panel de Administración.
Para ello dispones de plugins como son el de Google Authenticator o Latch que te facilitan la labor de crear esta doble capa de seguridad.
Consejo 4: personalizar la URL de inicio de sesión.
De nada sirve intentar realizar ataques de fuerza bruta a un panel de acceso si no conseguimos saber cual es su dirección. De forma predeterminada, para poder acceder al backend de WordPress lo debemos realizar a través de wp-login.php. La manera más fácil de evitarlo es modificar dicha acceso gracias a plugins como iThemes Security. Gracias a este plugin podemos, además de cambiar dicha dirección, limitar aspectos como los intentos de acceso fallido, desactivar el acceso al backend, establecer permisos de archivos, busqueda de archivos modificados y muchas otras características.
Consejo 5: actualizar a HTTPS.
Gracias al protocolo HTTPS, la conexión entre el navegador web y el servidor va cifrada. Esto evitará que el tráfico, en el caso de ser interceptado, pueda analizarse.
Consejo 6: asegurar el directorio wp-admin.
Si tapiamos la entrada, dificilmente podrán entrar en nuestra casa. De igual manera, si ademas de fortificar el acceso mediante nombres de usuario dificiles de imaginar con passwords con igual dificultad, protegemos el directorio wp-admin con una contraseña, conseguiremos una doble seguridad. Se trata de poner cuantos más impedimentos mejor cara a un intento de intrusión.
Otra manera de impedir el acceso al panel de administración es limitando su acceso por IP. Esto lo llevaríamos a cabo creando dentro del directorio wp-admin un archivo llamado .htacces con las siguientes reglas:order deny, allow
allow from NUESTRA IP
deny for all
Esta limitación sólo la podríamos llevar a cabo si poseemos un IP fija.
Como mejorar la seguridad de los temas y plugins de WordPress
Consejo 7: elimina los themes y plugins no utilizados.
Tener en tu instalación de WordPress themes y plugins desactivados permiten por un lado, ralentizar la carga de tu web y por otra, facilitar a los hackers una via de entrada complementaria. Hay que tratar de evitar posibles vulnerabilidades en tu instalación y si estás utilizando estas funcionalidades, ¿por qué motivo tenerlas instaladas?.
Consejo 8: manten actualizados tus themes y plugins.
El core de WordPress junto con sus themes y plugins han de estar permanentemente actualizados. Si bien es recomendable no permitir las actualizaciones automáticas, dado que puedes tener problemas de compatibilidades, hay que llevar un constante seguimiento de ellos porque las actualizaciones no sólo evitan un potencial problema de seguridad, sino que gracias a ellas se solucionan errores y problemas de rendimiento.
Consejo 9: NUNCA, NUNCA, NUNCA descargues plugins gratuitos.
Podemos sentirnos tentados al hacerlo, pero el que pone a nuestra disposición de forma gratuita plugins por los que hay que pagar una licencia, no lo hace de forma gratuita. Su interés es tener acceso al backend de tu instalación y una vez allí corromper tu instalación.
Como fortalecer la seguridad de la base de datos
Consejo 10: renombrar el prefijo de las tablas de WordPress.
Por defecto, WordPress trae como prefijo de sus tables «wp_». Si por algún motivo nuestra instalación es vulnerable a una ejecución SQLinjection, le habremos facilitado la tarea al hacker ya que dispondrá del nombre de las tablas a consultar. Para personalizarlo, habrá que acceder al archivo wp-config.php y renombrar $table_prefix = ‘wp_’ por otra menos predecible como $table_prefix = ‘0Jk77_’
Consejo 11: realizar copias de seguridad con regularidad.
Hasta que tenemos una desgracia no nos acordamos de ello, pero las copias de seguridad de nuestra instalación son el salvavidas que nunca debemos de olvidar. Muchas empresas han tenido que cerrar al perder por completo sus bases de datos donde estaban registrados sus clientes, facturas y otros aspectos de interés para su negocio. Deberás realizar las copias de seguridad con regularidad en función de las características de tu negocio. No es lo mismo un sitio estático, con pocas publicaciones mensuales o semanales, que una tienda online con mucho movimiento donde deberemos realizar copias de seguridad de forma contínua.
Como proteger el entorno de WordPress
Consejo 12: Elige un hosting confiable.
Por mucho que hayas securizado tu instalación, si tu proveedor de alojamiento es un desastre, de poco servirá. Según una encuesta, más del 40% de las intrusiones en WordPress fueron gracias a vulnerabilidades en el servidor que los alojaba.
El tipo de alojamiento que has de contratar vendrá determinado por las características de tu negocio. En función de las visitas que registre tu página web, su procedencia o si te dedicas al comercio online, los requisitos variarán.
Consejo 13: Proteje el archivo wp-config.php a toda costa.
Toda la información confidencial relacionada con tu instalación está en este directorio. El usuario, su password y las claves de seguridad y sus salts están en este archivo. Una manera de protegerlo es evitar su lectura incluyendo en directorio principal de tu instalación estas directivas en el archivo .htaccess:<Files wp-config.php>
order deny, allow
deny for all
</Files>
Consejo 14: Desactiva el listado de directorios
Los «índices de directorio«, también conocidos como «indexación de directorio«, «vistas de directorio» o «listados de directorio«, son fáciles de deshabilitar usando un pequeño código en .htaccess.
De forma predeterminada, los servidores Apache mostrarán el contenido del archivo de cualquier directorio que no incluya un archivo de índice. Por ejemplo, si su directorio no incluye un index.html, index.php o un archivo de índice similar, Apache mostrará su contenido para que lo vea todo el mundo.
Para evitarlo, es suficiente con escribir esta directiva en el archivo .htaccess.Options -Indexes
Consejo 15: Permisos de directorio.
La configuración estandar, sin entrar en modo paranoico, es la de establecer los permisos 755 para tus directorios y 644 para los archivos. Puedes realizarlo a través del Administrador de archivos o accediendo mediante SSH si tu alojamiento tiene implementado dicho servicio.
Consejo 16: Utilización de plugins de seguridad.
Son muchos los plugins orientados a la seguridad que facilitan las tareas antes mencionadas. Configurarlos nos puede llevar tiempo y dedicación, pero será necesario para mantener segura nuestra web. Entre los principales tenemos a Wordfence, iThemes Security y All in One Wp Security and Firewall.
Tus comentarios son bien recibidos...