blog webempresa

Cabecera X-Content-Type-Options, problemas de Seguridad

por | Sep 21, 2020 | Seguridad WordPress

Cabecera X-Content-Type-Options, problemas de Seguridad

Si enviamos la cabecera X-Content-Type-Options en la respuesta con el valor “nosniff”, los navegadores que soportan esta cabecera (IE y Chrome), no cargan las hojas de estilos, ni los scripts (Javascript), cuyo Myme-type no sea el adecuado.

El aspecto de la cabecera es el siguiente:

 

X-Content-Type-Options: nosniff

 

La mejor forma de añadir esta cabecera sería añadiendo unas líneas de código al archivos functions.php del tema de WordPress que estemos usando.

Este archivo se encuentra en la ruta wp-content/themes/NOMBRE_TEMA, en donde NOMBRE_TEMA es el nombre del tema que tenemos activado.

En primer lugar, haremos una copia de seguridad del archivo functions.php.

Después lo editamos y añadimos el siguiente código al final del mismo:

 

add_action( 'send_headers', 'add_header_xcontenttype' );
function add_header_xcontenttype() {
header( 'X-Content-Type-Options: nosniff' );
}

 
Existen otras alternativas.

Para implementar la cabecera en un servidor web Apache, se puede hacer usando el fichero .htaccess, añadiendo el siguiente código:

 

Header set X-Content-Type-Options nosniff

 

Con esta cabecera, se reduce el riesgo de que se produzca un ataque basado en confusión de tipos mime.

En general con la Cabecera X-Content-Type-Options evitaremos que se carguen hojas de estilo o scripts maliciosos.

Puedes leer más información en las páginas de ayuda de Microsoft MSDN.

Si queremos añadir otras cabeceras de seguridad a partir de cambios en el archivo functions.php, podemos hacerlo usando una única función, en lugar de añadir cada cabecera en una función distinta, aunque el funcionamiento sea similar.

En el siguiente código de ejemplo, que habría que colocar al final del archivo functions.php, se añaden las cabeceras X-Content-Type-Options, X-Frame-Options y X-XSS-Protection:

 

add_action( 'send_headers', 'add_header_seguridad' );
function add_header_seguridad() {
header( 'X-Content-Type-Options: nosniff' );
header( 'X-Frame-Options: SAMEORIGIN' );
header( 'X-XSS-Protection: 1;mode=block' );
}

 

Puedes echar un ojo al siguiente artículo sobre cabeceras HTTP.
 

¿Te ha resultado útil este artículo?

Promo abril