Proteger WordPress con contraseña en DirectAdmin
Proteger tu sitio web de WordPress es una tarea fundamental para cualquier administrador. Una de las capas de seguridad más efectivas y sencillas de implementar es la autenticación básica HTTP, que añade una barrera de contraseña adicional antes de que cualquier persona pueda acceder a tu sitio, incluso a la página de inicio de sesión de WordPress.
En este artículo, te guiaré paso a paso para proteger WordPress con contraseña en DirectAdmin. Usaremos la herramienta de gestión de archivos y las opciones de seguridad del panel de control. No necesitas ser un experto en Linux, solo seguir las instrucciones al pie de la letra.
¿Por qué necesitas proteger WordPress con contraseña?
Añadir una capa extra de autenticación es una práctica recomendada por cualquier SysAdmin seguridad que se precie. Aquí tienes las principales razones:
- Bloquea ataques de fuerza bruta: Los bots intentan miles de combinaciones de usuario/contraseña en
/wp-login.php. Con la autenticación básica, ni siquiera llegan a esa página. - Protege sitios en desarrollo: Si estás construyendo tu web, puedes ocultarla del público hasta que esté lista.
- Añade una capa de defensa: Incluso si tu contraseña de WordPress es débil, el atacante necesitaría primero superar la barrera de DirectAdmin.
- Control de acceso: Puedes compartir una única contraseña con tu equipo de trabajo o clientes.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso a DirectAdmin: Necesitas tus credenciales de administrador o de usuario revendedor.
- Un sitio WordPress instalado: Puede estar en cualquier dominio o subdominio dentro de tu cuenta.
- Archivos del sitio: Vamos a modificar el archivo
.htaccess. No te preocupes, es un archivo de texto plano.
Paso 1: Accede al Administrador de Archivos de DirectAdmin
El primer paso es localizar la herramienta que nos permitirá editar los archivos del servidor.
- Inicia sesión en tu panel de DirectAdmin.
- Busca el icono o enlace que dice "Administrador de Archivos". Normalmente está en la sección de "Gestión de Archivos".
- Se abrirá una ventana con la estructura de carpetas de tu cuenta de hosting.
- Navega hasta la carpeta
public_htmlodomains. Si tu dominio principal estudominio.com, lo más probable es que la carpeta raíz de tu sitio seapublic_htmlodomains/tudominio.com/public_html. - Dentro de esa carpeta, busca el archivo llamado
.htaccess. Si no lo ves, asegúrate de que la opción "Mostrar archivos ocultos" esté activada en la configuración del Administrador de Archivos (suele ser un checkbox en la parte superior).
[TIP] Si no encuentras el archivo
.htaccess, puedes crearlo. Haz clic derecho en la carpeta raíz y selecciona "Crear archivo". Nómbralo exactamente como.htaccess(con el punto al inicio).
Paso 2: Crea el archivo de contraseñas (.htpasswd)
La autenticación básica necesita un archivo que contenga los usuarios y contraseñas permitidos. Este archivo se llama típicamente .htpasswd y debe estar en un lugar seguro, fuera de la carpeta public_html para que nadie pueda descargarlo desde el navegador.
- En el Administrador de Archivos, navega a la carpeta justo por encima de
public_html. Por ejemplo, si tu estructura es/home/usuario/domains/tudominio.com/public_html, sube un nivel hasta/home/usuario/domains/tudominio.com/. - Haz clic derecho y selecciona "Crear archivo".
- Nómbralo
.htpasswd(con el punto al inicio). - Haz clic en el archivo
.htpasswdpara seleccionarlo y luego en el botón "Editar" (o haz doble clic sobre él). - Se abrirá un editor de texto. Aquí es donde añadiremos el usuario y la contraseña cifrada.
Generar la contraseña cifrada
No puedes escribir la contraseña en texto plano. Necesitas un hash. DirectAdmin tiene una herramienta para ello:
- Vuelve al panel principal de DirectAdmin.
- Busca la herramienta "Protección por contraseña" o "Password Protection". Suele estar en la sección de "Gestión de Archivos" o "Seguridad".
- En esa herramienta, verás un campo para "Usuario" y otro para "Contraseña".
- Introduce el usuario que quieras (por ejemplo,
adminwp) y la contraseña que desees. - Haz clic en "Generar" o "Crear". La herramienta te mostrará una línea de texto similar a esta:
adminwp:$apr1$xxxxxxxx$yyyyyyyyyyyyyyyyyy - Copia exactamente esa línea y pégala en el archivo
.htpasswdque tenías abierto en el editor. - Guarda los cambios del archivo
.htpasswd.
[WARNING] Guarda esta contraseña en un lugar seguro. Si la olvidas, tendrás que repetir el proceso para generar un nuevo hash.
Paso 3: Edita el archivo .htaccess para añadir la autenticación
Ahora que tienes el archivo de contraseñas, debes decirle al servidor web (Apache) que lo use para proteger la carpeta de tu WordPress.
-
En el Administrador de Archivos, vuelve a la carpeta
public_html(o la carpeta raíz de tu instalación de WordPress). -
Haz clic en el archivo
.htaccessy selecciona "Editar". -
Al final del archivo (después de cualquier línea existente, como las reglas de WordPress), añade las siguientes líneas:
# Proteger todo el sitio con autenticación básica AuthType Basic AuthName "Acceso Restringido - Zona Privada" AuthUserFile /home/usuario/domains/tudominio.com/.htpasswd Require valid-userImportante: Debes reemplazar la ruta
/home/usuario/domains/tudominio.com/.htpasswdcon la ruta real donde guardaste el archivo.htpasswd. Para saber tu ruta exacta, puedes fijarte en la barra de direcciones del Administrador de Archivos. Por ejemplo, si ves/home/tu_usuario/domains/tudominio.com/, esa es la ruta que debes usar. -
Guarda los cambios del archivo
.htaccess.
Paso 4: Prueba la autenticación
¡Ha llegado el momento de la verdad! Ahora debes comprobar que todo funciona correctamente.
- Abre una ventana de incógnito en tu navegador (Chrome, Firefox, Edge) o usa un navegador diferente.
- Visita la URL de tu sitio web (por ejemplo,
https://tudominio.com). - Debería aparecer una ventana emergente pidiéndote usuario y contraseña. Es la ventana de autenticación básica del navegador.
- Introduce el usuario y la contraseña que creaste en el paso 2.
- Si es correcto, accederás a tu sitio web normalmente. Si no, volverá a aparecer la ventana de inicio de sesión.
[INFO] Este método protege todo el sitio web, incluyendo la carpeta
wp-admin,wp-login.phpy cualquier archivo estático. Es la opción más segura.
Personalización avanzada: Proteger solo wp-admin
Si no quieres proteger todo el sitio, sino solo la zona de administración (/wp-admin/), puedes hacerlo creando un archivo .htaccess dentro de la carpeta wp-admin.
- En el Administrador de Archivos, navega a
public_html/wp-admin/. - Crea o edita el archivo
.htaccessdentro de esa carpeta. - Añade el mismo bloque de código que en el paso 3, pero esta vez la ruta del
.htpasswdsigue siendo la misma (la que está fuera depublic_html). - Guarda los cambios.
De esta forma, los visitantes podrán ver el front-end de tu web sin problemas, pero al intentar acceder a /wp-admin/ se les pedirá la contraseña adicional.
Solución de problemas comunes (FAQ)
Aquí tienes las respuestas a las dudas más frecuentes:
1. Después de añadir el código, el sitio da error 500 (Internal Server Error)
- Causa: La ruta del archivo
.htpasswdes incorrecta. - Solución: Revisa la ruta exacta en el Administrador de Archivos. Asegúrate de que no tenga errores tipográficos y que el archivo
.htpasswdexista en esa ubicación.
2. La ventana de autenticación no aparece
- Causa: El archivo
.htaccessno se está leyendo correctamente. Puede que tengas un plugin de caché o que el servidor no tenga habilitadomod_rewrite. - Solución: Verifica que el archivo
.htaccessesté en la carpeta correcta y que no tenga errores de sintaxis. También puedes intentar añadir las líneas justo al principio del archivo.
3. Olvidé la contraseña de autenticación
- Solución: Vuelve a la herramienta "Protección por contraseña" de DirectAdmin, genera un nuevo hash con el mismo usuario o uno nuevo, y actualiza el archivo
.htpasswd.
4. ¿Puedo tener varios usuarios?
- Sí. Solo tienes que añadir una línea por cada usuario en el archivo
.htpasswd, generando el hash correspondiente para cada uno.
Conclusión: Una capa de seguridad imprescindible
Proteger WordPress con contraseña en DirectAdmin mediante autenticación básica es un proceso sencillo que cualquier SysAdmin seguridad debería dominar. No solo te protege contra ataques automatizados, sino que te da control total sobre quién accede a tu sitio.
Recuerda que esta es una capa adicional, no un sustituto de las buenas prácticas de seguridad en WordPress (como mantener todo actualizado, usar contraseñas fuertes y limitar los intentos de inicio de sesión).
[TIP] Si algún día quieres desactivar esta protección, simplemente elimina o comenta (añade un
#al inicio) las líneas que añadiste en el archivo.htaccess. Guarda los cambios y listo.
Ahora ya tienes las herramientas para reforzar la seguridad de tu WordPress. ¡Manos a la obra!
