Cabecera X-XSS Protection Header ausente

La cabecera de respuesta HTTP llamada X-XSS-Protection es una característica de ciertas versiones de navegadores Internet Explorer, Chrome y Safari, que impide que las páginas se carguen del lado del usuario cuando detectan ataques de secuencias Cross Site Scripting (XSS).

Estas protecciones son en gran medida innecesarias en los navegadores modernos cuando los sitios implementan una política Content-Security-Policy sólida que desactiva el uso de JavaScript en línea ('unsafe-inline').

Las técnicas de Cross Site Scripting  (XSS) son un ataque que permite que un agente malicioso pueda inyectar código Javascript  del lado del cliente en un sitio web. Este código lo ejecutan las víctimas y permite a los atacantes robar cookies de sesión, provocar redirecciones o ejecutar instrucciones en el navegador del usuario. Según OWASP,  los ataques XSS ha sido tradicionalmente una de las 10 vulnerabilidades más explotadas en aplicaciones web en el mundo.

Los ataques XSS tienen éxito si la aplicación web es vulnerable por efecto de no emplear suficiente validación o sanitizaciones de la entrada de datos. Cuando se materializan estos ataques, el navegador del usuario no puede detectar que el script malicioso no es confiable y, por lo tanto, da acceso a cookies, tokens de sesión, información confidencial específica del sitio o incluso permite que el script malicioso reescriba el contenido HTML.

Veamos ahora cómo configurar la cabecera X-XSS-Protection en Apache:

Lo primero que se requiere es activar el módulo de Headers así:

				
					sudo a2enmod headers
				
			

A continuación reinicie Apache en su servidor:

				
					sudo systemctl restart apache2
				
			

Alternativamente, reinicie Apache así:

				
					sudo service httpd restart
				
			

Luego deberá editar el archivo

que se ubica normalmente al interior de /etc/httpd/conf/ o al interior de /etc/apache2 según su distribución de sistema operativo. También es posible que usted tenga un archivo específico de sitio web tal como example.com.conf al interior de sites-available y agregue la siguiente directiva dentro del bloque

				
					<VirtualHost> 
				
			

para el dominio deseado o globalmente:

				
					Header always set X-XSS-Protection "1;  mode=block"
				
			

La línea anterior habilita el filtrado XSS. En lugar de sanitizar la página, el navegador evitará la visualización de la página si se detecta un ataque.

 

Finalice reiniciando Apache:

				
					sudo systemctl restart apache2
				
			

Esta configuración agrega el encabezado X-XSS-Protection  a todas las respuestas enviadas por su servidor Apache, lo que ayudará a prevenir ataques de XSS

Compartir