Picture of Emprendedor.Digital

Emprendedor.Digital

Cambiar el prefijo de la DB para aumentar la seguridad de WordPress

Los gurús de la seguridad a menudo recomiendan cambiar el prefijo para hacer los sitios más seguros, pero ¿realmente vale la pena hacerlo? ¿O realmente es una nube de humo sin sustancia?

Por defecto, todas las tablas de la base de datos de WordPress comienzan con el prefijo wp_. Los gurús de la seguridad a menudo recomiendan cambiar el prefijo para hacer los sitios más seguros, pero ¿realmente vale la pena hacerlo? ¿O realmente es una nube de humo sin sustancia?

La idea es que cambiar el prefijo de la base de datos ayuda a evitar las desagradables inyecciones SQL, ya que los hackers suelen utilizar consultas con la configuración estándar en su ataque, pero si los detalles de la base de datos son únicos el hacker lo tendrá un poco más difícil, ya que le arrojará un error.

Si bien la corrección de esto, no es de ninguna manera la mejor o única solución para proteger tu sitio, es un paso que puedes tomar para hacer que tu instalación WordPress sea un poco más segura.

Así que en este artículo, voy a explicarte por qué y cómo cambiar el prefijo de la base de datos de WordPress puede aumentar la seguridad de tu sitio.

¿Qué tiene que ver el prefijo con todo esto?

Para entender por qué cambiar el prefijo de las tablas de tu base de datos podría ayudar como parte de las medidas preventivas de tu sitio contra los ataques, es importante explorar ambos lados del argumento.

Conocer el razonamiento detrás del cambio debería darte una mejor idea de lo que se necesita para mantener tu sitio seguro.

Todo esto está muy bien, pero ¿por qué es una práctica popular cambiar el prefijo de la tabla en primer lugar?

Inyecciones SQL y la recomendación común

Al revisar los pros y los contras, es importante tener en cuenta que la razón principal por la que se recomienda ampliamente cambiar el nombre del prefijo de tabla es para evitar que un hacker se apodere de tu sitio con una inyección SQL exitosa.

En pocas palabras, cuando tu sitio es vulnerable a una inyección SQL, significa que un hacker puede ejecutar una consulta SQL desde un formulario no desinfectado en tu sitio sin tu permiso o conocimiento.

Si un hacker puede ejecutar con éxito una consulta SQL no autorizada en tu sitio, significa que hay una conexión abierta a la base de datos de destino.

Cuando esto sucede, un hacker puede cambiar lo que quiera y obtener acceso y control total sobre tu sitio. Esto significa que pueden cambiar y hacer lo que quieran con tu sitio, ya que la base de datos está totalmente expuesta a ellos.

No necesariamente tendrían acceso a tus archivos, pero tendrían pleno dominio sobre tu base de datos.

Podrían obtener acceso y control total de tu sitio y la primera tarea suele ser cambiar las credenciales de inicio de sesión del administrador.

Esto te bloquea y les permite seguir haciendo de las suyas, realizando una amplia gama de cambios que van desde hacer que tu sitio se convierta en una central de spam y robar información personal hasta infectar miles de otros sitios donde pueden crear spam y robar aún más.

Desventajas

La razón principal para renombrar algo en la base de datos es que si un hacker puede ejecutar una inyección SQL en tu sitio, ya hay una conexión abierta a tu base de datos.

Esto significa que si su primera consulta SQL falla, es bastante fácil para el hacker ejecutar una consulta buscando la segunda mitad de los nombres de las tablas que son casi siempre idénticos a los predeterminados.

La segunda consulta podría buscar nombres que incluyan usermeta y postmeta.

La búsqueda daría como resultado el nombre completo de la tabla y ¡voilà! El hacker lee tu nuevo prefijo. A partir de ahí, podrían seguir haciendo lo que quisieran.

Esto es también asumiendo que no tienen acceso a tus archivos también. Si lo tuvieran, podrían encontrar fácilmente tu nuevo prefijo allí también.

Al final del día, si tu sitio y tu base de datos no son vulnerables con una conexión abierta, entonces no importa cuál sea el prefijo de tu tabla y si hay una conexión abierta, un hacker podría fácilmente averiguar cómo nombraste tu prefijo haciéndolo inútil.

Bastante sencillo, ¿verdad? Bueno, no exactamente.

Hay un par de factores y uno importante que se dejó fuera del panorama aquí.

Ventajas

Aunque puede parecer un esfuerzo inútil después de considerar los contras, no es que no haya precedentes para pensar que renombrar el prefijo funciona.

Por un lado, es una sugerencia en el Codex de WordPress para el endurecimiento de la seguridad. Además, se han detectado vulnerabilidades de inyección de código en WordPress desde la primera versión 0.7 y de nuevo en versiones futuras.

Las vulnerabilidades han sido aplastadas constantemente desde el inicio de WordPress, pero empezaron estando disponibles en numerosos sitios para que los hackers las explotaran.

Es por eso que añadir un poco de precaución puede ser un activo valioso para tus muchas medidas de seguridad.

También hay una razón por la que renombrar el prefijo de tu tabla se ha englobado en la etiqueta de “elementos esenciales de seguridad” durante más de diez años.

Los piratas informáticos rara vez se enteran de la vulnerabilidad de un sitio visitándolo a través de un navegador conocido, como el resto de nosotros hacemos todos los días.

En su lugar, suelen utilizar un programa que crean y que se conoce comúnmente como bot. Ponen en marcha el bot y este visita sistemáticamente cientos, si no miles, de sitios en cuestión de minutos para buscar automáticamente las vulnerabilidades.

Una vez que se encuentra una vulnerabilidad, como la que permite una inyección SQL, el bot envía consultas para hackear todos los sitios vulnerables al mismo tiempo. De los sitios que son hackeados con éxito, el bot continúa a partir de ahí.

Pero, por otro lado, si algunos administradores de sitios han cambiado el prefijo de sus tablas, entonces el bot no podría ejecutar con éxito su primera consulta, ya que sólo tenía en cuenta la configuración por defecto y pasaría a los sitios en los que la consulta funcionara.

Si tu sitio es uno de los que han cambiado el prefijo, entonces tu sitio estaría esencialmente “a salvo” por el momento.

Ten en cuenta que en esta situación, tu sitio todavía tendría una vulnerabilidad importante, por lo que si no se parchea inmediatamente, es potencialmente solo una cuestión de tiempo hasta que un hacker meta sus dedos en ella, por así decirlo.

Por eso, cambiar el prefijo de la tabla de la base de datos no es la solución de seguridad definitiva. Ni mucho menos.

Aunque puede ayudar en la lucha contra los hackers, se dice que es “crucial tener un plugin de seguridad instalado para asegurar realmente tu sitio“. Estoy muy en desacuerdo con esto, ya que seguridad a nivel de aplicación (tu instalación WordPress) debería ser el último recurso a implementar. Un recurso, que de hecho, consume muchos recursos de tu servidor. Aquí te explico por qué instalar un plugin de seguridad, no es, o es poco necesario.

Aunque cambiar el prefijo de la tabla de la base de datos no es la solución definitiva de las medidas de seguridad, vale la pena el esfuerzo de aplicarlo a tu sitio, entre tus otros elementos esenciales de seguridad. Sigue leyendo para saber cómo hacer el cambio en tu sitio.

No lo pierdas todo

Dado que vas a cambiar tu base de datos de una manera fundamental que podría romper completamente tu sitio, es importante hacer una copia de seguridad de todo tu sitio como si fueras a perderlo todo.

De esta manera, si lo haces, puedes restaurar fácilmente tu sitio para no terminar perdiendo todo para siempre.

wp-config.php

Una vez que hayas creado una copia de seguridad de tu sitio, puedes empezar a cambiar el prefijo de la tabla.

Para renombrar el prefijo de la tabla, primero, comienza con el archivo wp-config.php. Puedes descargar una copia para editarlo y luego volver a cargarlo en tu sitio a través de FTP o de la línea de comandos y SSH o editarlo directamente en cPanel o tu panel de control del host.

Después de iniciar sesión el panel de control, deberás ir a algo como Archivos > Administrador de archivos y localizar los archivos de tu sitio. Haz clic en el archivo wp-config.php de la lista y luego haz clic en Editar.

En el editor, localiza la siguiente línea: $table_prefix = 'wp_';

Cambia wp por lo que quieras, debes mantener el guión bajo detrás de tu prefijo nuevo. Tu nuevo prefijo puede contener letras, números e incluso guiones bajos.

Por ejemplo, podrías elegir algo como wp1234_, tkiero_, blabla_ o lo que quieras, usa algo aleatorio o difícil.

Cuando estés listo con los cambios, guarda el archivo. Ojo: en este momento tu sitio web dejará de funcionar, hasta que completes el siguiente paso. Si has utilizado FTP o SSH, sube el archivo a tu sitio y sustituye la versión antigua.

Para terminar de renombrar tu prefijo completamente, sigue adelante y pasa a actualizar tu base de datos.

La base de datos

Para empezar a realizar el cambio de los prefijos en su base de datos, inicie sesión en phpMyAdmin para poder ejecutar algunas consultas:

Aquí debes usar el usuario y contraseña según aparecen en wp-config.php:
Recuerda no copiar los ” al principio y final “

Una vez dentro, selecciona todas las tablas y elige la opción “Reemplazar prefijo de la tabla”:

Después deberás escribir el prefijo viejo, y el nuevo:

No olvides el _ al final de ambas opciones.

Utiliza las siguientes consultas para ejecutar una búsqueda en la tabla de opciones y no olvides actualizar prefijonuevo y prefijoviejo con el prefijo real que elegiste:

Ajustar la tabla _options

Va a haber bastantes entradas que necesitas actualizar en la tabla de _options y puedes buscarlas con una consulta para facilitar el proceso.

UPDATE 'prefijonuevo_options' 
SET option_value = replace(option_value, 'prefijoviejo_', 'prefijonuevo_') 
WHERE option_name LIKE 'prefijoviejo_%';

Ajustar la tabla _usermeta

Lo mismo hay que hacer con la tabla de _usermeta, pero con este script:

UPDATE 'prefijonuevo_usermeta'
SET meta_key = REPLACE(meta_key, 'prefijoviejo_', 'prefijonuevo_')
WHERE meta_key LIKE 'prefijoviejo_%';

Importante

¿Ya dije que hagas un backup de tu DB antes de hacer los cambios? Hazlo, cualquier error puede dejar tu DB fuera del combate y luego estarás arrepintiéndote.

Compartir:

Facebook
LinkedIn
Twitter
WhatsApp

Responses

Síguenos

Lo más popular de WordPress

Lo mejor por email

Suscríbete a nuestro Newsletter

No spam, solamente publicaciones y noticias de contenido.



Al suscribirte, aceptas las condiciones del sitio.

Accesos directos

Saber más

Artículos relacionados

Cuando elogiar a tu competidor te beneficia

Elogiar a la competencia beneficia marcas: aumenta actitudes positivas y ventas. Percepción de calidez clave. ¿Interacción auténtica? Investigaciones revelan el impacto positivo en imagen y ventas.

Automatización de marketing para WordPress

¿Quieres empezar a utilizar la automatización del marketing en tu sitio de WordPress, pero te abruma la complejidad y el precio de la mayoría de las herramientas de automatización? Groundhogg es una solución de automatización de marketing que podría ser tu nuevo mejor amigo.

Porque odias tu trabajo

Si sientes que la manera en la que estás trabajando no funciona, porque aunque seas una persona con mucha suerte de poder tener un ingreso,

Empieza a Emprender

Acceso