Proteger la carpeta /wp-admin con contraseña en Plesk
¿Por qué proteger la carpeta /wp-admin es una capa extra de seguridad vital?
Si tienes un sitio web en WordPress, la carpeta /wp-admin es el centro de control de tu negocio digital. Es donde gestionas entradas, páginas, plugins, usuarios y la configuración general. Precisamente por eso, es el primer objetivo de los atacantes automatizados (bots) que intentan acceder a tu panel de administración mediante fuerza bruta, es decir, probando miles de combinaciones de usuario y contraseña por minuto.
Aunque ya tengas una contraseña fuerte para tu usuario de WordPress, añadir una contraseña adicional a nivel de servidor para acceder a /wp-admin es como poner una segunda puerta blindada antes de llegar a tu oficina. Si un atacante logra pasar la primera (la de WordPress), se encontrará con un muro infranqueable: la autenticación HTTP que configuraremos en Plesk.
En este artículo, te explicaré paso a paso cómo proteger wp-admin con una contraseña adicional usando el panel de control Plesk, una de las herramientas de gestión de hosting más populares y potentes. No necesitas ser un experto en servidores; solo seguir las instrucciones al pie de la letra y entenderás el proceso a la perfección.
¿Qué es exactamente la autenticación HTTP y cómo ayuda a la seguridad WordPress?
La autenticación HTTP (también conocida como protección por directorio o .htpasswd) es un mecanismo que el servidor web (Apache o Nginx) utiliza para pedir credenciales antes de mostrar cualquier archivo de una carpeta específica. Cuando la activas en la carpeta /wp-admin, el navegador mostrará un pequeño cuadro de diálogo pidiendo un usuario y una contraseña.
Imagina esta escena:
- Un bot intenta acceder a
tusitio.com/wp-admin. - El servidor responde con un error
401 Unauthorizedy muestra un cuadro de diálogo nativo del navegador. - El bot no tiene esas credenciales (que son diferentes a las de tu usuario de WordPress), por lo que el acceso se deniega al instante.
Esta medida es extremadamente efectiva porque bloquea el acceso a la raíz del problema. Muchos ataques automatizados se detienen en este punto, ya que no pueden pasar la primera barrera.
[INFO] Esta protección no interfiere con el acceso a tu sitio público. Los visitantes de tu web, los motores de búsqueda (Google, Bing) y los servicios de caché podrán ver tu sitio con total normalidad. Solo se verán afectados los intentos de acceso directo a
/wp-admino/wp-login.php.
Requisitos previos antes de empezar
Antes de lanzarnos a configurar la protección, asegúrate de tener lo siguiente:
- Acceso al panel de control de Plesk con permisos de administrador o de suscripción.
- Tener claro el nombre de tu dominio o subdominio donde está instalado WordPress.
- Una hora tranquila, porque aunque el proceso es rápido, es importante no cometer errores.
- MUY IMPORTANTE: Ten a mano una forma de acceso alternativo al servidor, como el acceso por FTP o el administrador de archivos de Plesk, por si acaso algo sale mal y necesitas revertir los cambios rápidamente.
[WARNING] Si no tienes acceso alternativo (FTP o administrador de archivos), no realices este cambio. Si te equivocas con las rutas, podrías bloquear tu propio acceso al panel de administración. Siempre es mejor prevenir.
Método 1: Proteger la carpeta /wp-admin usando el Administrador de Archivos de Plesk
Esta es la forma más visual y sencilla de hacerlo, ya que no necesitas tocar código manualmente. Plesk tiene una herramienta integrada para ello.
Paso 1: Accede al Administrador de Archivos
- Inicia sesión en tu panel de Plesk.
- En el menú lateral izquierdo, busca la sección "Sitios web y dominios".
- Busca tu dominio en la lista y haz clic en el botón "Administrador de archivos" (suele ser un icono de una carpeta).
Paso 2: Navega hasta la carpeta de tu sitio
Dentro del administrador de archivos, navega hasta la carpeta raíz de tu sitio web. Normalmente se llama httpdocs o public_html. Dentro de ella, deberías ver la estructura de WordPress: wp-admin, wp-content, wp-includes, etc.
Paso 3: Activa la protección por contraseña
- Ahora, debes seleccionar la carpeta
wp-admin. Haz clic en la casilla de verificación que aparece al lado de su nombre para seleccionarla. - Busca en la barra de herramientas superior un botón llamado "Proteger" o "Protección por contraseña" (el icono suele ser un candado).
- Al hacer clic, se abrirá una nueva ventana o sección en la pantalla.
Paso 4: Configura el usuario y la contraseña
- En la nueva ventana, verás un campo llamado "Nombre del área protegida" o "Título del reino". Este es un texto informativo que verá el usuario en el cuadro de diálogo del navegador. Puedes poner algo como
"Zona de administración privada"o el nombre de tu sitio. - A continuación, deberás crear un usuario y una contraseña.
- Usuario: Elige un nombre que no sea fácil de adivinar. Evita nombres como
admin,administradororoot. Algo comojuan_admin_2024es mucho más seguro. - Contraseña: Usa una contraseña robusta. Puedes generar una con el propio botón de Plesk (suele tener un icono de llave o dados). Debe contener mayúsculas, minúsculas, números y símbolos.
- Usuario: Elige un nombre que no sea fácil de adivinar. Evita nombres como
- Haz clic en "Aceptar" o "OK" para guardar los cambios.
Paso 5: Verifica la protección
Abre tu navegador en modo incógnito o privado y visita tusitio.com/wp-admin. Deberías ver el cuadro de diálogo pidiendo usuario y contraseña. Si lo ves, ¡enhorabuena! La primera capa de seguridad está activa.
[TIP] Puedes añadir más de un usuario si necesitas que varios administradores accedan. Solo vuelve a los ajustes de protección de la carpeta y añade un nuevo usuario.
Método 2: Protección manual mediante archivos .htaccess y .htpasswd
Este método es más técnico pero te da un control total sobre el proceso. Implica crear dos archivos de texto: .htaccess (que le dice al servidor que proteja la carpeta) y .htpasswd (que contiene las credenciales cifradas).
[WARNING] Este método es para usuarios que se sienten cómodos editando archivos. Un error de sintaxis en
.htaccesspuede causar un error 500 en tu sitio. Asegúrate de copiar y pegar el código exactamente como se muestra.
Paso 1: Crear el archivo .htpasswd
El archivo .htpasswd debe estar en un lugar seguro, preferiblemente fuera de la carpeta pública del sitio. Sin embargo, en muchos entornos de hosting compartido no tienes acceso a directorios fuera de httpdocs. Si es tu caso, puedes crearlo dentro de una carpeta protegida o en la raíz, pero ten en cuenta que si el servidor no está bien configurado, podría ser descargable. La opción más segura es colocarlo en el directorio raíz de tu cuenta de hosting, un nivel por encima de httpdocs.
¿Cómo crearlo?
- Abre el Administrador de archivos de Plesk.
- Ve a la carpeta superior a
httpdocs(en Plesk, suele ser la raíz de tu suscripción). Si no puedes acceder, colócalo dentro dehttpdocspero en una subcarpeta que crees tú, como_seguridad. - Crea un nuevo archivo llamado
.htpasswd. En el administrador de archivos, haz clic en "Nuevo archivo" y nómbralo exactamente así. - Ahora necesitas generar el hash de la contraseña. No puedes escribir la contraseña en texto plano. Puedes usar generadores online de
htpasswd(busca "generador htpasswd" en Google) o usar una herramienta de línea de comandos si tienes acceso SSH. - El formato es
usuario:hash_generado. Copia la línea generada y pégala en el archivo.htpasswd. Guarda el archivo.
Paso 2: Crear el archivo .htaccess en la carpeta wp-admin
- Dentro del Administrador de archivos, navega a la carpeta
wp-admin. - Busca si ya existe un archivo llamado
.htaccess. Si no existe, créalo. - Haz clic en el archivo para editarlo y pega el siguiente código:
# Proteger la carpeta wp-admin
AuthType Basic
AuthName "Acceso restringido a administradores"
AuthUserFile /ruta/absoluta/a/tu/archivo/.htpasswd
Require valid-user
Es crucial que cambies la línea AuthUserFile. Debes poner la ruta absoluta en el servidor de tu archivo .htpasswd.
¿Cómo saber la ruta absoluta?
-
En el Administrador de archivos de Plesk, la ruta completa suele aparecer en la barra de direcciones o en la parte superior.
-
También puedes crear un archivo PHP temporal con el siguiente código y acceder a él en el navegador:
<?php echo __DIR__; ?>. Te mostrará la ruta exacta de la carpeta donde está el archivo. -
Una vez que tengas la ruta, por ejemplo
/var/www/vhosts/tudominio.com/httpdocs/_seguridad/.htpasswd, pégala en la directivaAuthUserFile. -
Guarda el archivo
.htaccess.
Paso 3: Verificar la protección
Igual que en el método anterior, accede a tusitio.com/wp-admin en una ventana de incógnito. Deberías ver el cuadro de diálogo de autenticación.
[INFO] Si recibes un error 500, es muy probable que la ruta en
AuthUserFilesea incorrecta o que el archivo.htpasswdtenga permisos inadecuados. Revisa que la ruta sea exacta y que el archivo.htpasswdtenga permisos644(lectura para todos, escritura solo para el propietario).
Consideraciones importantes sobre Nginx y Plesk
Muchos servidores modernos con Plesk usan Nginx como servidor web frontal y Apache como procesador de PHP (configuración conocida como "Nginx como proxy inverso"). En este caso, la configuración de .htaccess no se aplicará directamente porque Nginx no la lee.
¿Qué hacer entonces?
Plesk tiene una opción para generar la configuración de Nginx automáticamente desde los archivos .htaccess. Para ello:
- Ve a "Sitios web y dominios".
- Haz clic en "Apache y nginx" (o "Configuración de Apache").
- Asegúrate de que la casilla "Configuración de Nginx" tenga marcada la opción "Sincronizar con la configuración de Apache" o similar.
- Guarda los cambios.
De esta manera, Plesk leerá tu .htaccess y aplicará las reglas equivalentes a Nginx. Si no haces esto, la protección podría no funcionar.
[TIP] Si no estás seguro de tu configuración, te recomiendo usar el Método 1 (el Administrador de Archivos de Plesk), ya que Plesk se encarga de aplicar la configuración tanto a Apache como a Nginx de forma automática y correcta.
Preguntas frecuentes (FAQ) sobre la protección de /wp-admin
¿Bloqueará esto a los buscadores como Google?
No. Los motores de búsqueda rastrean tu sitio web público, no la carpeta de administración. La protección por contraseña solo afecta a quien intente acceder directamente a /wp-admin o /wp-login.php. Tu SEO no se verá afectado.
¿Debo proteger también el archivo wp-login.php?
Sí, es una excelente práctica. Puedes crear un archivo .htaccess en la raíz de tu WordPress para proteger solo ese archivo, o puedes hacerlo desde el Administrador de Archivos de Plesk seleccionando el archivo wp-login.php y aplicando la protección. Sin embargo, proteger toda la carpeta wp-admin ya es un gran paso, ya que wp-login.php redirige a wp-admin y quedará bloqueado indirectamente.
¿Qué pasa si olvido la contraseña de la protección?
No hay problema. Puedes desactivar la protección desde el Administrador de archivos de Plesk (quitando la protección) o eliminando el archivo .htaccess que creaste en wp-admin. Luego podrás configurarla de nuevo.
¿Es compatible con plugins de caché como W3 Total Cache o WP Rocket?
Sí, es totalmente compatible. Estos plugins suelen generar archivos estáticos en la raíz de tu sitio, pero no afectan a la protección de la carpeta de administración. La única excepción podría ser si usas un plugin de seguridad que también modifique .htaccess, pero en general no hay conflicto.
¿Cuál es la diferencia entre esta protección y un plugin de seguridad como Wordfence?
Un plugin de seguridad como Wordfence ofrece muchas más funciones: cortafuegos, escaneo de malware, bloqueo de IPs, etc. La protección por contraseña en Plesk es una capa de seguridad adicional a nivel de servidor que actúa antes de que WordPress se cargue. Es una barrera muy eficaz contra la fuerza bruta, pero no sustituye a un buen plugin de seguridad.
[INFO] La combinación ideal es usar ambos: un buen plugin de seguridad para el contenido y la protección por contraseña en Plesk para el acceso administrativo.
Consejos finales para una seguridad WordPress robusta
Proteger la carpeta wp-admin es un paso excelente, pero no es el único que debes tomar. Aquí tienes un resumen de buenas prácticas:
- Usa contraseñas únicas y robustas tanto para tu usuario de WordPress como para la protección de Plesk.
- Mantén WordPress, tus plugins y temas siempre actualizados.
- Instala un plugin de seguridad que ofrezca autenticación de dos factores (2FA).
- Haz copias de seguridad periódicas de tu sitio.
- Limita los intentos de inicio de sesión para frenar la fuerza bruta.
Proteger tu panel de administración es una de las medidas más efectivas y sencillas de implementar para blindar tu sitio. Siguiendo esta guía, has dado un paso de gigante hacia una seguridad WordPress más sólida.
Si te ha quedado alguna duda, revisa los pasos de nuevo o consulta la documentación oficial de Plesk. ¡Tu web te lo agradecerá!
