Proteger la carpeta wp-admin de WordPress con DirectAdmin
¿Por qué es tan importante proteger la carpeta wp-admin?
La carpeta wp-admin es el cerebro de tu sitio WordPress. Es donde residen todos los archivos que te permiten gestionar el panel de control, escribir entradas, modificar temas, instalar plugins y cambiar la configuración global de tu web. Si un atacante consigue acceder a esta carpeta sin restricciones, tiene la puerta medio abierta para intentar forzar tu contraseña, explotar vulnerabilidades conocidas o lanzar ataques de fuerza bruta contra tu usuario administrador.
Proteger wp-admin no es una opción, es una necesidad básica de seguridad. Aunque WordPress ya tiene su propio sistema de autenticación, añadir una capa extra de protección a nivel de servidor (antes incluso de que se ejecute WordPress) reduce drásticamente el riesgo. En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo hacerlo usando el panel de control de tu hosting: DirectAdmin.
DirectAdmin es uno de los paneles de administración de hosting más populares y potentes. A diferencia de otros paneles, te da un control muy fino sobre la configuración del servidor, incluyendo la posibilidad de crear reglas de acceso específicas para directorios concretos. Vamos a aprovechar esa potencia para blindar tu wp-admin.
Antes de empezar: conceptos que debes tener claros
Para que no te pierdas, vamos a repasar tres conceptos rápidamente:
-
IP (Protocolo de Internet): Es la dirección única de tu conexión a internet. Si tienes una IP fija en casa o en tu oficina, podrás restringir el acceso solo a esa IP. Si tu IP cambia (IP dinámica), tendrás que actualizar la regla periódicamente.
-
Directorio: Es una carpeta en el servidor. En nuestro caso, hablamos de la carpeta
public_html/wp-admin(si WordPress está instalado en la raíz) opublic_html/tuweb/wp-admin(si está en una subcarpeta). -
Fuerza bruta: Es un tipo de ataque donde el hacker prueba miles de combinaciones de usuario y contraseña por segundo. Bloquear el acceso por IP o añadir una contraseña extra evita que estos ataques siquiera lleguen a tocar la puerta principal de WordPress.
Método 1: Proteger wp-admin con contraseña adicional (Autenticación HTTP)
Este es el método más recomendado para la mayoría de usuarios. Añade una capa de autenticación extra antes de que se cargue WordPress. Es decir, cuando alguien intente acceder a tudominio.com/wp-admin, el navegador le pedirá un usuario y contraseña adicionales (los que tú configures). Si no los tiene, no verá ni el logo de WordPress.
Paso 1: Crear el archivo de contraseñas
DirectAdmin tiene una herramienta específica para esto. Sigue estos pasos:
- Accede a tu panel de DirectAdmin (normalmente en
tudominio.com:2222). - Busca la sección "Gestión de archivos" o "Administrador de archivos". Haz clic en ella.
- Navega hasta la carpeta raíz de tu sitio (normalmente
public_htmlodomains/tudominio.com/public_html). - Una vez dentro, busca un botón o enlace que diga "Proteger" o "Protección con contraseña". En algunas versiones de DirectAdmin, esta opción está dentro del menú de la propia carpeta.
- Al hacer clic, se abrirá una ventana donde te pedirá el nombre del directorio a proteger. Escribe
wp-admin(sin barras). - Te pedirá un nombre de usuario y una contraseña para el acceso restringido. Elige algo robusto pero que puedas recordar (o usa un gestor de contraseñas). Confirma la contraseña.
- Haz clic en "Guardar" o "Proteger".
Paso 2: Verificar que funciona
Abre una ventana de incógnito en tu navegador y visita tudominio.com/wp-admin. Debería aparecer una ventana emergente pidiendo usuario y contraseña. Si la introduces correctamente, accederás a la página de login de WordPress. Si no, verás un error 401.
[TIP] Guarda esas credenciales en un lugar seguro. No uses la misma contraseña que la de tu usuario administrador de WordPress.
Método 2: Restringir el acceso por IP (Solo tu IP puede entrar)
Este método es más drástico y solo es recomendable si tienes una IP fija. Consiste en decirle al servidor: "Solo acepto conexiones a wp-admin desde esta dirección IP concreta".
Paso 1: Obtener tu IP pública
Puedes saber tu IP pública visitando sitios web como ipinfo.io o whatismyip.com. Anota ese número, lo necesitarás.
[WARNING] Si tu IP es dinámica (cambia cada cierto tiempo), este método te bloqueará a ti mismo cuando cambie. Si no estás seguro, usa el Método 1 (contraseña adicional).
Paso 2: Editar el archivo .htaccess
El archivo .htaccess es el "libro de reglas" de Apache (el servidor web). Vamos a añadir una regla para proteger la carpeta.
- Ve a "Administrador de archivos" en DirectAdmin.
- Asegúrate de tener visible la opción de "Mostrar archivos ocultos" (suele ser un checkbox en la parte superior). El archivo
.htaccessempieza con un punto, así que está oculto por defecto. - Localiza el
.htaccessen la raíz de tu WordPress (enpublic_html). - Haz clic derecho sobre él y selecciona "Editar".
- Añade el siguiente bloque de código al principio del archivo:
<FilesMatch "wp-admin">
Order Allow,Deny
Allow from your_ip_here
Deny from all
</FilesMatch>
- Reemplaza
your_ip_herepor tu dirección IP real. Por ejemplo, si tu IP es123.456.789.10, el bloque quedaría así:
<FilesMatch "wp-admin">
Order Allow,Deny
Allow from 123.456.789.10
Deny from all
</FilesMatch>
- Guarda el archivo.
Paso 3: Comprobar el acceso
Intenta acceder a tudominio.com/wp-admin desde tu conexión actual. Debería funcionar. Si intentas acceder desde otra red (por ejemplo, con el móvil con datos), verás un error 403 Forbidden.
[INFO] Este método bloquea el acceso directo a la carpeta wp-admin, pero ten en cuenta que WordPress necesita ciertos archivos de esa carpeta para cargar el front-end de tu web (hojas de estilo, scripts). Por eso, la regla que hemos usado es muy específica y, en la mayoría de los casos, no romperá tu sitio. Si algo falla, simplemente quita el bloque y vuelve a intentarlo con el Método 1.
Método 3: Combinar ambos métodos (Máxima seguridad)
La combinación de ambos es la opción más segura. Primero, el servidor comprueba que tu IP está en la lista blanca. Si lo está, te pide la contraseña HTTP adicional. Y si la superas, ya pasas al login de WordPress. Tres capas de seguridad.
Para hacerlo, sigue los pasos del Método 1 (crear contraseña) y luego los del Método 2 (editar .htaccess). El orden de ejecución será: primero la regla de IP (.htaccess) y luego la autenticación HTTP (DirectAdmin). Funciona perfectamente.
Método 4: Usar la herramienta "Seguridad" de DirectAdmin (Si está disponible)
Algunas versiones modernas de DirectAdmin incluyen una sección específica llamada "Seguridad" o "Protección de directorios". Dentro de ella, puedes gestionar todo esto de forma más visual.
- En el panel principal de DirectAdmin, busca la sección "Gestión de cuentas" o "Configuración avanzada".
- Busca el icono o enlace llamado "Protección de directorios" o "Password Protect Directories".
- Selecciona el dominio y luego la carpeta
wp-admin. - Marca la casilla de "Habilitar protección".
- Introduce el usuario y la contraseña.
- Si quieres, en el mismo panel, puedes gestionar la lista de IPs permitidas.
Este método es esencialmente el mismo que el Método 1, pero con una interfaz más amigable si tu versión lo tiene.
Solución de problemas comunes (FAQ)
❌ No recuerdo la contraseña que puse para proteger wp-admin
No hay problema. Entra en DirectAdmin, ve a "Protección de directorios", selecciona wp-admin y simplemente cambia la contraseña. No necesitas saber la anterior.
❌ Mi web se ve rota o sin estilos después de aplicar el bloqueo por IP
Esto puede pasar si la regla .htaccess es demasiado restrictiva o está mal escrita. Revisa que el bloque de código esté exactamente como te lo he mostrado. Si el problema persiste, elimina el bloque y usa solo el método de contraseña (Método 1), que es mucho más fiable.
❌ ¿Puedo proteger también la carpeta wp-includes?
Sí, pero es más complejo y puede romper la web si no se hace correctamente. wp-admin es el objetivo principal de los ataques de fuerza bruta, así que es la que debes proteger sí o sí. La carpeta wp-includes contiene archivos críticos que se cargan en cada página, así que no te recomiendo que la bloquees a menos que sepas exactamente lo que estás haciendo.
❌ ¿Esto afecta al rendimiento de mi web?
Para tus visitantes, no. Ellos no necesitan acceder a wp-admin. Solo afecta a quien intenta entrar al panel de administración. El servidor hace una comprobación extra, pero es instantánea.
❌ ¿Y si uso Syspanel en lugar de DirectAdmin?
Syspanel (antes conocido como HestiaCP) es otro panel de control muy popular. El puerto de acceso para Syspanel es el 2106 (por ejemplo, tudominio.com:2106). La filosofía es la misma, pero los pasos son diferentes. En Syspanel, la protección de directorios se gestiona desde la sección "Avanzado" o "Seguridad", y la edición del .htaccess se hace desde el "Gestor de archivos". Aunque no es lo que estamos tratando hoy, ten en cuenta que la lógica del .htaccess es idéntica.
❌ ¿Puedo permitir varias IPs?
Por supuesto. Solo tienes que añadir más líneas Allow from con cada IP. Por ejemplo:
Order Allow,Deny
Allow from 123.456.789.10
Allow from 98.76.54.32
Deny from all
❌ ¿Qué hago si me bloqueo yo mismo?
Si te has quedado fuera, no entres en pánico. Accede a DirectAdmin desde el móvil (con datos, no con el WiFi de tu casa) o desde otro ordenador. Ve al "Administrador de archivos", edita el .htaccess y elimina el bloque que añadiste. Si usas el método de contraseña, simplemente desactiva la protección desde el panel.
Consejos finales para una seguridad WordPress sólida
Proteger wp-admin es un gran paso, pero no es el único. Te dejo una lista rápida de buenas prácticas adicionales:
- Usa contraseñas únicas y largas para tu usuario administrador de WordPress.
- Cambia el nombre de usuario
adminsi lo tienes. Crea un nuevo usuario con rol de administrador y borra el antiguo. - Mantén WordPress, tus temas y plugins actualizados. Las actualizaciones corrigen vulnerabilidades conocidas.
- Instala un plugin de seguridad como Wordfence o Sucuri para monitorizar intentos de acceso y añadir un firewall.
- Haz copias de seguridad periódicas de tu base de datos y archivos. Así, si algo sale mal, puedes restaurar tu web en minutos.
- Activa la autenticación de dos factores (2FA) para tu cuenta de administrador. Esto añade una capa extra que requiere un código de tu teléfono.
Conclusión
Proteger tu carpeta wp-admin es una de las medidas más efectivas y sencillas que puedes tomar para blindar tu WordPress. No importa si usas el método de contraseña, el de IP o ambos, estarás añadiendo una barrera que detendrá al 99% de los ataques automatizados.
DirectAdmin te ofrece las herramientas necesarias para hacerlo de forma limpia y sin necesidad de ser un experto en servidores. Dedica diez minutos a configurarlo hoy y duerme tranquilo sabiendo que tu panel de administración está a salvo de miradas indiscretas y bots maliciosos. Recuerda, la seguridad no es un destino, es un proceso continuo. Empieza por aquí y sigue construyendo una web más fuerte.
