X

Cómo solucionar y prevenir ataques XSS en WordPress

How to fix and prevent xss attacks

¿Le preocupa que los hackers ataquen su sitio web?

Cross-site scripting, también llamado XSS, es uno de los ataques más comunes a los sitios de WordPress. Los hackers encuentran vulnerabilidades en tu sitio y las utilizan para robar información y hacer un uso indebido de tu web.

Lo peor es que si no lo solucionas inmediatamente, estos hackeos podrían provocar daños más graves, de los que es muy difícil recuperarse.

Puede evitar estos ataques instalando un cortafuegos en su sitio de WordPress.

Si su sitio web ya está siendo atacado, le mostraremos cómo solucionarlo de inmediato en un lenguaje sencillo para principiantes. Mantendremos la jerga de la ciberseguridad al mínimo en este tutorial. También le mostraremos cómo prevenir futuros ataques.

En primer lugar, vamos a entender rápidamente lo que sucede en un ataque XSS para que esté mejor equipado para manejarlo.

¿Qué es un ataque XSS en WordPress?

XSS significa Cross Site Scripting, que es un tipo de ataque de inyección en el que los hackers inyectan scripts maliciosos en un sitio web.

Estos scripts se disfrazan de código bueno en un sitio web de confianza. Después, cuando un usuario aterriza en este sitio web, su navegador ejecuta todo el código, incluido el script malicioso, porque piensa que se trata de instrucciones de confianza.

En términos más sencillos, imagina que eres un espía y acabas de recibir un correo electrónico oficial del gobierno sobre una misión de alto secreto. Contiene todas las instrucciones que debes seguir al pie de la letra.

Lo que no sabes es que alguien interceptó ese correo electrónico y añadió algunas instrucciones más por su cuenta. El gobierno no tiene ni idea de ello y tú no te molestas en volver a comprobarlo porque confías en la fuente.

Algunas cosas no tienen sentido, pero estás entrenado para obedecer todas las órdenes y cumplir tu misión.

En este escenario, el gobierno es su sitio web y el espía es el navegador del usuario. El navegador sigue las instrucciones de su sitio web y no puede diferenciar entre los scripts buenos y malos.

Estos scripts suelen estar en Javascript, uno de los lenguajes de programación más populares y utilizados. Aunque, estos ataques pueden tener lugar utilizando cualquier lenguaje del lado del cliente.

Ahora bien, hay muchas formas de llevar a cabo un ataque XSS. Una forma es enviar un enlace a usuarios desprevenidos para que hagan clic en él. Una vez que hacen clic en él, el ataque puede posiblemente hacer una o más de las siguientes cosas:

  • Redirigir a los usuarios a un sitio malicioso
  • Capturar las pulsaciones del usuario
  • Ejecutar exploits basados en navegadores web
  • Robar información de las cookies del usuario conectado a una cuenta

Si el hacker es capaz de robar la información de las cookies, puede comprometer completamente la cuenta del usuario. Por ejemplo, si ha iniciado sesión en el panel wp-admin de su sitio web, el hacker puede robar sus credenciales e iniciar sesión en su sitio.

Lo que tienes que hacer para prevenir estos ataques es asegurarte de que todos los datos del usuario se validan y desinfectan correctamente antes de que entren en tu sitio web. De esta forma, ninguna entrada del usuario puede ser código Javascript malicioso. Además, debes asegurarte de que no hay vulnerabilidades XSS en tu sitio que puedan permitir el ataque de un hacker.

Apenas hemos arañado la superficie de los ataques XSS, pero esperamos que tengas una comprensión decente de cómo funciona un ataque XSS en WordPress. Si sospechas que tu sitio ha sido hackeado, sigue nuestro tutorial paso a paso.

Cómo encontrar y solucionar un ataque XSS en WordPress

Para encontrar cualquier tipo de malware o hackeo en su sitio web, tendrá que realizar un escaneado en profundidad de todo su sitio web, incluidos sus archivos y su base de datos.

Usaremos Sucuri para escanear y limpiar tu sitio hackeado. Sucuri le ofrece una configuración de seguridad robusta que incluye un firewall, un escáner de malware y un limpiador de malware.

sucuri-security-plugin

Sucuri ofrece un escáner de malware gratuito que puede instalar en su sitio WordPress accediendo a la pestaña Plugins ” Añadir nuevo.

Recomendamos utilizar el escáner premium del lado del servidor. Esto pondrá su sitio web patas arriba para encontrar cualquier rastro de malware.

Además, he aquí algunos de sus aspectos más destacados:

  • Supervisa el spam y los scripts maliciosos
  • Comprobación de puertas traseras ocultas creadas por piratas informáticos
  • Detecta los cambios realizados en DNS (sistema de nombres de dominio) y SSL
  • Comprobación de listas negras en motores de búsqueda y otras autoridades
  • Supervisa el tiempo de actividad del sitio web
  • Alertas instantáneas por correo electrónico, SMS, Slack y RSS

Para más detalles, lea nuestra Revisión de Sucuri.

Sucuri tiene un precio de 199,99 dólares al año. Si eso está fuera de tu presupuesto, puedes probar otros plugins de seguridad. Vea nuestra lista: Comparación de los 9 mejores plugins de seguridad para WordPress.

Al seleccionar un plugin de seguridad, asegúrese de que le ofrece todas las funciones de ciberseguridad que necesita para encontrar y solucionar infecciones de malware y proteger su sitio web.

Paso 1: Escanear su sitio web

Para empezar, tendrás que suscribirte a un plan con Sucuri. A continuación, inicia sesión en el panel de Sucuri donde puedes añadir tu sitio.

Add site in Sucuri

Aquí tendrás que conectar tu sitio web introduciendo tus credenciales FTP. Si no conoces tus credenciales FTP, puedes solicitarlas a tu proveedor de alojamiento web.

Connect site to Sucuri

Cuando su sitio esté conectado, Sucuri realizará automáticamente un escaneo exhaustivo de su sitio web. Una vez hecho, le mostrará un informe detallado en la pestaña “Mis sitios”.

Sucuri dashboard site infected

Ahora puede hacer clic en el botón “Detalles ” situado junto al mensaje de advertencia. Se abrirá la página de supervisión, donde podrás ver los detalles del pirateo o la infección.

Paso 2: Solicitar una limpieza de malware

En la página de Monitorización , puedes ver qué tipo de malware ha infectado tu sitio. Sucuri añade una clasificación para indicar el nivel de riesgo. Así que si se trata de un riesgo crítico o alto, usted sabe que necesita para solucionarlo de inmediato. Además, también le mostrará si su sitio ha sido incluido en la lista negra de cualquier motor de búsqueda.

Clean up site with Sucuri

Ahora que sabes que tu sitio está infectado, necesitas limpiarlo y Sucuri te lo pone muy fácil. Para empezar con el proceso, haz clic en el botón ‘Limpiar mi sitio’.

Malware removal request in Sucuri

En la página siguiente, haga clic en el botón Nueva solicitud de eliminación de malware y aparecerá un formulario en el que podrá introducir los datos de su sitio.

Malware removal request form in Sucuri

Simplemente rellene el formulario y envíelo. Una vez hecho, los expertos en seguridad de Sucuri limpiarán tu sitio por ti. En caso de que no conozcas alguno de los datos que necesitas para el formulario, puedes pedírselos a tu proveedor de alojamiento web.

Ahora se estará preguntando cuánto tiempo tardaría en limpiar su sitio web.

Sucuri da preferencia a los usuarios del plan Business. Aseguran un tiempo de respuesta de 6 horas. Para otros planes, depende de lo compleja que sea la infección de tu sitio y del volumen de solicitudes que tengan en cola.

Inmediatamente después de un ataque, recomendamos encarecidamente cerrar la sesión de todos los usuarios de su sitio y cambiar sus credenciales de inicio de sesión para estar seguros.

Cómo prevenir ataques XSS en su sitio WordPress

Siempre es mejor proteger su sitio web y prevenir este tipo de ataques de malware en su sitio. Es mucho más fácil y barato que tratar de arreglar un sitio web hackeado. Aquí están nuestros principales pasos recomendados para prevenir ataques XSS en su sitio.

1. Habilite un cortafuegos de aplicaciones web (WAF)

Sucuri tiene uno de los mejores firewalls para sitios WordPress. No sólo bloquea los ataques XSS, sino todo tipo de ataques de malware como DDoS, fuerza bruta, phishing e inyecciones SQL.

El cortafuegos se situará frente a su sitio web y escaneará a todos los usuarios que entren en él. Identificará y bloqueará los robots maliciosos antes de que lleguen a su sitio.

Para habilitar el firewall Sucuri, vaya a la pestaña Firewall en su panel de control Sucuri.

Selecciona tu sitio, y verás las instrucciones de configuración que puedes seguir. Sucuri te da 2 opciones para configurar el firewall:

1. Integración automática: Simplemente introduzca las credenciales de su hosting usando cPanel o Plesk. Este método requiere que le des acceso a Sucuri al servidor de tu sitio web para configurar automáticamente el firewall en tu sitio.

Sucuri firewall waf

2. Integración manual: Puedes configurar el firewall por tu cuenta sin conceder acceso interno a Sucuri. Para empezar, haga clic en el enlace de dominio interno y asegúrese de que se carga.

check internal domain link

A continuación, puedes configurar tus DNS para que apunten tu tráfico web al firewall Sucuri. Para ello, tendrá que acceder a los registros DNS en su cuenta de alojamiento. Aquí, puedes cambiar el registro ‘A’ de tu sitio e introducir las direcciones IP que Sucuri proporciona.

sucuri dns ip addresses

Si estás estresado porque todo esto es demasiado complicado, puedes pedir ayuda a tu proveedor de alojamiento web y ellos te guiarán a través del proceso. Además, también puedes crear un ticket de soporte con Sucuri y su equipo de soporte te ayudará a cambiar los registros DNS.

Para abrir un ticket, encontrarás un enlace dentro de las instrucciones del manual en la misma página.

open a ticket sucuri

Una vez configurado el cortafuegos, los cambios suelen tardar unas horas en reflejarse. El tiempo máximo de espera es de 48 horas.

Al activar el cortafuegos, éste añadirá automáticamente cabeceras de seguridad a su sitio para protegerlo de ataques XSS.

Si hay un intento de ataque XSS Sucuri lo bloqueará y te informará de ello en la pestaña Informes .

Lo que nos encanta del firewall Sucuri es que es muy fácil de usar para cualquiera, incluso para principiantes. No tienes que ser un experto en ciberseguridad o saber algo de codificación.

Puedes activar todo tipo de funciones de protección con un solo clic en la pestaña Configuración ” Seguridad.

Así, por ejemplo, puede activar la protección DDoS y el geobloqueo para dificultar a los hackers el ataque a su sitio.

Emergency ddos protection

Para activar una función de seguridad aquí, todo lo que tienes que hacer es marcar la casilla y guardar la configuración. Cuando necesites desactivarla, simplemente tienes que desmarcar la casilla.

Aparte de esto, el plugin Sucuri:

  • Escanear y controlar regularmente el spam y el código malicioso
  • Alertarle de cualquier vulnerabilidad de secuencias de comandos en sitios cruzados.
  • Bloquear bots y hackers malintencionados
  • Compruebe si hay listas negras en los motores de búsqueda y otras autoridades
  • Supervisar el tiempo de actividad del sitio web
  • Detectar los cambios realizados en DNS (sistema de nombres de dominio) y SSL
  • Envíe alertas de seguridad instantáneas por correo electrónico, SMS, Slack y RSS

Así, su sitio estará protegido en todo momento.

2. Utilizar formularios seguros

En un sitio web vulnerable, los formularios son uno de los objetivos más comunes de los piratas informáticos. Si tu formulario no es seguro, cualquiera puede introducir código malicioso en sus campos.

Nuestra recomendación para asegurar los formularios de su sitio web es WPForms. Es el constructor de formularios de WordPress #1 que tiene seguridad incorporada para que sus formularios estén protegidos desde el principio.

anti spam protection in WPForms

Por defecto, los formularios tienen activada la protección antispam. Además, puedes añadir CAPTCHA a tus formularios para bloquear los robots de spam.

Advanced noCaptcha and Invisible Captcha

Puedes activar un captcha invisible o uno en el que el usuario tenga que resolver un pequeño rompecabezas o marcar una casilla para demostrar que es humano.

3. Establecer permisos de rol de usuario

Cuando hay varias personas trabajando en su sitio web, no es aconsejable dar a todos acceso de administrador. Es mejor asignarles funciones en función de los permisos que necesiten.

WordPress te permite crear roles para:

  • Super Admin
  • Administrador
  • Editor
  • Autor
  • Colaborador
  • Abonado

Ahora bien, si un hacker consigue controlar la cuenta de un usuario, verá limitado lo que puede hacer en su sitio.

4. Auto-logout Usuarios inactivos

Los piratas informáticos pueden acceder a las cuentas de los usuarios secuestrando las sesiones de sus navegadores y robando las cookies.

Puede minimizar este riesgo cerrando la sesión de los usuarios inactivos de WordPress.

Muchos plugins de seguridad tienen una función de cierre de sesión inactiva o puede utilizar el plugin Inactive Logout.

5. Actualice su sitio web con regularidad

Los plugins de WordPress, los temas e incluso tu instalación de WordPress reciben actualizaciones con regularidad. Las verás en tu panel de WordPress cuando estén disponibles:

updates in wordpress

Muchos propietarios de sitios web ignoran las actualizaciones durante mucho tiempo, pero esto puede exponer su sitio web a los piratas informáticos. Las actualizaciones suelen incluir correcciones de errores, nuevas funciones y mejoras del software. También pueden incluir parches de seguridad. Puede ver si una actualización contiene un parche de seguridad consultando los detalles de la actualización.

view version details of update

Esto significa que se ha encontrado una vulnerabilidad en el software que los hackers pueden utilizar para atacar su sitio. Cuando los desarrolladores encuentran problemas de seguridad, los parchean y lanzan una nueva versión del software.

Todo lo que tiene que hacer es actualizar el software de su sitio.

Así que si ves que es un parche de seguridad, actualízalo inmediatamente para evitar cualquier riesgo de ser hackeado.

security update

Una de las principales razones por las que los propietarios de sitios ignoran las actualizaciones es que a veces pueden romper su sitio o causar problemas de incompatibilidad. Te recomendamos que pruebes la actualización en un sitio de prueba y luego la ejecutes en tu sitio activo.

Con esto, ya has aprendido a solucionar y prevenir ataques XSS en tu sitio WordPress.

Antes de terminar, le daremos un consejo de seguridad más. Haga siempre copias de seguridad periódicas de su sitio web.

Incluso con las medidas de seguridad más estrictas en su sitio web, hay muchas cosas que pueden salir mal. Por ejemplo, un usuario puede cometer un simple error humano que bloquee su sitio web.

Puedes configurar copias de seguridad automáticas utilizando un plugin de copia de seguridad como UpdraftPlus. Para más opciones, consulta nuestra lista de los mejores plugins de copia de seguridad para WordPress.

Preguntas frecuentes

1. ¿Es WordPress vulnerable a los ataques de secuencia de comandos en sitios cruzados?

El núcleo del software de WordPress está desarrollado y mantenido por algunos de los mejores expertos del mundo. Su software es bastante sólido como una roca, pero ten en cuenta que ningún software está libre de vulnerabilidades.

La razón por la que los sitios web de WordPress son atacados con frecuencia es que la plataforma es muy popular. Y la mayoría de los usuarios instalan montones de temas y plugins de terceros. Se pueden desarrollar vulnerabilidades en cualquiera de estos elementos y los hackers pueden explotarlas para piratear tu sitio.

2. ¿Existen diferentes tipos de ataques de cross site scripting?

Sí. Existen 3 tipos principales de ataques XSS:

  • XSS almacenado (también conocido como XSS persistente): Los atacantes almacenan su carga útil en un servidor comprometido, haciendo que el sitio web entregue código malicioso a otros visitantes.
  • XSS reflejado: Lacarga útil se almacena en los datos enviados desde el navegador al servidor.
  • DOM XSS: En este caso, el servidor en sí no es vulnerable al XSS, sino el JavaScript de la página.
  • Auto cross-site scripting: Los atacantes pueden explotar una vulnerabilidad que necesita un contexto realmente específico y cambios manuales. En este caso, la víctima solo puedes ser tú mismo.
  • Cross-site scripting ciego: En estos ataques, la vulnerabilidad suele estar en una página a la que sólo pueden acceder los usuarios autorizados. El atacante no puede ver el resultado de un ataque.

3. ¿Cómo puedo asegurarme de que no hay otros problemas de seguridad en mi sitio?

Asegúrate de tener siempre un plugin de seguridad instalado en tu sitio web. Esto es imprescindible para todo tipo de sitios web, incluyendo WooCommerce, blogs y sitios de pequeñas empresas. Recomendamos Sucuri, pero también puedes echar un vistazo a Wordfence, MalCare y SiteLock. Vea más de nuestras principales recomendaciones aquí: Comparación de los 9 mejores plugins de seguridad para WordPress.

4. ¿P WordPress protege contra XSS?

WordPress dispone de varias medidas de seguridad para ayudar a proteger contra ataques de Cross-Site Scripting (XSS), pero la eficacia de estas medidas depende de cómo esté configurado el sitio web, de los temas y plugins utilizados y de lo bien que se mantenga. Asegúrese de tomar sus propias medidas para proteger su sitio contra este tipo de ataques.

5. ¿Es WordPress CSP eficaz contra los ataques XSS?

WordPress introdujo las cabeceras Content Security Policy (CSP) en versiones recientes. Una CSP bien configurada puede ser eficaz para prevenir ataques XSS al especificar qué fuentes de contenido pueden ejecutarse en una página web. Imagina que tu sitio web es un castillo y quieres mantenerlo a salvo de cosas malas. CSP es como un conjunto de reglas que indican a los guardias (su navegador web) qué personas (scripts) pueden entrar en el castillo (su sitio web).

Eso es todo lo que tenemos para ti hoy. Esperamos que este post te haya dado todo lo que necesitas para asegurar tu sitio web.

Para más información sobre la seguridad de los sitios web, consulte nuestros recursos sobre:

Estas entradas le proporcionarán más formas de sellar vulnerabilidades y proteger su sitio web de todos los riesgos.

Comentarios   Deja una respuesta

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!