Es importante destacar que WordPress recibe actualizaciones constantes importantes en el core del CMS, la mayoría encaminadas a mejorar su seguridad, corregir vulnerabilidades y de paso implementar mejoras en las herramientas del administrador y de las funcionalidades del blog.
Hablamos de cómo analizar WordPress con Sucuri Malware SiteCheck.
No obstante los complementos de terceros, plugins y themes, siguen viéndose afectados de forma constante e imparable por vulnerabilidades de todo tipo, destacando las de inyección SQL, XSS (Cross-Site Scriptings), RFI, CRLF, CSRF, Base64 como las más habituales seguidas del malware que afecta a una parte importante de sitios que operan con este CMS, el primero en la lista de los más utilizados a nivel mundial. No en vano en la actualidad existen más de 75 millones de sitios web que se ejecutan bajo WordPress.
Es por ello que uno de los aspectos más importantes a tener en cuenta a la hora de trabajar con WordPress es la seguridad, de la que ya hemos hablado en este Blog en ocasiones anteriores y de la que nos vamos a ocupar en este artículo enfocándola hacia la detección de malware, primera causa de infección de sitios web en la actualidad.
Tabla de contenidos
Evitando peticiones en WordPress mediante .htaccess
Tan importante es analizar periódicamente un sitio WordPress como evitar que un sitio sea analizado externamente, principalmente por usuarios malintencionados que usen herramientas maliciosas con el fin de obtener respuestas a peticiones que sirvan para trazar perfiles de sitios vulnerables afines a ser atacados.
El código siguiente representa un conjunto sólido de normas que se pueden insertar en el archivo de su sitio web .htaccess que evita peticiones de URL de muchos de los ataques de inyección habituales a WordPress:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]
RewriteRule ^(.*)$ – [F,L]
RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} tag\= [NC,OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|ê|”|;|\?|\*|=$).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*("|'|<|>|\|{||).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^(.*)$ – [F,L]
Si consultamos la tendencia diaria de ataques en el sitio de HackMageddon observamos una variabilidad con picos puntuales que obedecen a ataques importantes a sitios relevantes, gubernamentales o de empresas.
Haz clic en la imagen para ampliarla
Analizando WordPress con Sucuri SiteCheck
Para mejorar el control de lo que sucede en una instalación de WordPress, del lado del servidor, nos vamos a centrar en el uso del plugin SiteCheck, un escáner libre desarrollado por el equipo de seguridad de Sucuri empresa de reconocido prestigio internacional EN MAYÚSCULAS.
No confundir con el plugin comercial Sucuri WordPress ofrecido en sus planes de servicio de Sucuri, con el Sucuri SiteCheck Malware Scanner para WordPress que aporta un escáner para la exploración de un sitio de WordPress, justo dentro de su panel de WordPress.
Mejoras en el plugin:
- Probado para WordPress 5.0 y versiones superiores.
- Advertencias de PHP eliminadas.
- Framework mejorado.
- Estilos mejorados.
- Eliminada página de malware antiguo.
Aquí está la lista de cambios completa desde el repositorio de WordPress.
Lo interesante aquí es que el plugin ha sido probado para la actual versión de WordPress, y el framework del plugin ha sido adaptado por lo que ahora esta listo con nuevas características y funcionalidades.
El plugin Sucuri Security – Auditing, Malware Scanner and Security Hardening revisa un sitio de WordPress en busca de malware, spam, cotejando en listas negras y otros problemas de seguridad como redirecciones en el archivo .htaccess, código eval() oculto, etc. Lo mejor de todo es que este plugin es completamente gratuito.
Haz clic en la imagen para ir al enlace del plugin
Analizando la web online desde Sucuri SiteCheck
Para quienes no deseen instalar este plugin o para usuarios de otros CMS como Joomla, siempre podrán escanear su sitio web desde la url del proyecto Sucuri.
Haz clic en la imagen para ampliarla
Sucuri SiteCheck detecta varios tipos de malware, inyecciones de SPAM, errores de la página web, sitios deshabilitados, problemas de conexión de bases de datos y anomalías de código que requieren especial atención:
- Inyecciones de JavaScript ofuscado.
- Cross Site Scripting (XSS).
- Desfiguraciones web (defacements).
- maliciosos y ocultos.
- PHP Mailers
- Intentos de Phishing.
- maliciosas.
- Puertas traseras (por ejemplo, C99, R57, Webshells).
- Anomalías.
- Drive-by-downloads.
- Encubrimiento de IP.
- Ataques de ingeniería social.
Hay una serie de listas negras que vigilan en busca de malware, spam e intentos de phishing. Sucuri SiteCheck aprovecha la API correspondiente para para comprobar el estado su sitio web en estas listas negras:
- Sucuri
- Google Safe Browsing
- Norton
- AVG
- Tank (específicamente Phishing).)
- McAfee SiteAdvisor
Se ha mejorado la detección de anomalías mediante la implementación de opciones de 1-clic en el escáner Malware SiteCheck. Algunas de estas opciones proporcionan un alto nivel de seguridad, pero en conjunto estas opciones reducen el nivel de riesgo:
- Verificación de la versión de WordPress para evitar vulnerable por desactualizado.
- Protección del directorio /Uploads.
- Restricción de acceso a /wp-content.
- Restricción de acceso a /wp-includes.
- Verificación de la versión de PHP.
Conclusiones
Se publican semanalmente del orden de 5 a 10 vulnerabilidades de WordPress, la gran mayoría relacionadas con plugins de terceros que se ven afectados por malware, inyeccion SQL, XSS y otras vulnerabilidades que afectan a sitios web desarrollados con WordPress. El uso de plugins como SiteCheck Malware Scanner nos permiten tener un mayor control del estado actual de seguridad que nos garantice la estabilidad del mismo.
WordPress ofrece muchos plugins y temas (themes) que mejoran la funcionalidad de un sitio web con un coste mínimo. Sin embargo, hay que tener en cuenta el hecho de que pueden contener vulnerabilidades o códigos maliciosos, incluso oculto que puede poner en peligro un sitio web de WordPress. Es muy importante descargar plugins y temas de desarrolladores o sitios de confianza y también mantenerlos actualizados en todo momento para garantizar la seguridad de WordPress.
- Verificar si los plugins y temas instalados son seguros.
- Verificar si hay una versión más nueva de los plugins instalados, temas o del CMS WordPress.
- Verificar si las credenciales de acceso a la cuenta son inseguras, por ejemplo, si las contraseñas son débiles.
- Comprobar si el prefijo de la base de datos de WordPress es fácil de adivinar.
- Revisar problemas de configuración del archivo .htaccess.
- Verificar si la cuenta de root se utiliza para el acceso a la base de datos.
- Verificar si los archivos y directorios tienen permisos inseguros (777).
Esta tabla muestra el desglose de los tipos de vulnerabilidades encontradas en plugins de WordPress:
Haz clic en la imagen para ampliarla
Para estar al corriente de las vulnerabilidades que van apareciendo es importante documentarse desde sitios de confianza donde se publican constantemente avisos que incluyen vulnerabilidades descubiertas por desarrolladores y terceros.
¿Te ha resultado útil este artículo?
Miembro del equipo de soporte técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Soporte técnico en CiberProtector. Teacher en Webempresa University