Seguridad WordPress

Seguridad WordPress: cambiar el prefijo wp_ de la base de datos

Siguiendo la máxima de no dar facilidades a un posible atacante, una recomendación antes de instalar un WordPress es cambiar el prefijo de la base de datos.

La base de datos es la parte más importante de tu sitio web, ya que se almacena en ella toda la información: contenido, usuarios, etc… Por lo tanto es un objetivo claro para cualquier ataque por parte de usuarios malintencionados.

Por defecto WordPress utiliza el prefijo wp_ para todas sus tablas. Un atacante por medio de inyección SQL lo primero que intentará es crear un usuario buscando la tabla wp_users. Afortunadamente podemos (y se recomienda) cambiarlo.

NOTA: Antes de nada es recomendable hacer una copia de seguridad.

Lo primero es abrir el archivo wp-config.php y buscar la línea donde se define la variable $table_prefix, y cambiarlo de wp_ al que queramos, por ejemplo: myprefix_.

table prefix

A continuación accederemos desde el panel de control de nuestro hosting a la base de datos a través de phpMyAdmin. Una vez allí debemos renombrar manualmente los nombres de las 11 (12 a partir de la versión 4.4) tablas que por defecto instala WordPress:

RENAME TABLE `wp_commentmeta` TO `myprefix_commentmeta`;
RENAME TABLE `wp_comments` TO `myprefix_comments`;
RENAME TABLE `wp_links` TO `myprefix_links`;
RENAME TABLE `wp_options` TO `myprefix_options`;
RENAME TABLE `wp_postmeta` TO `myprefix_postmeta`;
RENAME TABLE `wp_posts` TO `myprefix_posts`;
RENAME TABLE `wp_terms` TO `myprefix_terms`;
RENAME TABLE `wp_term_relationships` TO `myprefix_term_relationships`;
RENAME TABLE `wp_term_taxonomy` TO `myprefix_term_taxonomy`;
RENAME TABLE `wp_usermeta` TO `myprefix_usermeta`;
RENAME TABLE `wp_users` TO `myprefix_users`;

//Además, si tenemos la versión 4.4 de WordPress, deberemos renombrar la tabla wp_termmeta
RENAME TABLE `wp_termmeta` TO `myprefix_termmeta`;

NOTA

Puede que tengas que renombrar más tablas si estás utilizando plugins que agregan tablas nuevas a tu instalación.

El siguiente paso es cambiar los prefijos que se guardaron dentro de las tablas options, usermeta y termmeta (esta última sólo para 4.4). Para ello desde phpMyAdmin haremos una consulta SQL para cada tabla:

Para la tabla myprefix_options:

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

Para la tabla myprefix_usermeta:

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

Para la tabla myprefix_termmeta:

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

En cualquiera de estos casos nos devolverá un buen número de resultados, ahora deberíamos ir uno por uno cambiando los valores donde aparece el prefijo wp_ por el nuestro.

¿Existe alguna alternativa?

Si no queremos hacerlo de forma manual, tenemos a nuestra disposición un plugin llamado Change DB Prefix que puede hacer este trabajo por nosotros.

Una vez instalado el plugin, dirígete a Ajustes => Change DB Prefix e introduce tu nuevo prefijo.

change db prefix

Una vez guardados los cambios y comprobado que todo funciona correctamente, puedes desactivar y eliminar el plugin si lo deseas.

¿Te ha resultado útil esta información? 🍺

Si este post te ha resuelto un problema, invítame a un café o a una cerveza. Con este pequeño gesto me animas a seguir escribiendo.

Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *:

  • El fin del tratamiento es únicamente la moderación de comentarios para evitar spam
  • La legitimación es tu consentimiento al comentar
  • No se comunicará ningún dato a terceros salvo por obligación legal
  • Tienes derecho al acceso, rectificación y eliminación de los comentarios