Ir al contenido principal

Eliminar la información sensible de wp-config.php

Actualizado hace más de un mes

El fichero wp-config.php, es común en todos los wordpress y en él se guarda toda la información sensible como usuario, contraseña, y dirección del servidor de la base de datos. Con estos datos los ciberdelincuentes podrían acceder a todos los datos de nuestra web y manipularla si no se protege bien.

⚠️ Peligros de una configuración vulnerable

Si no proteges correctamente el archivo wp-config.php, un error en la configuración del servidor podría permitir a los atacantes visualizar su contenido. Por ejemplo, si en el archivo .htaccess se añaden ciertas reglas incorrectas como:

<FilesMatch "\.php$"> 
SetHandler text/plain
AddType text/plain .php
</FilesMatch>

Esto haría que los archivos PHP se mostraran como texto plano en el navegador, permitiendo que cualquiera acceda y descargue su contenido.

Bastaría con visitar la siguiente URL (reemplazando nombredeldominio.com con tu dominio real):

https://nombredeldominio.com/wp-config.php

Esto es lo que se vería desde el navegador al acceder a la url anterior:

Para evitar este riesgo, es recomendable mover la información sensible a un archivo separado y mejorar la seguridad de su acceso.

🛠️ Moviendo la configuración a un archivo externo

Por defecto, WordPress almacena wp-config.php en el directorio raíz del sitio web, generalmente public_html. Para reforzar la seguridad, podemos trasladar su contenido a un archivo en una ubicación más segura.

1️⃣ Crear un nuevo archivo de configuración

  1. Copia todo el contenido de tu archivo wp-config.php.

  2. En la raíz de tu hosting (un nivel por encima de public_html), crea una nueva carpeta, por ejemplo, configuraciones.

  3. Dentro de esta carpeta, crea un archivo PHP con un nombre personalizado, como miweb.php.

Ahora, pega el contenido de wp-config.php dentro de este nuevo archivo, asegurándote de que esté encapsulado entre etiquetas PHP:

<?php // Código original de wp-config.php ?>

Importante: No olvides incluir las etiquetas <?php al inicio y ?> al final para que el código funcione correctamente.

2️⃣ Editar wp-config.php para incluir la nueva ubicación

Dentro de este mismo fichero, en la parte superior copiamos la ruta completa que aparece en el apartado "Editing", que en mi caso sería:

/home/guiasered/configuraciones/miweb.php

Y volvemos al fichero "wp-config.php" original de nuestra web, y ponemos lo siguiente, rellenando con la ruta que hemos copiado en la captura de pantalla de encima :

<?php
include("/home/tuusuario/configuraciones/miweb.php");

Dentro del paréntesis y entre comillas, debe ir la ruta completa del fichero nuevo que hemos creado, y guardamos los cambios.

📌 Nota: Debes reemplazar /home/tuusuario/configuraciones/miweb.php con la ruta real en tu servidor. Puedes verificarla desde el administrador de archivos de tu hosting.


De esta forma si alguien consigue el acceso a nuestro fichero "wp-config.php", verían lo que se muestra en la siguiente captura pantalla, y tendrían más complicado acceder a los datos de este fichero.

🔒 Proteger el nuevo archivo en .htaccess

Si el archivo miweb.php (o el que hayan creado) se encuentra dentro de public_html o en otro directorio accesible desde la web, es importante restringir su acceso mediante una regla en el .htaccess.

Edita tu archivo .htaccess y añade la siguiente regla:

<Files "miweb.php">
Require all denied
</Files>

Esto evitará que el archivo sea accesible desde un navegador.

✅ Conclusión

Proteger wp-config.php es un paso esencial para mejorar la seguridad de tu WordPress. Al mover la información sensible a un archivo separado y restringir su acceso, reduces el riesgo de que un atacante pueda robar las credenciales de tu base de datos.

Implementar estas medidas de seguridad es sencillo y puede marcar la diferencia entre un sitio seguro y uno vulnerable. ¡No descuides la seguridad de tu web! 🚀

¿Ha quedado contestada tu pregunta?