Mejorar la seguridad en WordPress depende de ti

Los expertos en Seguridad WordPress saben bien dos cosas:

  1. La seguridad es como una cebolla, con muchas capas.
  2. La seguridad total nunca se alcanza.

Sigue leyendo porque además de comprender estos dos hechos, cumplirás tu objetivo de mejorar la seguridad en tu web. Fíjate bien porque algunas de las recomendaciones en seguridad son un must para tu proyecto con WordPress.

 

Seguridad en WordPress

Alcanzar la seguridad total de una web no es posible. Intervienen demasiados factores, entre ellos los humanos o el hecho de que cada día se descubren y explotan nuevas vulnerabilidades software. Sin embargo, hay que luchar por tener la mayor seguridad posible. Como responsable de una web es fundamental que dediques suficientes esfuerzos para aumentar la seguridad. WordPress es el CMS (Content Management System) más utilizado del mundo. Debido a ello, muchos atacantes con malas intenciones se han especializado en Seguridad WordPress. Conocen sus puntos débiles y las configuraciones por defecto que permiten explotar fallos de seguridad, vulnerabilidades WordPress o configuraciones no robustas. Aunque no seas un experto en WordPress, siguiendo nuestras recomendaciones de seguridad podrás frenarles con éxito.

Más del 30% de los sitios Web del mundo usan WordPress. Fuente: BuiltWith Trends

A continuación, te mostramos un total de 7 consejos esenciales para proteger WordPress, concretamente para que el acceso a WordPress en 2019 sea más seguro. No dejes de ponerlos en marcha cuanto antes, para que luego no haya sustos con ataques o problemas de seguridad en vuestra web.

  • #1 Actualizaciones de seguridad
  • #2 Utilización de HTTPS
  • #3 Actualizaciones de seguridad
  • #4 Política de contraseñas robustas
  • #5 Limitar altas y accesos
  • #6 Cambiar dirección administración
  • #7 Doble factor de autenticación

 

Consejo Seguridad WordPress nº1: Actualizaciones de seguridad – MUST

Se trata de la recomendación fundamental en seguridad de WordPress. Las actualizaciones, especialmente aquellas relativas a vulnerabilidades de seguridad, son la mejor arma contra cualquier ataque web. Este principio también aplica cuando estamos centrados en un acceso seguro a nuestro sitio web. Ten en cuenta que no siempre es buena idea cambiar de versión principal, como por ejemplo a un WordPress 5.0 recién liberado. Sin embargo, es muy buena práctica actualizar cualquier parche de seguridad que normalmente vienen en forma de cambios en la versión menor (WordPress 4.9.6 -> WordPress 4.9.7).

Continuamente se detectan fallos y vulnerabilidades de seguridad de cualquier sistema informático en uso. En sitios web como CVE Details podéis encontrar interesantes estadísticas de vulnerabilidades de seguridad en WordPress. Las actualizaciones del CMS van incluyendo los parches de protección para todos los agujeros de seguridad detectados.

Asegúrate de que tu versión de WordPress esté bien actualizada. Para ello la mejor fórmula es ir a Escritorio -> Actualizacionespara comprobar que tienes todo al día.

Por supuesto, aprovecha y revisa que también tienes todos tus plugins actualizados. Tanto los plugins como los temas obsoletos suelen ser una forma de dejar la puerta abierta al atacante. Trata de utilizar plugins y temas actualizados e instalados de fuentes fiables como wordpress.org. Además, limita su instalación y elimina aquellos que no sean necesarios.

 

Consejo Seguridad WordPress nº2: HTTPS – MUST

El hecho de que Google Chrome, el navegador web más utilizado en el mundo, marque como no seguros los sitios web que utilizan el protocolo HTTP, es más que significativo. Actualmente se requiere que cualquier web profesional sirva su contenido mediante el protocolo HTTPS (Hypertext Transfer Protocol Secure). Simplificando mucho, HTTPS significa que la comunicación entre el cliente – usuario desde su navegador – y el servidor web se realiza a través de un canal cifrado. De esta manera un atacante que estuviera escuchando el tráfico, no podría extraer información tan sensible como la contraseña de los usuarios. Se trata de una medida de seguridad imprescindible para proteger WordPress o cualquier sitio web.

Desde 2016, la iniciativa de Let’s Encrypt ha impulsado definitivamente la utilización del protocolo HTTPS, al permitir certificados X.509 gratuitos. Actualmente, casi todos los proveedores de hostings de WordPress lo incluyen en sus servicios sin coste añadido. Pregunta en tu hosting WordPress y no dudes en utilizarlo. Por supuesto, también ayudará a un buen posicionamiento web.

Consejo Seguridad WordPress nº3: administrador por defecto

El usuario administrador es el maestro que tiene las llaves de tu web de WordPress. Por eso es importante protegerlo al máximo. Cuando se vaya a instalar WordPress se recomienda utilizar un nombre de usuario diferente a admin, que es el más habitual y el que se utilizaba por defecto en versiones antiguas de WordPress. En nuestro ejemplo hemos establecido adm-seguro como nombre de usuario administrador.

Mejora la seguridad con un usuario administrador diferente a admin

Si en tu caso ya tienes el usuario admin creado, también tiene solución. Puedes modificarlo accediendo a la base de datos, normalmente a través de phpMyAdmin. O incluso puedes crear un nuevo usuario con permisos de administrador y eliminar/desactivar la cuenta admin.

Ocultar login de los usuarios

Pero esto no queda así. Es importante limitar las pistas sobre los usuarios. Si un atacante deseara conocer el login de un usuario para entrar en la administración, podría acceder a una dirección parecida a esta:

http://www.wordpress-seguro.com/?author=1

Obtención del login de usuario accediendo a la URL /?author=1

Para evitarlo vete a Usuarios -> Todos los usuarios y pulsa en Editar debajo del usuario administrador.

Acceso a la lista de usuarios para modificar al usuario administrador

En la sección de Nombre se puede especificar el alias que se desea mostrar públicamente. Establece un alias (ejemplo: administrador-wp-seguro) y selecciónalo convenientemente.

Edición del alias del usuario administrador para que sea visible.

Si ahora alguien trata de adivinar el login del usuario administrador, obtendrá un alias que no servirá para acceder a la administración de WordPress.

Vista de la página de autor con el alias del usuario administrador modificado.

Puedes realizar un cambio similar para el resto de usuarios registrados en tu web. Lamentablemente, aunque esto reduce las posibilidades de ataques, hay otras formas más avanzadas de obtener los usuarios de un sitio. Os resumimos cómo podéis evitarlas:

Limitar la enumeración de usuarios a través de la URL de autor

Si en Ajustes -> Enlaces permanentes tienes establecida que la URL de las páginas se basará en el nombre de la entrada, la dirección en la página de autor cambiará automáticamente. Por ejemplo de http://www.wordpress-seguro.com/?author=1 a http://www.wordpress-seguro.com/author/adm-seguro/. Esto es habitual para favorecer el posicionamiento SEO.

Para solucionarlo se puede hacer de variar formas. Por ejemplo, añadiendo lo siguiente en el fichero .htaccess:

# Poner al final del .htaccess para redirigir peticiones como www.wordpress-seguro.com/?author=1 a la home page
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]

También se puede arreglar con un plugin de WordPress específico o bien añadiendo el siguiente código en functions.php, para redirigir todas las peticiones de páginas de usuarios a la página principal de tu web.

function redirect_to_home_if_author_parameter() {
   $is_author_set = get_query_var( 'author', '' );
   if ( $is_author_set != '' && !is_admin()) {
      wp_redirect( home_url(), 301 );
      exit;
   }
}
add_action( 'template_redirect', 'redirect_to_home_if_author_parameter' );

Limitar la enumeración de usuarios a través de la API de WordPress

Con las últimas versiones de WordPress, también es posible obtener la lista de usuarios accediendo a una dirección como esta: https://www.wordpress-seguro.com/wp-json/wp/v2/users.

Nos saldría una respuesta JSON con todos los datos de los usuarios. Para bloquearla, lo más ágil sería deshabilitardirectamente la API de WordPress si no la utilizas en tu web, utilizando un plugin de seguridad para WordPress como Disable JSON API.

Consejo Seguridad WordPress nº4: política de contraseña robusta

Los atacantes suelen utilizar ataques por fuerza bruta en los que un programa, conociendo una o varias cuentas de usuario, trata de acceder al sistema probando una lista muy larga de posibles contraseñas (normalmente a partir de diccionarios de contraseñas). Así que hay que olvidarse de utilizar una contraseña que sea 123456 o una que sea igual al login de usuario.

WordPress ayuda mucho en la definición de contraseñas seguras, ya que permite generar una contraseña robusta automáticamente.

Algunos requisitos para una política de contraseñas robustas serían los siguientes, tomados de la Oficina de Seguridad del Internauta:

  • Más de 9 o 10 caracteres/dígitos/símbolos. Muchos atacantes saben que, por las políticas de seguridad habituales en las empresas, se establece un mínimo de 8 y gran parte de los usuarios se limitan a utilizar dicha longitud mínima.
  • La contraseña ha de incluir minúsculasmayúsculas (preferiblemente que no sea únicamente la primera letra), númerossímbolos (*, ?, $, #, etc.).
  • No se han de utilizar palabras habituales (web), nombres propios, lugares, fechas de nacimiento, etc.
  • No se han de emplear las mismas contraseñas que en otros sitios web.

Un sitio WordPress seguro no se concibe sin una política de contraseñas seguras

 

Consejo Seguridad WordPress nº5: limitar altas e intentos de acceso

En primer lugar has de deshabilitar el auto registro de nuevos usuarios, a no ser que se trate de una funcionalidad deseable en tu sitio web. Así se limitará en gran medida quién logra permisos adicionales en tu web, añadiendo una capa de seguridad adicional. En los Ajustes Generales de WordPress existe una casilla para evitar que cualquiera pueda registrarse como miembro.

Si no es una funcionalidad necesaria, es mejor no permitir que se registren usuarios.

Otras medidas en esta línea consistirían en utilizar plugins para limitar el número máximo de intentos de acceso o para exigir la utilización de reCaptcha de Google cada vez que se entre a la zona de administración de WordPress.

 

Consejo Seguridad WordPress nº6: cambiar la URL de administración – MUST

La dirección de acceso a la parte de administración en WordPress es la puerta natural por la que intentará adentrarse un intruso con malas intenciones. Así que es mejor que ninguna persona externa pueda conocer dónde se encuentra dicha puerta. Esta es una medida de la denominada seguridad por ocultación y es como una capa más de la cebolla: aunque ya tengas otras medidas de seguridad en funcionamiento, ocultar la página de login en WordPress hace tu sitio más resistente a los ataques.

Por defecto, WordPress habilita la entrada en las siguientes direcciones:

www.wordpress-seguro.com/wp-admin.php 
www.wordpress-seguro.com /wp-login.php

Para evitar que los atacantes hagan ataques por fuerza bruta, se recomienda utilizar un plugin de seguridad para WordPress que modifique la dirección. También se podría hacer el cambio editando ficheros de PHP, pero en este caso podría haber problemas con las actualizaciones futuras de WordPress.

De entre todos los plugins de seguridad de cambio de URL disponibles (iThemes SecurityCustom Login URL, etc.), hemos seleccionado el plugin WPS Hide Login. Es ligero, está actualizado y se ha validado con las últimas versiones de WordPress.

Plugins como WPS Hide Login te ayudan a cumplir con este consejo de seguridad fundamental para evitar ataques.

Una vez instalado y activado, en la página Ajustes -> Generales se habilitará un apartado para WPS Hide Login. En el mismo podremos especificar cuál va a ser la nueva dirección de acceso. Por defecto, esta dirección se va a cambiar a http://www.wordpress-seguro.com/?login, obviamente con tu dominio.

Cambia la página por defecto de acceso a la administración de WordPress

Además, se puede definir una página a la que serán redirigidos los usuarios no logados que intenten acceder a la página por defecto de entrada (wp-login.php o wp-admin).

En la URL de acceso se recomienda utilizar una ruta difícil de adivinar para posibles atacantes, como por ejemplo http://www.wordpress-seguro.com/?admn-77. Por supuesto, no te olvides de guardarla en un sitio seguro. Si se desactiva el plugin WPS Hide Login, la URL de acceso a la administración será la de por defecto de WordPress.

Consejo Seguridad WordPress nº7: doble autenticación

Para finalizar, poniendo la guinda al acceso seguro en WordPress, puedes habilitar un sistema de doble autenticación, abreviando 2FA. Mediante este sistema cualquier usuario que quiera acceder, además de presentar su login y contraseña, deberá identificarse mediante un segundo medio, como puede ser su móvil.

La forma más común de establecer este sistema de doble autenticación en WordPress es mediante un plugin. Aunque hay muchos disponibles, os mostramos a continuación uno de los más comunes: Google Authenticator de Henrik Schack. Tras instalarlo y activarlo, has de dirigirte a Usuarios -> Mi Perfil y generar un nuevo código QR para tu web.

Implanta un sistema de doble autenticación para blindar tu WordPress

En paralelo es necesario que tengas instalada en tu smartphone la app Google Authenticator y escanees este código QR. A partir de este momento, cuando entres a la web de administración de tu web, tendrás que tener a mano tu móvil para escribir también el código de Google Authenticator.

Medidas de Seguridad en WordPress adicionales

Si aplicas estas siete medidas de seguridad estamos convencidos de que cualquier atacante malicioso va a tener que sudar mucho para poder acceder a tu sistema. Además, te recordamos una serie de medidas de seguridad que siempre has de tener presentes.

  • No dejes de utilizar el sentido común: de nada servirían estas protecciones si luego dejas apuntados los datos de acceso en una hoja visible para otras personas. Asegúrate de tener un buen antivirus y un firewall actualizado en los equipos de trabajo desde los que interacciones con el servidor que tenga alojado WordPress. Una VPN de confianza es otra gran medida de seguridad.
  • Revisa las opciones para proteger WordPress que te ofrece tu servicio de hosting. Aparte del certificado SSL para HTTPS, hay que tener en cuenta las versiones actualizadas y seguras que ofrezca tanto de PHP como del gestor de base de datos (MySQL, PostgreSQL, MariaDB…).
  • No te olvides de realizar copias de seguridad en WordPress con frecuencia. De esta manera, ante desastres, tendrás la oportunidad de utilizar la última copia de seguridad para restaurar una versión anterior de tu web.

Y por supuesto si necesitas aprender más sobre Seguridad en WordPress o ayuda para blindar o desarrollar cualquier aspecto de tu web, recuerda que en hazlomejor te ayudamos con todo esto.

0