🔐Cómo hacer tu WordPress más seguro en 2021: Checklist de seguridad WordPress

Si has llegado hasta aquí seguramente tengas ya muchos conocimientos sobre WordPress y estés buscando un extra para aplicar a tu sitio.

Nosotros llevamos desde 2006 en el mundo WordPress y todos nuestros desarrollos los enfocamos a la seguridad desde el día 1. Este concepto es fundamental para evitar problemas después.

Ten en cuenta que hay muchas empresas que encargan una web y luego la dejan desatendida. Seguramente te habrá pasado que un cliente te llama después de X años y te dice «todo está roto, nada funciona, ¡AYUDA!»

Cuando algo se rompe, suele ser fácil arreglarlo o remplazarlo. Cuando alguien entra en tu servidor, la cosa es mucho más peliaguda.

Figura 1. Imagen real de archivos .php ofuscados que no deberían estar en una instalación normal de WordPress

Un concepto muy muy simple:

Cualquier tecnología que esté conectada a internet, está expuesta de una manera u otra a amenazas. Estas amenazas pueden ser explotadas por un delincuente ya sea para obtener beneficios o por los loles.

🥋Con esta pequeña guía, le harás la vida imposible a los ataques automáticos más comunes y harás que tu web sea más segura y más eficiente.

Checklist de seguridad WordPress

Instala en tu servidor un certificado SSL válido.

Sirve para autenticar la identidad de tu sitio web. Garantizarás a tus usuarios que tu sitio es realmente tu sitio, además de, cifrar la información transmitida y que no se transmita la información en texto claro.

⚠️Es muy importante que, antes incluso de ponerte a instalar archivos en el servidor, protejas la conexión.

Configura HSTS o Http con Seguridad de Transporte Estricta

Activar HTTP Strict Transport Security o HTTP con Seguridad de Transporte eStricta evitará ataques donde se puedan interceptar comunicaciones, cookies, etc.

Algunos proveedores de hosting incluyen esto como opción en sus paneles.

Solo tienes que añadir a tu archivo .htaccess la siguiente linea :

Header set Strict-Transport-Security "max-age=31536000" env=HTTPS

Permisos de carpetas y archivos.

Si los permisos de acceso para archivos y directorios no están correctamente configurados, es posible que los delincuentes puedan acceder a estos archivos y usarlos para poner en riesgo la seguridad de tu sitio web.

Debes comprobar que se establecen los permisos para el archivo wp-config a 600, para los demás archivos a 644 y para los directorios a 755.

⚠️Muy importante, asegúrate que la navegación e indexación de directorios esté deshabilitada.

Figura 2. Indice expuesto en una instalación de pruebas de WordPress.

Cambiar ruta a wp-login.

Esta medida está a debate debido a que se considera seguridad por oscuridad.

Si solo tienes un usuario administrador y un editor no tendrás problemas en cambiar la ruta. Si por el contrario tu sitio maneja miembros, está completamente desaconsejado.

Un argumento a favor será que bloquearás un alto porcentaje de intentos automáticos de conexión a tu sitio web.

Como argumento en contra es que el que quiera ir a por tí, al final pondrá toda su inteligencia para ese cometido.

Desactivar ejecución de archivos PHP en determinados directorios.

Los directorios wp-includes, wp-content/uploads o las caches podrían ser susceptibles que alguien suba o incluya puertas traseras. Si estas llegan a ejecutarse, podrían vulnerar la seguridad de tu web.

Esta medida de seguridad es completamente recomendable a nivel servidor para impedir la ejecución en el caso de un acceso indebido.

Usa los plugins estrictamente necesarios.

Ni más ni menos. Usa los plugins necesarios y solo los necesarios en tus desarrollos. Cuantos más tengas, más pendiente tendrás que estas de los CVE que puedan generar (entre otros factores).

Nunca nunca nunca bajo ningún concepto uses temas o plugins piratas.

El software pirata puede contener código maliciosos que puede ser un autentico dolor de cabeza para un proyecto.

En serio, no lo hagas. Si necesitas un plugin o tema, págalo.

Siempre instala las versiones oficiales de wordpress o las que se facilitan desde los proveedores de hosting.

Mantén tus instalaciones actualizadas, tanto el core como plugins y temas.

Deshabilita XML-RPC, pingbacks y trackbacks en WordPress.

Hazlo de la siguiente manera, si usas Jetpack, autentica tu usuario y justo después que todo esté funcionando, borra el archivo xmlrpc.php de la raíz de WordPress. No tengas miedo.

El problema de xml-rcp es que puede ser usado para amplificar los ataques de fuerza bruta con un menor número de peticiones con system.multicall. Por ello, si no usas autenticación a través de XML-RCP, deshabilita o borra el archivo.

Usa nombres de usuario y contraseñas complejas.

En WordPress es muy sencillo conocer el nombre de usuario por enumeración. Para dificultar este proceso, primeramente, deshabilitaremos que de forma automática se pueda enumerar a los usuarios.

El segundo paso sería tener un usuario admin y otro editor. A ambos usuarios les aplicamos lo siguiente:

Hacemos que el nombre de usuario y el nicename en la base de datos sean completamente diferentes. De esta manera, si un pirata consigue enumerar los usuarios, verá que el nombre de usuario es el nicename, pero con el nicename por defecto WordPress no te deja iniciar sesión. Haz la prueba.

Figura 3. Captura de phpmyadmin con el campo del user_nicename

Si tu username es ladiesman217bumblebeeoptimusprime y tu nicename es admin, el pirata pensará, «voy a hacer un ataque de fuerza bruta a admin», pero en mi WAF, en la lista de palabras prohibidas para iniciar sesión pondremos «admin» . Bloqueado al primer intento. Es un truco simple pero funciona de maravilla.

Sobre las contraseñas, siempre usa una frase larga que seas capaz de recordar con una combinación de números o caracteres, en vez de números aleatorios o letras sin sentido.

✅EsteEsMiSeñoraContraseñaYLaVoyAUsarEnEstaWeb#4

❌QkFTRTY0IFBBUkVDRSBCVUFZIFBFUk8gTk8gTE8gRVM=

¿Cuál de las dos te parece mejor?

Usa 2FA siempre.

Activa el 2FA o Segundo Factor de Autentificación. Esto sirve para, en el hipotético caso que alguien adivine la contraseña, tendrá una barrera más para que no accedan a tu panel de WordPress.

Gestor de contraseñas vs introducir contraseñas a mano.

Usa siempre un gestor de contraseñas tipo llavero de iCloud, 1 password o keepass. Esto lo hacemos porque si somos víctimas de phishing, el sistema no identificará la página y no nos dejará meter la contraseña.

Si en tu gestor de contraseñas tienes dado de alta credenciales en «google.com» y el pirata te envía la url para que piques con «google.admin.restore-mypassword.pharmacy.xyz«. El llavero no te ofrecerá poner la contraseña. Si no te lo hace, es que la web no es quien dice ser. Fácil y simple.

⚠️OJO! Si la web a la que están intentando que accedamos para robarnos las credenciales es vulnerable a XSS (Cross Site Scripting), seguramente la web y la url sean reales y lo que está haciendo el pirata es inyectar su código en la URL que te envía. Por eso es muy importante no pinchar nunca enlaces desde correos sospechosos.

Usa un WAF, sí o sí.

Usar un Web Application Firewall o WAF es una obligación hoy en día.

Ya sea WordFence,  iThemes Security Pro o cualquiera que te permita configurar reglas, bloquear tráfico de ciertos países, monitorizar conexiones, supervisar inicios de sesión o que te envíe notificaciones cada vez que alguien entre en la web.

¿Por qué es tan importante esto? Por el punto que te explicábamos ahí arriba «Cualquier tecnología que esté conectada a internet…»

Imagina por un instante poder bloquear el tráfico de… digamos por ejemplo… ¡RUSIA! 🇷🇺.  Hemos quitado el 70% de los ataques automáticos que recibirás al mes. ¡Se dice pronto!

Haz respaldos de tu web y tu base de datos

Usar backups es una prioridad en caso de desastres. Los proveedores de hosting suelen tener múltiples opciones. Nuestra recomendación es:

Un respaldo al día, uno semanal y uno mensual. Si tienes opción, guarda los respaldos fuera de tu instalación.

⚠️Importante. Cuidado con las rutas de los respaldos. Muchos novatos han cometido el error de guardar los backups en un directorio con los permisos mal configurados. Usando una consulta de google se ha podido acceder a esos archivos comprimidos.

Figura 4. Imagen real de archivos comprimidos en directorio mal configurado. Los delincuentes accedieron a los respaldos y obtuvieron el «Golden Ticket de Willy Wonka».

Esto ha generado que se tuviera acceso directo a la base de datos, contraseña de la misma y las Authentication Unique Keys and Salts. ⛔️¡Danger Danger!⛔️

Conclusiones

  • Te hemos presentado algunos de los puntos clave para mantener tu WordPress seguro en 2021.
  • Los ataques han evolucionado mucho y algunas de las viejas técnicas para frenarlos se han quedado obsoletas.
  • Muchos de estos trucos son conocidos por todos, pero otros, los hemos aprendido a lo largo de nuestra experiencia y esperamos que te sean de utilidad.
  • La mayoría de los ataques se producen desde sistemas automáticos y cuando no encuentran lo que buscan o se les bloquea un numero determinado de veces, se cansan y se van.

Si te pierdes o necesitas ayuda para tu actividad profesional, no dudes en contactarnos. Te ayudaremos encantados.

💡Recuerda, «Todo son risas y unicornios hasta que tu base de datos aparece en la deepwebllapop». ¡Protégete!

¿Conoces alguna técnica diferente? ¿Utilizas algún plugin o servicio que aporte algo mejor?

Si te ha gustado está publicación, no te olvides de compartirla en tus redes. Si no te ha gustado, puedes poner una reclamación aquí.

Archivado en:

Deja una respuesta

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

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar

Contenido similar que podría interesarte: