Jueves, 24 Julio 2014 02:12

Protege el archivo de configuración de WordPress wp-config.php

Escrito por 
CMS:  WordPress |  Versión:  Todas |  Nivel de dificultad:  Básico |  Tiempo estimado de lectura:  10 minutos


Protege el archivo de configuración de WordPress wp-config.phpNo revelar información delicada o que pueda comprometer una instalación de WordPress es tan importante como establecer todas las medidas perimetrales activas y pasivas necesarias para garantizar la seguridad de la web.

En consecuencia, proteger el archivo wp-config.php de WordPress es una forma de reforzar la seguridad del CMS pues el archivo wp-config.php contiene información muy sensible sobre tu instalación de WordPress, como las claves de seguridad de WordPress y la bases de datos de WordPress y los detalles de la conexión.

Proteger el archivo wp-config.php de WordPress es una tarea que aunque puede parecer compleja desde el lado teórico, en la practica es algo sencillo de realizar, permitiendo asegurar información menor pero importante que evite asedios a una instalación de WordPress para comprometerla.

Protege el archivo wp-config.php via .htaccess

Es la solución más rápida, fácil de aplicar y efectiva. Para llevarla a cabo puedes seguir estos pasos:

  • Accede vía FTP o desde el Administrador de Archivos de tu panel de Hosting a tu sitio web y descarga (FTP) o edita el archivo oculto .htaccess (Si lo haces por FTP, si puedes usa mejor SFTP para cifrar la comunicación entre el ordenador y el servidor).
  • Con un editor de texto como el Bloc de notas abre el archivo .htaccess, o desde el Editor de Código del Administrador de Archivos de tu Panel de Hosting editalo.
  • Pega el siguiente código en tu archivo .htaccess para denegar el acceso al archivo wp-config.php, (añadelo al final del archivo):

# proteger wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>

Una vez que hayas realizado los cambios (por FTP) al archivo .htaccess puedes volver a subirlo de nuevo a la raíz de tu sitio web para sobrescribir el antiguo. Si utilizaste el Editor de Código del Administrador de Archivos de tu panel de hosting, simplemente haz clic en "Guardar".


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

Crea un nuevo archivo config.php

Crear un nuevo archivo de configuraciones de WordPress y alojarlo fuera de la carpeta de uso es una medida recomendada que no reviste mucha complicación y asegura más los datos sensibles.

Ya sea vía FTP o desde el Admistrador de Archivos del panel de hostin podemos crear un nuevo archivo llamado "config.php". Este archivo lo ideal es crearlo en un directorio accesible sin www, por ejemplo, si tu blog o contenido web se encuentra en /home/tu_usuario/public_html/, puedes crear el archivo config.php en /home/tu_usuario/ para que el archivo no pueda ser accesible por tus visitantes. Lo normal es que sea en un directorio anterior a public_html o www (directorio simbólico de /public_html).

Abre el archivo wp-config.php existente y copia las líneas que contienen los detalles de la conexión de base de datos, el prefijo de la base de datos y también las claves de seguridad de WordPress desde el archivo wp-config.php al nuevo archivo config.php. No olvides añadir <?php al comienzo del nuevo archivo config.php y ?> al final del archivo.

<?php
define('DB_NAME', 'tu_base_de_datos'); // nombre de la base de datos.
define('DB_USER', 'tu_usuario_de_base_de_datos'); // nombre del usuario de la base de datos.
define('DB_PASSWORD', 'contraseña_base_datosDB_pass'); // contraseña de la base de datos.
define('DB_HOST', 'localhost'); // Host MySQL

// The WordPress Security Keys - Las claves de seguridad de WordPress

define('AUTH_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('SECURE_AUTH_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('LOGGED_IN_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('NONCE_KEY', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('AUTH_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('SECURE_AUTH_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('LOGGED_IN_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.
define('NONCE_SALT', 'pon aquí tu frase aleatoria'); // Cambia esto por tu frase aleatoria.

// The WordPress database table prefix - Prefijos de las tablas de la base de datos

$table_prefix  = 'wp_'; // solo números, letras y guión bajo al final.
?>


Modifica el archivo wp-config.php

Después de eliminar todos los datos sensibles del archivo wp-config.php, ahora solo tienes que añadir la siguiente línea recta después de <?php en el archivo include(‘/home/tu_usuario/config.php’);. Por lo que las dos primeras líneas de tu archivo wp-config.php deben tener este aspecto:

<?php
include('/home/tu_usuario/config.php');

Con este cambio, en lugar de tener toda la información sensible almacenada en el archivo wp-config.php, el citado archivo estará leyendo esta información desde un lugar diferente, donde la informacion a proteger se encuentra alojada en el archivo config.php.

Ten en cuenta que la ruta /home/tu_usuario/ varía de un servidor web a otro por lo que sino estás seguro de cuál es la ruta absoluta de tu sitio web, consulta con el Departamento de Soporte.

Si tienes problemas para implementar estas sugerencias o mejorar la seguridad de tu instalación de WordPress y eres cliente de Hosting WordPress de Webempresa, accede al Foro para Clientes y realiza tu consulta ¡estaremos encantados de ayudarte y trataremos de responder a todas las preguntas de WordPress que puedas tener!.



¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop



Luis Méndez Alejo

Miembro del equipo técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Google+