¿Cómo configurar las cabeceras de seguridad HTTP de X-XSS en WordPress?

¿Su sitio web se ha vuelto lento y su tráfico ha disminuido sin motivo? ¿Su sitio web está mostrando anuncios no deseados? ¿Está viendo pop-ups que no ha insertado? Tal vez necesitas protección X-XSS en WordPress.

Esto podría ser el resultado de un ataque XSS a tu sitio de WordPress. Estos ataques son bastante comunes pero tienen un impacto devastador.

CVE Details registró 9.903 ataques XSS importantes desde 2009. Pero no se sabe cuántos de estos ataques no han sido reportados.

Los hackers utilizan el exploit XSS para robar datos, mostrar sus propios anuncios (normalmente de drogas ilegales o contenido para adultos), defraudar a sus clientes, entre una larga lista de actividades maliciosas.

Pero puede dejar de preocuparse porque hay formas de proteger fácilmente su sitio web contra el XSS. Hoy, echamos un vistazo a cómo añadir cabeceras de protección de X-XSS en WordPress, ya que bloqueará por la fuerza cualquier intento de XSS.

Aprenderás cuáles son estas cabeceras de respuesta y cómo implementarlas. Además, te daremos algunos consejos de seguridad de WordPress para que tu sitio web de WordPress sea sólido contra el XSS y cualquier otro ataque.

¿Qué es XSS (Cross-Site Scripting) en WordPress?

Cross-site scripting (XSS) es un tipo de ataque por inyección en el que los hackers explotan las vulnerabilidades de seguridad que se originan en las entradas de los usuarios en un sitio web. Una entrada de usuario puede ser cualquier área que acepte datos del usuario del sitio web, como una barra de búsqueda del sitio, una sección de comentarios, un formulario de contacto o un campo de inicio de sesión.

Tipos de ataques de cross-scripting

Aprovechan el tipo de información que el usuario puede introducir en esos campos de diversas maneras. Así pues, hay diferentes tipos de ataques de cross-scripting. Aquí, detallaremos dos de los ataques XSS más comunes:

Ataque XSS almacenado o persistente

Este tipo de ataque tiene como objetivo los visitantes de un sitio web. Echemos un vistazo a cómo sucede esto.

Supongamos que examplesite.com acepta las aportaciones de los usuarios en su sitio web en forma de comentarios en las entradas del blog. Un visitante puede compartir sus pensamientos y hacer preguntas dejando comentarios en una entrada. Después de que el comentario es enviado, es enviado a la base de datos y almacenado.

Normalmente, este campo de comentarios debe tener configuraciones para validar los datos antes de que se envíen a la base de datos.

Pero si las configuraciones no son correctas, no podrá distinguir entre un comentario de texto normal y una línea de código.

Así que, asumamos que un hacker ha descubierto que la sección de comentarios de este sitio acepta cualquier entrada. Podrían introducir un código JavaScript pero la salida se vería como un comentario regular.

Lo que el dueño del sitio web puede no notar es que el hacker es capaz de entrar en un botón “Click me” también, que idealmente no debería estar permitido.

A continuación, un visitante regular (el objetivo) del sitio web aterriza en esta página. Si este usuario hace clic en el botón, el código malicioso se ejecutará e infectará el navegador del visitante. El hacker podrá entonces extraer datos de las cookies del navegador del visitante.

Las cookies almacenan todo tipo de información, como credenciales de inicio de sesión almacenadas, información de la tarjeta de crédito o datos personales. Cuando inicias sesión en un sitio web, aparece una ventana emergente como ésta, que te pregunta si quieres que el navegador recuerde la contraseña:

Ahora un usuario regular (el objetivo) normalmente tendría varias pestañas abiertas en un navegador como Facebook, correo electrónico, un sitio de compras, un sitio web de trabajo, YouTube, etc. Si un hacker es capaz de ejecutar un ataque XSS, robaría las cookies de todos los sitios abiertos en el navegador. Por eso se llama “cross-site”. Utilizan esta información para defraudar al cliente o realizar ataques más grandes.

Aunque este ataque no afecta directamente a su sitio web, tiene graves repercusiones. Pone a cada uno de sus visitantes en peligro. Además, Google se apresurará a poner su sitio en la lista negra y su anfitrión web suspenderá su cuenta de alojamiento.

Ataque XSS reflectante o no persistente

En este ataque, los hackers apuntan al propio sitio web para obtener acceso. Vamos a mostrarte cómo funciona esto:

Digamos que su sitio web tiene una pestaña de búsqueda donde los clientes pueden encontrar rápidamente lo que quieren. Lo ideal sería que esta pestaña sólo aceptara letras del alfabeto. Pero no ha sido configurada correctamente y acepta caracteres especiales y números también. El motor de búsqueda del sitio no podrá diferenciar entre el texto introducido por el usuario y el código malicioso introducido por un hacker.

Una vez insertado, el código malicioso viaja a la base de datos del sitio web y se ejecuta. Cuando esto sucede, el hacker obtiene acceso al sitio web y puede comenzar a ejecutar sus actos maliciosos! Peor aún, podrían utilizar su sitio web para lanzar ataques de hackers más grandes, como un ataque DDoS.

Ahora sabemos lo grave que puede ser un ataque XSS y por qué necesitamos proteger nuestros sitios web de él. Así que vamos a profundizar en el motivo por el que las cabeceras de seguridad HTTP evitan los ataques XSS.

¿Qué son las cabeceras de seguridad HTTP?

HTTP significa Protocolo de transferencia de hipertexto y define cómo se formatean y transmiten los mensajes por Internet.

Los navegadores web modernos como Google Chrome o Mozilla Firefox tienen cabeceras de respuesta HTTP codificadas en ellos. Estos encabezados seguros de HTTP suelen consistir en metadatos, como códigos de error de estado, codificación de contenidos, seguridad de contenidos y control de caché.

El encabezado de respuesta instruye al navegador sobre cómo debe actuar cuando interactúa con un sitio web. Por ejemplo, un usuario abre Google Chrome y visita un sitio web, los encabezados HTTP juegan un papel aquí para determinar cómo se comunican el navegador, el sitio web y su servidor web.

Vamos a explicar uno de estos encabezados de respuesta HTTP para ayudar a entender esto mejor.

Si ha configurado un certificado SSL o TLS en su sitio web, significa que su sitio web es accesible sólo a través de HTTPS (que es una conexión segura que cifra los datos a medida que se transfieren). Pero los hackers pueden encontrar formas de acceder a su sitio a través de HTTP. Hay varios scripts disponibles en Internet que un hacker puede utilizar para abrir su sitio a través de HTTP y robar datos.

Para reforzar su certificado SSL y asegurarse de que nunca se acceda a su sitio a través de HTTP, puede añadir un encabezado de respuesta llamado “seguridad de transporte estricta”. Esto obligará a los últimos navegadores como Safari, Chrome y Firefox a comunicarse con su sitio web sólo a través de HTTPS. Esto elimina la posibilidad de que el contenido y los paquetes sean esnifados.

Si un atacante intenta abrir tu sitio a través de HTTP, el navegador simplemente no cargará la página.

Hay diferentes cabeceras de seguridad HTTP que puedes añadir a tu sitio web de WordPress. Hoy nos centramos en la protección X-XSS que mitigará/prevendrá el cross-site scripting.

Cómo configurar la protección X-XSS en el encabezado de seguridad de HTTP

Para configurar las cabeceras de seguridad de HTTP, necesitas acceder y editar el archivo .htaccess y añadir líneas de código. Alterar los archivos de WordPress en cualquier momento conlleva un alto riesgo. Un pequeño error podría llevar a un sitio web completamente roto.

Por lo tanto, recomendamos encarecidamente hacer una copia de seguridad completa de tu sitio de WordPress. Puedes usar el plugin de BlogVault para hacer una copia de seguridad completa de tu sitio web en pocos minutos. Si algo sale mal durante este proceso, puedes restaurar rápidamente tu sitio web a la normalidad.

Paso 1: Escanee su sitio web para comprobar si existe un encabezado

Recomendamos que compruebe si su sitio web ya tiene el encabezado activado. Puedes comprobarlo con tu host de WordPress administrado o utilizar un sitio web como securityheaders.com.

Introduce la URL de tu sitio web y escanea ahora. Verás un informe como este:

Podemos estar seguros de que no hay un juego de cabezas de protección X-XSS.

Nota: La mayoría de los navegadores tienen la protección X-XSS activada por defecto. Pero al agregar este encabezado de seguridad a WordPress, se le indicará al navegador que bloquee los intentos de piratería de XSS.

Paso 2: Accede al archivo .htaccess de WordPress

Accede a tu cuenta de alojamiento de WordPress. Aquí, ve a cPanel > Administrador de Archivos

Dentro, encontrarás una lista de carpetas. En el panel de la derecha, localiza la carpeta public_html. Encontrarás el archivo .htaccess aquí.

Consejo: En caso de que no puedas ver el archivo .htaccess, ve a ajustes y selecciona “mostrar archivos ocultos”.

Paso 3: Insertar el encabezado de seguridad de WordPress

Para editar este archivo, simplemente haz clic con el botón derecho del ratón sobre él y verás la opción de editarlo.

Añade la siguiente línea de código al final de tu archivo .htaccess:

Header set X-XSS-Protección “1; mode=bloqueo”

Guarda el archivo.

Paso 4: Comprobar si el encabezado de respuesta HTTP funciona

Recomendamos visitar los encabezados de seguridad para escanear su sitio para comprobar si el encabezado funciona.

Y eso es todo. Ha añadido con éxito una capa de seguridad a su sitio web al implementar el encabezado de seguridad para bloquear los ataques XSS.

Conclusión: Protección contra todos los ataques

Después de implementar este encabezado de seguridad de WordPress, estamos seguros de que su sitio está ahora a salvo de los ataques de XSS. Pero XSS no es la única vulnerabilidad de la que preocuparse. Su sitio web reside en un reino digital donde está expuesto a un diluvio de riesgos tales como hackeos e infecciones de malware.

Debe tomar amplias medidas de seguridad para bloquear los intentos de piratería y mantener su sitio web protegido. Instale MalCare para obtener una protección completa para su sitio de WordPress. Escaneará y supervisará su sitio web con regularidad. También ofrece un cortafuegos que bloqueará las direcciones IP maliciosas. Con MalCare instalado, puedes estar seguro de que tu sitio web está protegido. Puedes consultar nuestra guía sobre cómo asegurar tu sitio de WordPress.

Deja un comentario