Cabecera X-Content-Type-Options ausente

El encabezado HTTP de respuesta X-Content-Type-Options es un marcador utilizado por el servidor para indicar que los tipos MIME anunciados en los encabezados Content-Type deben seguirse estrictamente y no modificarse. El encabezado X-Content-Type-Options ayuda a prevenir ciertos tipos de ataques al obligar al navegador a ceñirse al tipo de contenido declarado y no detectar el tipo MIME.

MIME significa Multipurpose Internet Mail Extensions y es un estándar que se utiliza para identificar el tipo de contenido que se envía a través de Internet, como texto, imágenes, audio, video y archivos de aplicaciones. Los tipos MIME se definen en el encabezado HTTP de las solicitudes y respuestas web.

Los ataques MIME sniffing, por otro lado, son un comportamiento del navegador que intenta adivinar el tipo MIME de un recurso si no se especifica explícitamente en el encabezado HTTP. El navegador analiza el contenido del recurso en busca de patrones o firmas específicas que coincidan con tipos MIME conocidos. Si se encuentra una coincidencia, el navegador anula el tipo MIME especificado en el encabezado HTTP con su propia suposición.

Si bien el MIME sniffing puede ser útil en algunos casos, también puede generar riesgos de seguridad y privacidad si es explotado por un atacante.

Veamos ahora cómo configurar la cabecera X-Content-Type-Options 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-Content-Type-Options "nosniff"
				
			

La línea anterior establece el encabezado X-Content-Type-Options en nosniff, indicando al navegador que no realice MIME sniffing y que confíe en el tipo de contenido declarado.

Finalice reiniciando Apache:

				
					sudo systemctl restart apache2
				
			

Esta configuración agrega el encabezado X-Content-Type-Options a todas las respuestas enviadas por su servidor Apache, lo que ayudará a prevenir ataques de MIME sniffing

Compartir