Proteger el inicio de sesión en WordPress con una contraseña adicional

Información válida para: packs de Linux, Servidor Dedicado Gestionado y Servidores Root

Puedes aumentar la seguridad de tu sitio web configurando una protección adicional de contraseña para el área de administración (dashboard) de tu WordPress.

Se requerirán dos inicios de sesión diferentes para acceder al dashboard. Esto dificulta el acceso no autorizado de terceros a tu dashboard, por ejemplo, mediante un ataque por fuerza bruta.

Para habilitar la protección con contraseña, crea un archivo .htaccess y un archivo .htpasswd y cárgalos al directorio /wp-admin de tu instalación de Wordpress:

Crear un archivo .htaccess

Un archivo .htaccess es un archivo de configuración que te permite realizar ajustes específicos de directorio en un servidor web compatible (por ejemplo, el servidor web Apache utilizado en un pack de Hosting de IONOS).

  • Crea un nuevo archivo localmente en tu PC utilizando un editor de texto y guárdalo con el nombre .htaccess.
    A tener en cuenta: El nombre del archivo debe escribirse exactamente igual que arriba (el punto al principio es importante). ¡De lo contrario, la protección por contraseña no funciona!
  • Copia las siguientes líneas de código a tu archivo .htaccess:
AuthType Basic
AuthName "Área protegida por contraseña"
AuthUserFile /homepages/xx/xxxxxxxxx/htdocs/[carpeta]/wp-admin/.htpasswd
require user [nombre-de-usuario]
  • Adapta el código copiado en tu instalación de WordPress:
    El string /homepages/xx/xx/xxxxxxxxxxxxx/htdocs/ es un ejemplo de la raíz del documento, es decir, la ruta absoluta a tu presencia en Internet (es decir, el nivel de directorio superior). Puedes averiguarlo en tu área IONOS.

    Reemplaza [carpeta] con la ruta del directorio donde se encuentra tu instalación de WordPress. Por ejemplo, si instalaste tu blog de WordPress en un directorio "wordpress" del mismo nombre, reemplaza "[Carpeta]" por wordpress. Presta atención a las mayúsculas y minúsculas.

    Sustituye el texto [nombre-de-usuario] por cualquier nombre de usuario, por ejemplo webmaster o fulano. También puedes especificar varios nombres separados por espacios para permitir el acceso a varias personas.

    Puedes sustituir el texto del área protegida por contraseña por cualquier texto, por ejemplo, Sólo para personas con información privilegiada o similar.

    El archivo .htaccess finalizado podría tener este aspecto, por ejemplo:
AuthType Basic
AuthName "Área protegida por contraseña"
AuthUserFile /homepages/45/d12345678/htdocs/wordpress/wp-admin/.htpasswd
require user webmaster fulano

Crear archivo .htpasswd

  • Crea un nuevo archivo llamado .htpasswd en tu PC (¡no olvides el punto!).
  • Introduce el nombre de usuario y la contraseña en el siguiente formato:
    [Nombre de usuario]:[Contraseña cifrada]

    Nota: Si configuras varios usuarios, cada nombre de usuario debes comenzar en una nueva línea.

    En el siguiente ejemplo, .htpasswd contiene las contraseñas codificadas para los usuarios webmaster y fulano:
webmaster:$1$FLO9omPh$Toese7ZrlHgsbdYy/JvzA1
fulano:$1$WSEgdzA/$qL9.vM4HivWYsp7E9DHbm/

Cargar .htaccess y .htpasswd a /wp-admin

Para habilitar la protección por contraseña, sube los archivos que acabas de crear al directorio /wp-admin bajo tu directorio WordPress en el espacio web. La protección por contraseña se activa inmediatamente.

A tener en cuenta: Si ya utilizas tu propio .htaccess para el directorio /wp-admin por otras razones, entonces éstas se sobrescribirán en el transcurso de este manual. Sin embargo, puedes simplemente descargar tu archivo .htaccess anterior, añadir las nuevas líneas allí, ajustarlas y luego cargar el archivo de nuevo.

Nota: Si deseas desactivar la protección por contraseña, simplemente elimina ambos archivos de tu espacio web.

Resolución de problemas

Si la protección con contraseña no funciona, comprueba los siguientes puntos:

  • ¿Es correcta la ruta del archivo .htpasswd especificada en el archivo .htaccess?

  • ¿Los nombres de usuario en los archivos .htaccess y .htpasswd son realmente los mismos (presta atención en las mayúsculas y minúsculas)?

  • ¿Introdujiste también la contraseña de forma encriptada en el archivo .htpasswd?

  • ¿Subiste los archivos al directorio correcto (/wp-admin)?

  • ¿Introdujiste la contraseña de forma encriptada en el archivo .htpasswd?