¿Cómo evitar ataques en WordPress?
Última actualización: 27 julio, 2023
La inyección SQL es una técnica de explotación de vulnerabilidades en sistemas de gestión de bases de datos relacionales. Consiste en insertar código SQL malicioso en las consultas que se envían al servidor de la base de datos, con el objetivo de obtener información confidencial o de modificar los datos almacenados en la base de datos.
Existen muchas personas con capacidades de romper las barreras de seguridad de un sitio web, ya sea por medio de inyecciones a la SQL o bien porque saturan ciertas barreras y pueden entrar libremente al sitio, en algunos casos borran todo el contenido, en otros, solo hacen que el sistema se reinicie y se bloquee así el sitio queda offline hasta que lo arregles.
El ataque más común a WordPress es llamado Defacing en el cual se manipula una base de datos a través de formulario de contacto o parámetros en la URL, por lo cual pueden cambiar la vista de un sitio web al escribir en la base de datos.
Para evitar estos ataques, puedes seguir estos consejos:
1. Mantén una copia de seguridad de tu sitio web: puedes crear copias de seguridad de tu sitio web. Para más información visita este articulo del centro de ayuda.
2. Actualiza tu WordPress a la última versión disponible: WordPress, constantemente lanza actualizaciones al mercado, la mayoría con el propósito de mantener tu sitio web funcionando óptimamente y sobretodo, muy seguro. Actualizarlo, dificultará el trabajo de quienes lo quieren vulnerar, pues justamente las actualizaciones, usualmente corrigen las vulneraciones a través de las cuales, tu Worpress, se puede afectar
3. Utiliza contraseñas seguras y cambia tu contraseña periódicamente: Te sugerimos utilizar una combinación de Mayúsculas y minúsculas, junto con una combinación de caracteres especiales que hará particularmente más complicado acceder a tu WordPress. Cambia tus accesos igualmente por lo menos 1 vez cada 3 meses. Ésto dificultará el acceso si por alguna razón alguien mas no deseado ha conseguido obtenerla.
4. Limita el acceso: Limita el número de personas que tienen acceso a tu sitio web de WordPress. Esto incluye a los usuarios de tu sitio y los desarrolladores.
5. Utiliza plugins de seguridad: Instala y configura un plugin de seguridad de WordPress para ayudar a proteger tu sitio web.
6. Usa WordPress Keys en wp-config.php: Estos “keys” o llaves de seguridad, son un código que puedes poner en tu archivo wp-config.php para encriptar mejor los cookies de tus usuarios, puedes usar este, copiar el codigo y pegarlo en tu archivo de configuración.
7. Procura utilizar un plugin de seguridad: Existen plugins gratuitos cómo “Limit Login attempts”, que bloquearán automáticamente una IP, si consigue cierta cantidad de intentos de ingreso fallidos a tu WordPress ubicándola en tus listas negras. Esta medida será particularmente útil si alguien está intentando adivinar tu contraseña, sin embargo, debes asegurarte de guardar muy bien la tuya, pues podrías bloquear tu propia IP, si olvidas tu contraseña.
8. Instala y corre el plugin de WordPress llamado Wordfence: Este plugin es importante pues una vez instalado y activado puede escanear todos los archivos y encontrar los infectados. Luego de esto puedes decidir que hacer con ellos, si restaurarlos a su forma original o eliminarlos.
9. Cambia el prefijo de la base de datos: Por defecto, el prefijo de las tablas de la base de datos de wordpress es _wp, por lo cual los hackers pueden adivinar fácilmente el nombre de tus tablas, debes usar un prefijo al azar para mejorar la seguridad de tu sitio web.
10. Modificar el archivo Robots.txt: Para prevenir el índice de tus carpetas de administrador en los motores de búsqueda, puedes modificar o crear tu archivo robots.txt, e incluir el siguiente código:
#
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: */trackback/
Disallow: */feed/
Disallow: /*/feed/rss/$
Disallow: /category/*
11. Protege tu archivo .htaccess: Usando el siguiente código, proteges de cualquier accesso al archivo htaccess, debes pegarlo y guardar al final del archivo:
# STRONG HTACCESS PROTECTION</code>
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>
12. Deshabilita la búsqueda en directorios: Debes evitar que tus usuarios vean el contenido de tus directorios, modifica tu archivo .htaccess y agrega el siguiente código:
# disable directory browsing
Options All -Indexes
13. Protege el archivo wp-config.php: Evita el acceso al archivo de configuración de wordpress, agregando el siguiente código a tu archivo .htaccess:
# protect wp-config.php
<files wp-config.php>
Order deny,allow
Deny from all
</files>
14. Limita el acceso al directorio wp-content: Agrega el siguiente código al archivo htaccess dentro del directorio wp-content:
Order deny,allow
Deny from all
<Files ~ “.(xml|css|jpeg|png|gif|js)$”>
Allow from all
</Files>
15. Limita el acceso al directorio wp-admin: Agrega el siguiente código al archivo htaccess dentro del directorio wp-admin:
# deny access to wp admin
order deny,allow
allow from xx.xx.xx.xx # This is your static IP
deny from all
14. Evita la inyección de scripts: Agrega el siguiente código al archivo .htaccess en el directorio raíz:
# protect from sql injection
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]