X

Cambiar el prefijo de las tablas de WordPress

WordPress tiene algunas opciones que puedes considerar para mejorar la seguridad de tu sitio, una de estas opciones es el cambio de prefijo de las tablas de la base de datos, si bien no es una solución infalible para el ataque de inyección SQL, dificultará la acción de un atacante.

 

1- Generalidades

El nombre de las tablas de WordPress por seguridad tienen un prefijo que deberías cambiar, este prefijo por defecto es wp_ , tal como se muestra en el siguiente diagrama:

Además de la seguridad, gracias a los prefijos de las tablas es posible que puedas tener más de una instalación de WordPress compartiendo la misma Base de Datos.

 

2- ¿Qué prefijo usar?

Es importante tener en cuenta que debido a que estas cambiando el nombre de las tablas, sólo deberías usar caracteres alfanuméricos aleatorios y guion bajo, por ejemplo: a7x3yl_

Te puede interesar también identificar las tablas de wordpress aún con wp_ delante por lo que tu prefijo podria ser: wp_a7x3yl_

 

3- Cambiando el prefijo al instalar WordPress

Al momento de instalar WordPress tienes la opción de elegir el prefijo que tendrán las tablas de la base de datos, verás que por defecto el prefijo es wp_, tal como se muestra en la siguiente imagen, puedes cambiar el prefijo y continuar con la instalación.

 

4- Cambiando el prefijo en una instalación ya realizada

 

4.1- Realiza una copia de seguridad

Esto es lo primero que tienes que hacer antes de hacer este tipo de cambios, en caso algo vaya mal puedes recuperar la copia que has realizado.

 

4.2- Cambia el archivo wp-config.php

Ubica el archivo wp-config.php en la raíz de tu sitio, luego ubica la variable table_prefix y cámbiala

$table_prefix  = 'wp_a7x3yl_';

 

4.3- Renombrar las tablas de WordPress

Navega hasta las base de datos de tu sitio web, usualmente usarás la aplicación PHPMyAdmin para esto, ubica la Base de Datos y luego en el tab de SQL agrega lo siguiente:


RENAME table `wp_commentmeta` TO `wp_a7x3yl_commentmeta`;
RENAME table `wp_comments` TO `wp_a7x3yl_comments`;
RENAME table `wp_links` TO `wp_a7x3yl_links`;
RENAME table `wp_options` TO `wp_a7x3yl_options`;
RENAME table `wp_postmeta` TO `wp_a7x3yl_postmeta`;
RENAME table `wp_posts` TO `wp_a7x3yl_posts`;
RENAME table `wp_terms` TO `wp_a7x3yl_terms`;
RENAME table `wp_termmeta` TO `wp_a7x3yl_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a7x3yl_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a7x3yl_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a7x3yl_usermeta`;
RENAME table `wp_users` TO `wp_a7x3yl_users`;

Estas son las tablas por defecto, si tienes plugins instalados que te han creado tablas adicionales tienes que igualmente cambiar el prefijo de esas tablas.
Tienes que usar el mismo prefijo que agregaste en el archivo wp-config.php en el ejemplo : wp_a7x3yl_

 

4.4- Renombrar campos en la tabla options

Usando igualmente PHPMyAdmin, en el tab de SQL puede hacer una consulta a la tabla de opciones de WordPress filtrando los campos que tengan el prefijo. La consulta SQL sería:

SELECT * FROM `wp_a7x3yl_options` WHERE `option_name` LIKE 'wp_%'

Esto te devolverá algunos resultados con el prefijo anterior y los cuales puedes cambiar manualmente por el nuevo prefijo.

En esta tabla como mínimo deberías encontrar el valor:
wp_user_roles

El cual tienes que cambiar por:
wp_a7x3yl_user_roles

Si hay otros valores que empiezan con wp_ posiblemente correspondan a un plugin que has instalado, si no los cambias posiblemente tengas que volver a realizar alguna configuración del plugin nuevamente ya que no encontrará la configuración almacenada.

 

4.5- Renombrar campos en la tabla de usermeta

Haremos lo mismo para la tabla metadatos de usuario, la consulta a usar será:

SELECT * FROM `wp_a7x3yl_usermeta` WHERE `meta_key` LIKE 'wp_%'

Esto nos devolverá algunos registros los cuales cambiarás manualmente.

En esta tabla como mínimo deberías encontrar los valores:
wp_capabilities
wp_user_level
wp_user-settings

Los cuales puedes cambiar por:

wp_a7x3yl_capabilities
wp_a7x3yl_user_level
wp_a7x3yl_user-settings

Igualmente, si hay otros valores que empiezan con wp_ posiblemente correspondan a un plugin que has instalado.

 

5- Conclusión

Tal como has podido ver, realizar el cambio de prefijo te da una seguridad extra en tu base de datos, la mayoría de los cambios puedes hacerlo directamente usando SQL a través de PHPMyAdmin.
 

Categorías: Core
Etiquetas: seguridad

Ver comentarios (11)