Cómo prevenir ataques de inyección SQL en WordPress (7 consejos)

¿Quiere evitar ataques de inyección SQL de WordPress?

La inyección SQL es una vulnerabilidad de seguridad que los piratas informáticos pueden aprovechar para atacar la base de datos de su sitio web. Una vez hecho esto, un atacante puede leer sus datos confidenciales, modificarlos y tomar el control de toda la base de datos.

En este artículo, compartiremos algunos consejos útiles para prevenir ataques de inyección SQL en WordPress, paso a paso.

Prevenir ataques de inyección SQL en WordPress

¿Por qué prevenir ataques de inyección SQL en WordPress?

SQL significa lenguaje de consulta estructurado, que es un lenguaje de programación que se comunica con la base de datos de su sitio de WordPress. Sin esta función, su sitio no puede generar ningún contenido dinámico.

Sin embargo, la entrada de usuarios no autorizados, el software desactualizado o la divulgación de información confidencial pueden causar vulnerabilidades de seguridad y facilitar que los piratas informáticos realicen ataques de inyección SQL.

Este ataque tiene como objetivo su servidor de base de datos y agrega código o declaraciones maliciosas a su SQL. De esta manera, los piratas informáticos pueden utilizar información confidencial almacenada en su base de datos, como datos de usuario, para robo de identidad, apropiación de cuentas, fraude financiero y más.

También pueden cambiar las entradas de la base de datos o los permisos de la cuenta y realizar ataques DDOS, lo que dificulta que los usuarios reales visiten su sitio web.

Esto puede dañar la confianza del cliente, afectar negativamente la experiencia del usuario y disminuir el tráfico de su sitio web, lo que afectará negativamente el crecimiento de su pequeña empresa.

Dicho esto, veamos algunos consejos prácticos que pueden prevenir ataques de inyección SQL en WordPress.

Nota: Antes de realizar cualquier cambio en la base de datos como medida preventiva, le recomendamos crear una copia de seguridad de la misma. De esa manera, si algo sale mal, podrás utilizar la copia de seguridad para solucionarlo. Para obtener más detalles, consulte nuestro tutorial sobre cómo hacer una copia de seguridad manual de su base de datos de WordPress.

1. Realice actualizaciones del sitio con regularidad y utilice un firewall

Una forma eficaz de prevenir ataques de inyección SQL es actualizar periódicamente su sitio de WordPress a la última versión. Estas actualizaciones a menudo corrigen vulnerabilidades de seguridad, incluidos problemas de software de bases de datos, lo que dificulta que los piratas informáticos ataquen su sitio.

Si está utilizando una versión desactualizada de WordPress, le recomendamos habilitar las actualizaciones automáticas para la última versión visitando el sitio. Panel » Actualizaciones página.

Aquí, simplemente haga clic en el enlace «Habilitar actualizaciones automáticas para todas las versiones nuevas de WordPress». Ahora todas las actualizaciones importantes se instalarán en su sitio al momento de su lanzamiento.

Instalar actualizaciones de WordPressInstalar actualizaciones de WordPress

Para obtener más información, quizás quieras consultar nuestra guía para principiantes sobre cómo actualizar WordPress de forma segura.

Una vez que haya hecho eso, también puede agregar un firewall para mayor seguridad. Esta función actúa como un escudo entre su sitio y el tráfico entrante y bloquea las amenazas de seguridad comunes, incluidos los ataques SQL, antes de que lleguen a su sitio web.

Para esta función recomendamos Sucuri, que es el mejor software de firewall de WordPress del mercado. Ofrece un firewall a nivel de aplicación, prevención de fuerza bruta, así como servicios de eliminación de malware y listas negras, lo que lo convierte en una excelente opción.

Cómo el firewall de su sitio web bloquea los ataquesCómo el firewall de su sitio web bloquea los ataques

Además, la herramienta nos ha ayudado a bloquear aproximadamente 450.000 ataques de WordPress en nuestro sitio web en el pasado.

Para obtener más detalles, consulte nuestra guía completa sobre seguridad de WordPress.

2. Oculta tu versión de WordPress

De forma predeterminada, WordPress muestra el número de versión actual del software que utiliza en su sitio web. Por ejemplo, si está utilizando WordPress 6.4, esta versión aparecerá en su sitio para realizar un seguimiento.

Sin embargo, la visibilidad pública del número de versión puede causar amenazas a la seguridad y facilitar que los piratas informáticos realicen ataques de inyección SQL en WordPress.

Eliminar el número de versión de WordPressEliminar el número de versión de WordPress

Esto se debe a que cada versión de WordPress tiene sus propias vulnerabilidades únicas que los atacantes pueden aprovechar después de descubrir su versión. Esto les permitirá agregar fragmentos de código malicioso a su sitio a través de campos de entrada vulnerables.

Puede eliminar fácilmente el número de versión de su sitio agregando el siguiente fragmento de código a su archivo Functions.php.

add_filter('the_generator', '__return_empty_string');

Una vez hecho esto, los piratas informáticos no podrán encontrar el número de versión de WordPress mediante escáneres automáticos ni de otro modo.

Nota: Tenga en cuenta que un pequeño error al agregar el código puede hacer que su sitio web sea inaccesible. Por eso lo recomendamos Código WP. Es el mejor plugin de fragmentos de código que hace que agregar código personalizado a su sitio sea extremadamente seguro y fácil.

Para obtener más detalles, consulte nuestro tutorial sobre la forma correcta de eliminar el número de versión de WordPress.

3. Cambiar el prefijo de la base de datos de WordPress

De forma predeterminada, WordPress agrega el prefijo wp_ a todos los archivos de la base de datos, lo que facilita a los piratas informáticos planificar un ataque apuntando al prefijo.

La forma más sencilla de prevenir ataques de inyección SQL es cambiar el prefijo predeterminado de la base de datos por algo único que los piratas informáticos no puedan adivinar.

Puede hacerlo fácilmente conectando su sitio web a través de FTP. A continuación, abra el archivo wp-config.php y busque la modificación $table_prefix línea. Entonces, simplemente puedes cambiarlo del valor predeterminado. wp_ a algo más como esto: wp_a123456_.

$table_prefix  = 'wp_a123456_';

A continuación, debe visitar el cPanel de su cuenta de alojamiento web. Para este tutorial usaremos Bluehost; sin embargo, su cPanel puede verse ligeramente diferente dependiendo de su empresa de alojamiento web.

Aquí, cambie a la pestaña «Avanzado» y haga clic en el botón «Administrar» al lado de la sección «PHPMyAdmin».

Haga clic en el botón Administrar al lado de la sección PHPMyAdminHaga clic en el botón Administrar al lado de la sección PHPMyAdmin

Se abrirá una nueva página donde deberá seleccionar el nombre de su base de datos en la columna de la izquierda y navegar a la pestaña «SQL» en la parte superior.

A continuación, puede agregar la siguiente consulta SQL en el cuadro de texto.

Consultas SQL en phpMyAdminConsultas SQL en phpMyAdmin

Solo recuerde cambiar el prefijo de la base de datos al que eligió al editar el archivo wp-config.php.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

Para obtener más instrucciones, puede consultar nuestro tutorial sobre cómo cambiar el prefijo de su base de datos de WordPress para mejorar la seguridad.

4. Validar datos de usuario

Los piratas informáticos suelen introducir ataques SQL en su sitio web utilizando campos utilizados para ingresar datos de usuario, como secciones de comentarios o campos de formulario en formularios de contacto.

Por eso es importante validar todos los datos enviados a su blog de WordPress. Esto significa que los datos del usuario no se enviarán a su sitio si no siguen un formato específico.

Por ejemplo, un usuario no podrá enviar su formulario si el campo de dirección de correo electrónico no contiene el símbolo «@». Al agregar esta validación a la mayoría de los campos del formulario, puede evitar ataques de inyección SQL.

Validar el campo de correo electrónicoValidar el campo de correo electrónico

Para hacer esto, necesitará Formidable Forms, que es un plugin de creación de formularios avanzado. Viene con una opción de «Formato de formulario de entrada» donde puede agregar el formato que los usuarios deben seguir para enviar los datos del campo del formulario.

Puede agregar un formato específico para números de teléfono o campos de texto individuales.

Agregar formato de número de refinamientoAgregar formato de número de refinamiento

Si no desea validar los campos del formulario, le recomendamos Formularios WP porque es el mejor plugin de formulario de contacto con protección integral contra spam y soporte de Google reCAPTCHA.

Con él también puedes agregar menús desplegables y casillas de verificación en tus formularios. Esto dificultará que los piratas informáticos agreguen datos maliciosos.

formularios wpformularios wp

Para obtener más detalles, consulte nuestro tutorial sobre cómo crear un formulario de contacto seguro en WordPress.

5. Restringir el acceso y los permisos de las funciones del usuario.

Otro consejo para prevenir ataques de inyección SQL en WordPress es limitar el acceso de los usuarios a su sitio web.

Por ejemplo, si tiene un blog de varios autores, tendrá varios autores junto con suscriptores y administradores. En ese caso, puede mejorar la seguridad del sitio limitando el acceso administrativo completo únicamente al administrador.

Puede limitar todos los demás roles de usuario a funciones específicas que necesitarán para realizar su trabajo. Esto reducirá el acceso de los usuarios a la base de datos y evitará ataques de inyección SQL.

Puedes hacer esto con la versión gratuita. Eliminar el acceso al panel conectar. Después de la activación, simplemente visite el Configuración » Acceso al panel de control página donde puede decidir qué roles de usuario tienen acceso al panel.

Restringir la configuración de acceso al panelRestringir la configuración de acceso al panel

Si desea limitar a los usuarios según sus capacidades, puede consultar nuestro tutorial sobre cómo agregar o eliminar funciones de los roles de usuario en WordPress.

Asimismo, también puedes limitar a los autores a sus propias publicaciones en tu área de administración para mayor seguridad.

6. Cree mensajes de error de base de datos personalizados

A veces, sus usuarios pueden encontrar un error de base de datos en su sitio web, que puede mostrar información importante sobre su base de datos, haciéndola vulnerable a ataques de inyección SQL.

En ese caso, querrá crear un mensaje de error de base de datos personalizado que se mostrará a los usuarios cuando encuentren este error común. Para hacer esto, deberá copiar y pegar el siguiente contenido en una aplicación de Bloc de notas y guardar el archivo como «db-error.php».

<?php // custom WordPress database error page
   
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds
   
  // If you wish to email yourself upon an error
  // mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
   
?>
   
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>

A continuación, conecte su sitio a un programa FTP y cargue el archivo que acaba de crear en el directorio /wp-content/ de su sitio.

Ahora, cuando los usuarios encuentren un error en la base de datos de su sitio web, simplemente verán un mensaje de error informándoles del problema sin revelar ninguna información confidencial.

Página de vista previa de errores de base de datos personalizadaPágina de vista previa de errores de base de datos personalizada

Además, el título «Error de base de datos» se mostrará en la pestaña de su navegador web.

Para obtener más detalles, consulte nuestro tutorial sobre cómo agregar una página de error de base de datos personalizada en WordPress.

7. Eliminar funciones innecesarias de la base de datos

Para evitar ataques de inyección SQL, también debe intentar eliminar todas las funciones de la base de datos y los archivos que no necesita de su sitio web.

Por ejemplo, puede eliminar tablas innecesarias, basura o comentarios no aprobados que pueden hacer que su base de datos sea vulnerable a los piratas informáticos.

Para eliminar funciones innecesarias de la base de datos, recomendamos WP-Optimize. Es un plugin sorprendente que elimina tablas innecesarias, revisiones de publicaciones, borradores, comentarios eliminados, publicaciones eliminadas, pingbacks, metadatos de publicaciones y mucho más.

Eliminar funciones innecesarias de la base de datosEliminar funciones innecesarias de la base de datos

Elimina todos los archivos que no necesitas y optimiza tu base de datos para hacerla más segura y rápida. Para obtener más detalles, consulte nuestra guía para principiantes sobre cómo optimizar su base de datos de WordPress.

Bonificación: utilice los servicios TrucosWP Pro para crear un sitio seguro

Después de tomar todas las medidas preventivas contra los ataques de inyección SQL, también puede optar por los servicios TrucosWP Pro.

Podemos ayudarlo a identificar y corregir cualquier otra vulnerabilidad de seguridad que no conozca. Además, si ya ha sufrido un ataque de inyección SQL, nuestros expertos pueden ayudarle a contener el daño y restaurar sus sistemas.

TrucosWP Servicios Profesionales Reparación de sitios pirateadosTrucosWP Servicios Profesionales Reparación de sitios pirateados

También puede confiar en nosotros para mejorar la optimización de la velocidad, el diseño, el SEO de su sitio o incluso reconstruir completamente su sitio de WordPress existente, ya sea que haya sido pirateado o no.

Para obtener más información, consulte todos nuestros servicios profesionales TrucosWP.

Esperamos que este artículo le haya ayudado a aprender cómo prevenir ataques de inyección SQL en WordPress. También podría interesarle nuestra guía para principiantes sobre la gestión de bases de datos de WordPress y nuestras mejores opciones para los mejores plugins de bases de datos de WordPress.

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicado. Required fields are marked *