8 encabezados de seguridad HTTP que debe usar para mejorar la seguridad
Publicado: 2022-04-08El encabezado de seguridad HTTP es una de las partes más básicas pero poderosas de la seguridad web. Con la ayuda de estas medidas de seguridad, podrá aumentar la seguridad de su aplicación web al siguiente nivel. Defiende su sitio web de todos los ataques que su sitio web probablemente tenga que enfrentar.
Estos encabezados de seguridad HTTP son tan poderosos que cuando los habilita, protegen su sitio web de algunos ataques comunes, como el secuestro de clics, la inyección de código, las secuencias de comandos entre sitios y muchos más.
Entonces, en esta publicación, le explicaremos todo sobre la lista de encabezados de seguridad HTTP, cómo pueden ser beneficiosos y cómo puede implementarlos.
¡Estén atentos y comencemos!
¿Qué es el encabezado de seguridad HTTP?
Básicamente, un encabezado de seguridad HTTP es un conjunto de comandos o directivas que se intercambian entre su navegador web (o cualquier cliente web) y un servidor web para especificar los detalles relacionados con la seguridad de la comunicación HTTP. Estos intercambios o compartir información son parte del protocolo HTTP. Estos comandos o directivas le permiten a su navegador saber qué está permitido mostrar o qué no, para su sitio web, para garantizar su seguridad y sin inyección de malware.
Estos comandos de encabezado de seguridad HTTP ayudan a proteger tanto el navegador web como su sitio web de cualquier amenaza de seguridad, como ataques de piratas informáticos o inyección de código malicioso . Entonces, esta estrategia de seguridad actúa como un sistema de defensa general.
¿Por qué necesita implementar el encabezado de seguridad HTTP?
Como ya habrá notado, ha habido varios artículos e informes que circulan en Internet sobre el aumento máximo de los ataques cibernéticos y los casos de violación de datos en los últimos años. Y uno de los principales culpables de que ocurran todos estos percances son las malas medidas de seguridad y las malas configuraciones.
Estos encabezados de seguridad HTTP ayudan a detener algunos de los ataques de piratas informáticos más comunes, inyecciones de malware, secuestro de clics, inyección de scripts maliciosos, etc. Proporcionan una capa adicional de protección al restringir algunas actividades entre el servidor y el navegador web, mientras que la aplicación web está corriendo.
Aunque ha habido muchos encabezados HTTP disponibles, el punto es cuál debe implementar para obtener una mejor protección. Al igual que cualquier tecnología web que cambia con el tiempo, aparecerán y desaparecerán nuevos encabezados HTTP según el soporte del navegador.
Por lo tanto, se vuelve esencial para usted decidir qué encabezado HTTP debe implementar y cuál no, pero por ahora, debe implementar estas 8 listas de encabezados de seguridad HTTP para que pueda obtener protección contra algunas de las amenazas más comunes.
Además, el encabezado de seguridad HTTP también puede ayudar a mejorar la puntuación de SEO de su sitio web.
Ejecutar comprobación de encabezados de seguridad
Antes de continuar, lo primero que debe hacer es ejecutar una verificación de encabezado de seguridad en su sitio web. Con la ayuda de los cuales, le será fácil ver cuáles son los encabezados de seguridad esenciales que faltan en su sitio web.
Para hacerlo, debe visitar el sitio web de encabezados de seguridad e ingresar la dirección de su sitio web como se muestra en la imagen a continuación:

Cuando ingresa la URL de su sitio web y presiona el botón Escanear, se generará un informe completo que muestra todos los encabezados de seguridad HTTP vitales que faltan en color rojo, y un grado que muestra qué tan seguro es su sitio web.

En la imagen de arriba, puede ver los encabezados de seguridad HTTP no detectados. que hemos explicado y enumerado a continuación.
Lista de encabezados de seguridad HTTP más importantes
Veamos algunos de los encabezados de seguridad HTTP más importantes que debe implementar en sus aplicaciones web para mejorar la seguridad y habilitar una capa adicional de protección.
1. Opciones de marco X
Por primera vez, Microsoft ha introducido las opciones de X-Frame en su Microsoft Internet Explorer, que ayuda a protegerse contra la inyección de secuencias de comandos maliciosas o los ataques de secuencias de comandos entre sitios. Este encabezado de seguridad HTTP protege los iFrames de su sitio web al indicar a los navegadores que pregunten si deben procesar iFrame en el sitio web o no.
Protege principalmente de todos los ataques de secuestro de clics en los que un atacante implementa múltiples capas en un enlace o botón para redirigir a los usuarios a otra página y robar su información vital.
Sintaxis a seguir:
1 2 3 |
X - Frame - Options : DENY X - Frame - Options : SAMEORIGIN X - Frame - Options : ALLOW - FROM < em > URL < / em > |
Instrucciones Explicación:
DENY : esta directiva no permitirá que iFrame muestre
SAMEORIGIN: esta directiva permitirá renderizar iFrames solo con el mismo origen.
ALLOW- FROM: esta directiva permitirá renderizar iFrame solo desde una URL en particular.
2. Seguridad estricta en el transporte
El encabezado Strict-Transport-Security o HTTPS Strict Transport Security ayuda a proteger contra ataques MIM y secuestro de cookies cuando está habilitado. Esta directiva obliga al navegador a usar HTTPS en lugar de comunicación HTTP.
Entendamos cómo funciona si está ejecutando cualquier sitio web en HTTP y lo migró en HTTPS. Sus antiguos visitantes seguirán intentando acceder a la antigua URL con HTTP. Como ya migró su sitio web a HTTPS, la URL anterior lo redirigirá a la nueva.
Pero el punto es que sus visitantes aún pueden acceder a la versión no cifrada de su sitio web antes de redirigir a la nueva URL cifrada. Entre el proceso, los piratas informáticos tienen la oportunidad de realizar ataques MIM o Man in the middle.
Pero cuando habilita Strict-Transport-Security, el navegador recibirá instrucciones para no cargar sitios web HTTP en lugar de obligar al navegador a comunicarse a través de HTTPS.
Sintaxis a seguir:
1 2 3 |
Strict - Transport - Security : max - age = < expire - time > Strict - Transport - Security : max - age = < expire - time > ; includeSubDomains Strict - Transport - Security : max - age = < expire - time > ; preload |
Instrucciones Explicación
max-age=<expire-time> : esta directiva le permite decidir durante cuánto tiempo (en segundos) el navegador puede acceder a ella a través de HTTPS.
max-age=<tiempo de caducidad>; includeSubDomains : si se menciona esta directiva, significa que la regla anterior también se aplica a todos los subdominios del sitio web.
max-age=<tiempo de caducidad>; precarga : esta directiva muestra que el sitio web se ha incluido en la lista global de sitios HTTPS.
3. Política de seguridad de contenidos
Este encabezado de seguridad HTTP le indica al navegador que cargue solo los contenidos que se mencionan en la política. Significa que tendrá el poder de controlar los recursos de su sitio web y permitir que los navegadores carguen solo los recursos de contenido que haya incluido en la lista blanca.
Ayuda a los navegadores a decidir desde dónde cargar los recursos de contenido, como secuencias de comandos, imágenes o CSS. Si puede implementar este encabezado de seguridad HTTP con éxito, protegerá su sitio web de Clickjacking, Cross-Site Scripting (XSS) y cualquier inyección de código malicioso.
Aunque no garantiza al 100% la protección, ayuda a prevenir y limitar posibles daños. Incluso, la mayoría de los navegadores ahora identifican este grave problema y comenzaron a admitirlo.
Sintaxis a seguir:
1 |
Content - Security - Policy : < policy - directive > ; < policy - directive > |
Instrucción Explicación
<policy-directive> : puede incluir cualquier directiva de política, como script-src (CSS) , img-src (imágenes) o style-src (hoja de estilo) y permitir que se carguen.
4. Opciones de tipo de contenido X
Este tipo de encabezado le permite restringir o evitar la detección de tipos MIME diciéndole al navegador que los tipos MIME están configurados deliberadamente en el servidor. Básicamente, en el rastreo de MIME, brinda una oportunidad para que los atacantes inyecten cualquier script malicioso ejecutable.
Por ejemplo, un atacante ha inyectado cualquier recurso malicioso que ha cambiado la respuesta de un recurso inocente, por ejemplo, imágenes. Debido a la detección de MIME, el navegador dejará de representar el tipo de contenido de la imagen en lugar de comenzar a ejecutar los recursos maliciosos que se han inyectado.
Cuando habilite este encabezado, confiará y obligará al navegador a seguir solo los tipos MIME que se han especificado en los encabezados de tipo de contenido. De esta manera, puede proteger y prevenir fácilmente la inyección de secuencias de comandos maliciosas o los ataques de secuencias de comandos entre sitios.
Sintaxis a seguir:
1 |
X - Content - Type - Options : nosniff |
Explicación de instrucciones:
La directiva nosniff bloqueará inmediatamente una solicitud si el destino de la solicitud de tipo:
- estilo
- El tipo MIME no es texto/CSS o tipo Script
- El tipo MIME no es el tipo MIME de JavaScript
5. Política de referencia
Esta seguridad de encabezado le permitirá controlar si se debe revelar la información de referencia. Si es así, entonces por cuánto.
Sin embargo, para otras solicitudes, el navegador compartirá solo información sobre el origen.
Sintaxis a seguir:
1 2 |
Referrer - Policy : origin - when - cross - origin Referrer - Policy : no - referrer - when - downgrade |
Explicación de instrucciones:
origin-when-cross-origin: el navegador compartirá información de referencia completa para solicitudes del mismo origen y otras solicitudes, el navegador compartirá solo sobre el origen.
no-referrer-when-downgrade: el navegador no compartirá información de referencia cuando envíe el encabezado de Referrer
para solicitudes a destinos menos seguros.
6. Característica o política de permisos
Este encabezado de seguridad le permite a un sitio web decidir si proporciona o no acceso a una función o API en particular en el navegador. Con la ayuda de este encabezado, puede controlar fácilmente la funcionalidad de cualquier aplicación en su navegador, que puede difamar su privacidad y permitirlo solo si lo considera legítimo y necesario.
Por ejemplo, si no desea que el sitio web acceda a su micrófono, cámara web o ubicación y desea restringir su funcionalidad siguiendo la siguiente sintaxis:
1 2 3 |
Feature - Policy : microphone 'none' ; camera 'none' Feature - Policy : geolocation 'self' ; vibrate 'none' Permissions - Policy : geolocation = ( self ) , vibrate = ( ) |
sintaxis a seguir:
1 |
Feature - Policy : < directive > < allowlist > |
Explicación de instrucciones:
La <directiva> puede ser cualquier cosa, como acelerómetro, reproducción automática, sensor de luz ambiental, batería, cámara, micrófono o geolocalización.

mientras que <allowlist> es una lista de orígenes, que puede tomar uno o más valores como 'ninguno', 'auto', etc. puestos por separado. Para su referencia, puede consultar la lista completa de directivas y la lista de permitidos desde aquí.
7. Dominio cruzado con permiso X
Con la ayuda de este encabezado de seguridad HTTP, puede dar instrucciones al navegador y tener control sobre todas las solicitudes que provienen de dominios cruzados. Cuando habilite este encabezado, limitará su sitio web para cargar activos de sitio web innecesarios que provienen de otros dominios. Para que los recursos del sitio web se puedan utilizar de manera eficiente.
Esta cabecera de seguridad es opcional y no es necesario tenerlas, pero es bueno instalarlas y habilitarlas.
Sintaxis a seguir:
1 |
X - Permitted - Cross - Domain - Policies : "none" |
8. Protección XSS
Se introduce la protección XSS o el encabezado de protección de secuencias de comandos entre sitios para proteger contra los ataques de secuencias de comandos entre sitios. Estos ataques se consideran muy comunes y efectivos, por lo que la mayoría de los navegadores web habilitan la protección XSS de forma predeterminada.
Cuando un atacante intenta infectar un sitio web mediante la inyección de código javascript malicioso durante una solicitud HTTP para robar información confidencial, como datos de transacciones, datos personales, etc. ellos inmediatamente.
Sin embargo, este filtro solo estaba disponible en navegadores antiguos y ya no es necesario para los navegadores modernos. Especialmente si ya ha implementado una política de seguridad realmente buena y es bueno seguir adelante y tenerla en caso de que sus visitantes todavía usen navegadores antiguos que no entienden la política de seguridad de contenido.
Sintaxis a seguir:
1 2 3 4 |
X - XSS - Protection : 0 X - XSS - Protection : 1 X - XSS - Protection : 1 ; mode = block X - XSS - Protection : 1 ; report = < reporting - uri > |
Explicación:
0 : esto deshabilitará la protección XSS
1 – Habilitar la protección XSS
1; mode=block : detiene los navegadores para que carguen la página web por completo cuando se detecta un ataque de secuencias de comandos entre sitios.
1; report=<reporting-uri> – Cuando se detecta un ataque XSS, el navegador bloqueará la parte insegura y lo informará
¿Cómo implementar la corrección de vulnerabilidad de encabezados de seguridad HTTP en su sitio web?
Si su proveedor de servicios de alojamiento web le permite tener acceso a cualquiera de los dos archivos .htaccess o archivo wp-config.php. Entonces puede ser fácil implementar una corrección de vulnerabilidad de encabezado de seguridad HTTP en su sitio web agregando los encabezados de seguridad HTTP en cualquier lugar.
En WPOven , proporcionará acceso SSH, a través del cual puede acceder fácilmente al Administrador de archivos y editar su archivo .htaccess .
Paso 1 : Primero debe habilitar el acceso SSH para el sitio. Para ello es necesario acceder al sitio desde el panel de control de WPOven .

Vaya a la sección 'Herramientas' .

Luego, desde la sección 'Herramientas' , debe presionar el botón 'Habilitar acceso SSH' en la parte inferior de la página.

Paso 2 : una vez que el acceso SSH está habilitado para el sitio, puede iniciar sesión a través de aplicaciones de terceros como Putty o PenguiNet utilizando las credenciales de inicio de sesión SFTP de su sitio.
Sin embargo, también puede obtener acceso a su archivo .htaccess o wp-config.php, directamente a través de un cliente FTP conocido popularmente como File Zilla.
Todo lo que necesita hacer es seguir estos pasos que se detallan a continuación:
- Primero, debe conectarse a su sitio web de WordPress usando un cliente FTP. Esto le permitirá editar su archivo .htaccess. Este archivo se puede encontrar en el directorio raíz de su sitio web de WordPress.
- En caso de que el archivo .htaccess no esté visible, es posible que desee verificar los archivos ocultos.
- No es necesario tener ningún editor especial, puede escribir el código en cualquier editor de texto como el Bloc de notas.
- Tienes que escribir este código y agregarlo al archivo .htaccess. Se recomienda agregarlo al final del archivo .htaccess.
- Cuando encuentre el sitio, descárguelo a su disco local y luego ábralo en cualquier editor de texto. La opción más simple es un Bloc de notas estándar. Agregue el siguiente código en la parte inferior del archivo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
X - Frame - Options : DENY X - Frame - Options : SAMEORIGIN X - Frame - Options : ALLOW - FROM URL Strict - Transport - Security : max - age = < expire - time > Strict - Transport - Security : max - age = < expire - time > ; includeSubDomains Strict - Transport - Security : max - age = < expire - time > ; preload Content - Security - Policy : < policy - directive > ; < policy - directive > X - Content - Type - Options : nosniff Referrer - Policy : origin - when - cross - origin Referrer - Policy : no - referrer - when - downgrade Feature - Policy : < directive > < allowlist > X - Permitted - Cross - Domain - Policies : "none" X - XSS - Protection : 0 X - XSS - Protection : 1 X - XSS - Protection : 1 ; mode = block X - XSS - Protection : 1 ; report = < reporting - uri > |
Cambie los atributos, directivas y valores según sea necesario, guárdelos y cárguelos.
Alternativamente, también puede acceder a los archivos de configuración de su servidor web y aplicar estos encabezados de seguridad. Sin embargo, si no desea realizar cambios por su cuenta y es cliente de WPOven, puede abrir un ticket de soporte y podemos hacerlo rápidamente por usted.
Resumen
En la publicación anterior, puede ver lo importante que es tener un encabezado de seguridad HTTP habilitado en su sitio web. Y en qué medida proporcionan un refuerzo de la seguridad del sitio web. Sin embargo, estos valores se han implementado de forma predeterminada en los navegadores más recientes y avanzados disponibles. Pero aún así, no encontré ninguna razón por la que no debas usarlos.
En caso de que no tenga acceso a los servidores de su sitio web, le resultará difícil. Siempre es mejor pedir ayuda a profesionales. Es mejor que se comunique con su proveedor de alojamiento web y le pida que implemente encabezados de seguridad HTTP en su sitio web.
Preguntas frecuentes
¿Son seguros los encabezados HTTP?
Sí, los encabezados de seguridad HTTP son una de las directivas de refuerzo de ciberseguridad más importantes. Toda la información en los encabezados HTTP está encriptada.
¿Cuáles son algunos encabezados que agregan seguridad?
Algunos de los encabezados que agregan seguridad al sitio web son:
1. Opciones de marco X
2. Seguridad estricta en el transporte
3. Política de seguridad de contenidos
4. Opciones de tipo de contenido X
5. Política de referencia
6. Característica o política de permisos
7. Dominio cruzado con permiso X
8. Protección XSS
¿Qué es el encabezado CSP?
El encabezado de la política de seguridad de contenido o CSP le indica al navegador que cargue solo los contenidos que se mencionan en la política. Significa que tendrá el poder de controlar los recursos de su sitio web y permitir que los navegadores carguen solo los recursos de contenido que haya incluido en la lista blanca.