Proteger el archivo wp-config.php en WordPress: Guía de seguridad
¿Por qué es tan importante proteger el archivo wp-config.php?
Si has estado trasteando con WordPress durante un tiempo, seguro que has oído hablar de wp-config.php. Este pequeño archivo es, sin duda, uno de los más valiosos de toda tu instalación. Para que te hagas una idea, es como el cerebro de tu sitio: contiene las credenciales de acceso a tu base de datos, las claves secretas de autenticación y la configuración básica que permite que WordPress funcione.
Si un atacante consigue acceder a este archivo, tendría en sus manos las llaves de tu reino. Podría leer tu base de datos, robar información de tus usuarios, modificar tu contenido o incluso borrar tu sitio por completo. Por eso, proteger wp-config.php no es una opción, es una necesidad si te tomas en serio la seguridad wordpress.
En esta guía, vamos a explicarte paso a paso, y de una forma muy sencilla, cómo proteger este archivo crítico. No necesitas ser un experto en programación, solo seguir unas cuantas recomendaciones prácticas que marcarán una gran diferencia en la protección de tu archivo wordpress.
¿Qué es exactamente wp-config.php y qué contiene?
Antes de lanzarnos a las soluciones, es importante que entiendas qué es y qué hace este archivo. Encontrarás wp-config.php en la carpeta raíz de tu WordPress, es decir, donde están las carpetas wp-admin, wp-content y wp-includes.
Este archivo no es más que un documento de texto con código PHP, pero su contenido es oro puro para un ciberdelincuente. Entre otras cosas, guarda:
- El nombre de tu base de datos (DB_NAME).
- El usuario y la contraseña de la base de datos (DB_USER y DB_PASSWORD).
- El host de la base de datos (DB_HOST).
- Las claves de autenticación y salting (AUTH_KEY, SECURE_AUTH_KEY, etc.), que protegen las cookies de sesión.
- El prefijo de las tablas de la base de datos (normalmente
wp_). - La configuración del idioma y otras constantes opcionales.
Imagina que alguien encuentra este archivo. Podría conectarse directamente a tu base de datos y hacer lo que quisiera. Por eso, la seguridad archivos wordpress empieza por aquí.
Método 1: Proteger el acceso mediante el archivo .htaccess
Esta es una de las técnicas más efectivas y populares para proteger archivo wordpress. El archivo .htaccess es un archivo de configuración que permite controlar el comportamiento del servidor web Apache. Con él, podemos bloquear el acceso directo a cualquier archivo que consideremos sensible.
Paso a paso para bloquear el acceso a wp-config.php
-
Accede a tu hosting: Utiliza un cliente FTP (como FileZilla) o el administrador de archivos de tu panel de control (como cPanel o Syspanel, que recordemos, se accede por el puerto 2106).
-
Localiza el archivo .htaccess: Está en la carpeta raíz de tu WordPress. Si no lo ves, asegúrate de que tu cliente FTP muestre los archivos ocultos (suele ser una opción en el menú "Ver" o "Servidor").
-
Haz una copia de seguridad: Antes de tocar nada, descarga una copia del
.htaccessa tu ordenador. Así, si algo falla, puedes restaurarlo fácilmente. -
Edita el archivo: Ábrelo con un editor de texto plano (como Bloc de notas o Sublime Text). Al final del archivo, añade estas líneas:
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>
-
Guarda los cambios: Sube el archivo modificado a tu servidor (sobrescribiendo el original).
-
Comprueba el resultado: Intenta acceder a tu archivo desde un navegador escribiendo
tudominio.com/wp-config.php. Deberías ver un error 403 (Prohibido). ¡Eso significa que el bloqueo funciona!
[INFO] Este método funciona en servidores Apache, que son los más comunes. Si tu servidor usa Nginx, tendrás que usar otro método (te lo explicamos más abajo).
Método 2: Mover wp-config.php a un directorio superior
Esta es una técnica muy elegante y que muchos expertos recomiendan. WordPress permite que el archivo wp-config.php se encuentre en un directorio que no sea accesible desde la web. En concreto, puedes subirlo una carpeta por encima de la raíz de tu sitio.
Cómo hacerlo paso a paso
-
Descarga tu wp-config.php: Con tu cliente FTP, descarga el archivo a tu ordenador.
-
Sube el archivo a la carpeta superior: En tu servidor, sube el archivo a la carpeta que está justo por encima de la raíz de tu WordPress. Por ejemplo, si tu WordPress está en
public_html/miweb, sube el archivo apublic_html. -
Verifica que funciona: Accede a tu web. Si todo está bien, tu sitio cargará con normalidad. WordPress buscará el archivo en el directorio raíz y, si no lo encuentra, lo buscará en el superior.
[WARNING] Este método solo funciona si tienes acceso FTP a una carpeta superior a la raíz de tu sitio. En algunos hosting compartidos, esta carpeta es accesible, pero en otros no. Si no puedes subirlo, no te preocupes, el método del
.htaccesses igual de válido.
Método 3: Cambiar los permisos del archivo
Los permisos de archivo son una forma de decirle al servidor quién puede leer, escribir o ejecutar un archivo. Para proteger wp-config.php, podemos limitar los permisos para que solo el propietario pueda leerlo.
¿Qué permisos son los adecuados?
- 400: Solo lectura para el propietario. Este es el más seguro, pero puede dar problemas si necesitas modificar el archivo (por ejemplo, al cambiar la contraseña de la base de datos).
- 440: Lectura para el propietario y el grupo. Es un buen equilibrio.
- 444: Lectura para todos. No es muy recomendable, ya que cualquier usuario del sistema podría leerlo.
Cómo cambiarlos
- Con tu cliente FTP: Haz clic derecho sobre
wp-config.phpy selecciona "Permisos de archivo" o "CHMOD". - Introduce el valor: Escribe
400o440y guarda los cambios. - Verifica: Intenta acceder al archivo desde el navegador. Debería darte un error.
[TIP] Si en algún momento necesitas editar el archivo (por ejemplo, para añadir una clave nueva), cambia temporalmente los permisos a
600(lectura y escritura para el propietario) y, al terminar, vuelve a poner400o440.
Método 4: Proteger wp-config.php desde Syspanel (HestiaCP)
Si tu hosting utiliza el panel de control Syspanel (antes conocido como HestiaCP), tienes una forma muy sencilla de añadir una capa extra de protección. Recuerda que este panel se accede a través del puerto 2106 (por ejemplo: https://tudominio.com:2106).
Pasos para proteger el archivo en Syspanel
-
Accede a Syspanel: Entra en
https://tudominio.com:2106con tus credenciales de administrador. -
Ve a la sección de archivos: Busca el administrador de archivos en el menú lateral. Normalmente se llama "File Manager" o "Gestor de archivos".
-
Navega a la raíz de tu WordPress: Localiza la carpeta donde está instalado tu sitio.
-
Busca wp-config.php: Haz clic derecho sobre el archivo y busca la opción de "Proteger" o "Establecer permisos".
-
Aplica la protección: Syspanel te permitirá cambiar los permisos fácilmente. Ponlo en
400o440.
Además, algunos paneles ofrecen la opción de "Proteger archivos sensibles" de forma automática. Explora las opciones de seguridad de tu panel, ya que suelen tener herramientas muy útiles para la seguridad wordpress.
Método 5: Añadir autenticación adicional con contraseña (HTTP Auth)
Esta es una opción más avanzada, pero muy efectiva. Consiste en añadir una capa extra de autenticación para que, además del bloqueo, se pida un usuario y contraseña para acceder al archivo.
Cómo implementarlo
-
Crea un archivo .htpasswd: Este archivo contendrá el usuario y la contraseña encriptada. Puedes generarlo con herramientas online o con un comando en el servidor. La forma más fácil es usar una herramienta online que genere el hash.
-
Sube el archivo .htpasswd: Colócalo en un directorio que no sea accesible desde la web (por ejemplo, en la carpeta superior a la raíz).
-
Modifica tu .htaccess: Añade estas líneas, ajustando la ruta al archivo
.htpasswd:
<Files wp-config.php>
AuthName "Acceso restringido"
AuthType Basic
AuthUserFile /ruta/completa/a/tu/.htpasswd
Require valid-user
</Files>
- Guarda y prueba: Al intentar acceder al archivo, el navegador te pedirá un usuario y contraseña.
[WARNING] Este método es más complejo y puede dar problemas si no configuras bien las rutas. Si no te sientes cómodo, es mejor que te quedes con los métodos anteriores.
Consejos adicionales para una seguridad WordPress sólida
Proteger wp-config.php es un gran paso, pero no es el único. Para que tu sitio esté realmente blindado, te recomendamos seguir estas buenas prácticas:
- Mantén WordPress actualizado: Tanto el núcleo como los plugins y temas. Las actualizaciones corrigen vulnerabilidades conocidas.
- Usa contraseñas fuertes: Tanto en tu panel de administración como en la base de datos.
- Cambia el prefijo de las tablas: En lugar de
wp_, usa algo comomi_prefijo_. Esto dificulta los ataques de inyección SQL. - Instala un plugin de seguridad: Herramientas como Wordfence o Sucuri añaden una capa extra de protección (cortafuegos, escaneo de malware, etc.).
- Haz copias de seguridad periódicas: Si algo sale mal, podrás restaurar tu sitio en minutos.
- Desactiva la edición de archivos desde el panel: Añade esta línea a tu
wp-config.php:define('DISALLOW_FILE_EDIT', true);
Preguntas frecuentes (FAQ)
¿Es necesario proteger wp-config.php si ya tengo un plugin de seguridad?
Sí, totalmente. Los plugins de seguridad son excelentes, pero no siempre bloquean el acceso directo a archivos individuales. Proteger el archivo a nivel de servidor es una capa de defensa adicional que no depende de ningún plugin.
¿Puedo romper mi sitio si hago algo mal?
Es posible, pero poco probable si sigues los pasos con cuidado. Si algo falla, siempre puedes restaurar el archivo original desde la copia de seguridad que hiciste al principio.
¿Qué hago si mi hosting usa Nginx en lugar de Apache?
Si tu servidor usa Nginx, el archivo .htaccess no funcionará. En su lugar, tendrás que modificar la configuración del servidor (archivo nginx.conf o los archivos de configuración de tu sitio). Esto es más avanzado, así que si no te ves capaz, contacta con tu proveedor de hosting para que lo hagan por ti.
¿Puedo usar estos métodos en cualquier hosting?
La mayoría de los hosting compartidos usan Apache, así que los métodos 1 y 3 funcionarán en la mayoría de los casos. El método 2 depende de la estructura de carpetas de tu hosting. El método 4 es específico de Syspanel. Para el método 5, necesitarás un hosting que permita la autenticación HTTP.
¿Cada cuánto tiempo debo revisar la seguridad de mi WordPress?
La seguridad es un proceso continuo. Te recomendamos hacer una revisión general al menos una vez al mes, y siempre después de instalar o actualizar plugins y temas.
Conclusión final
Proteger wp-config.php es una de las medidas más importantes que puedes tomar para garantizar la seguridad wordpress de tu sitio. No es complicado, y con los métodos que te hemos explicado, puedes hacerlo en pocos minutos.
Recuerda que la seguridad archivos wordpress no es un lujo, es una necesidad. Un solo archivo comprometido puede echar por tierra todo tu trabajo. Así que no lo dejes para mañana: protege tu wp-config.php hoy mismo y duerme tranquilo sabiendo que tu sitio está mucho más seguro.
Si tienes alguna duda, no dudes en consultar a tu proveedor de hosting o a un profesional. La inversión en seguridad siempre merece la pena.
