HTTP Security Headers: How to Secure Your Website

Encabezados de seguridad HTTP: cómo proteger su sitio web

Recientemente, le presentamos la herramienta en línea Securityheaders.io, que le permite verificar la seguridad de un servidor web. Puede encontrar las debilidades de su propio servidor rápida y fácilmente. Además, recibe muchos buenos artículos profesionales sobre el tema. Con todo este soporte, es bastante fácil neutralizar las vulnerabilidades más importantes e implementar otra capa de seguridad. En el artículo de hoy, explicaré cómo configurar los encabezados de seguridad HTTP primarios para permitirle hacer que su servidor sea más seguro.

Por adelantado: escaneo de servidores y determinación del estado original

Utilice la herramienta en línea encabezadosdeseguridad.io para escanear su dominio. Es probable que vea rojo, ya que este es el color que se le presenta cuando su servidor es potencialmente inseguro. Eso no es gran cosa, ya que se estima que el 80% de todos los servidores web no son seguros.

Encabezados de seguridad HTTP

El escaneo ha creado resultados que son los más comunes. Para sitios web con certificado HTTPS, hay dos aspectos adicionales. En este artículo, queremos cerrar las brechas de seguridad de las que nos informó el escaneo. Además, queremos analizar si todos los resultados tienen sentido y si se deben implementar o no.

Hablaremos sobre los siguientes encabezados de seguridad HTTP en este artículo

  • Opciones de marco X
  • Protección X-XSS
  • Opciones de tipo de contenido X
  • Seguridad estricta en el transporte (Nur HTTPS-Sitios web)

¿Qué son los encabezados de seguridad HTTP?

Cada vez que un navegador solicita una página de un servidor, el servidor responde con la entrega de la página y envía un encabezado de respuesta HTTP. Estos encabezados pueden contener metadatos como juegos de caracteres, control de caché y códigos de error. Sin embargo, también puede hacer que los encabezados de respuesta envíen configuraciones que sean relevantes para la seguridad e indiquen a los navegadores cómo reaccionar. Por ejemplo, un encabezado de seguridad de transporte estricto le diría al navegador que solo se comunique a través de HTTPS. En total, hay seis encabezados de seguridad diferentes. Le diremos qué encabezados debe usar y cuáles debe evitar en este artículo.

Importante: todos los encabezados de seguridad HTTP mencionados pertenecen al archivo .htaccess en el índice raíz del sitio web.

En general, hay tres formas de colocar los encabezados. Por un lado, utilizando el archivo de configuración del servidor web Apache (httpd.conf), luego, a través de PHP directamente dentro del sitio web que desea proteger y, finalmente, a través del archivo de control del servidor .htaccess. Hablaré de los tres métodos. Como siempre, un clic en el gráfico abre la Gist en GitHubdonde se puede descargar el código.

1 – El encabezado de opciones de X-Frame

Se supone que el encabezado X-Frame-Options protege su sitio web para que no se lleve a cabo en un marco. A los ladrones de contenido profesionales les gusta crear sitios web que toman contenido de otros sitios. Este contenido se arrastra al sitio web de terceros utilizando un marco la mayor parte del tiempo. El sitio terminado del ladrón se verá como si el material proviniera de su propio sitio web. Para evitar esto, use un encabezado X-Frame-Options. Es muy efectivo para prevenir la ejecución en un marco.

Soporte del navegador: Internet Explorer 8+, Chrome 4.1+, Firefox 3.6.9+, Opera 10.5+, Safari 4+

opciones de marco x

La desventaja de este encabezado: El sitio web ya no se puede ejecutar como un marco. Esto también incluye los «diseños receptivos» de las barras de herramientas para desarrolladores web de Google Chrome y Firefox, así como el sitio web «Am I Responsive». Por lo tanto, el encabezado solo debe colocarse cuando el sitio web ya no está en etapa de desarrollo.

2 – El encabezado de protección X-XSS

El encabezado X-XSS-Protection se desarrolló para llamar y activar los filtros de protección de secuencias de comandos entre sitios (XSS) en los navegadores modernos. Este encabezado debe usarse en cualquier caso.

Hay tres opciones de configuración diferentes: 0 para desactivar el filtro, 1 para activar (el navegador intenta purgar y mostrar la página defectuosa) y 1; modo=bloque activa el filtro (la página defectuosa será bloqueada).

Soporte del navegador: Internet Explorer 8+, Chrome y Safari

protección x-xss

3 – El encabezado X-Content-Type-Options

Este encabezado lo protege de ataques con tipos MIME incorrectos. Cuando el tipo MIME no es el correcto, el navegador rechaza la carga de estilos y scripts. En este encabezado, la configuración solo puede llamarse NOSNIFF. Una vez que se establece el encabezado, solo se cargarán los estilos y scripts con un tipo MIME correcto. Los siguientes tipos MIME se considerarán correctos:

Estilos

  • texto/css

Guiones

  • aplicación/ecmascript
  • aplicación/javascript
  • aplicación/x-javascript
  • texto/emascript
  • texto/javascript
  • texto/jscript
  • texto/x-javascript
  • texto/vbs
  • texto/vbscript

Soporte del navegador: Internet Explorer y Google Chrome

x-contenido-tipo-opciones

4 – El encabezado de seguridad de transporte estricto (solo para sitios web HTTPS)

El encabezado Strict-Transport-Security le dice al navegador que solo acceda al sitio web a través de una conexión HTTPS segura. Esto asegura que no se cree ninguna conexión insegura que pueda ser atacada. Además de eso, este encabezado de respuesta HTTP evita que los usuarios accedan a la página si el certificado TLS del servidor no es confiable.

Opciones de configuración:

  • max-edad – La cantidad de segundos dentro de los cuales el navegador fuerza la conexión segura.
  • incluir subdominios – Le dice al navegador que también se debe forzar la conexión segura para los subdominios.

Soporte del navegador: IE 11+, Chrome 4+, Firefox 4+, Opera 12+, Safari 7+.

estricta-seguridad-en-el-transporte

Debe usar todos los encabezados de seguridad HTTP que hemos tratado hasta este punto. Cuando su sitio web solo se distribuye a través de HTTP, no necesita el último encabezado. Sin embargo, recomiendo encarecidamente configurar los tres superiores. Cuando todos los encabezados mencionados se colocaron correctamente, el próximo análisis de encabezados de seguridad debería dar como resultado una B sólida. Ese es un valor práctico.

El encabezado de la política de seguridad de contenido

El encabezado Content-Security-Policy se debe disfrutar con precaución, ya que puede influir directamente o incluso bloquear su sitio web si no se anota meticulosamente. Los usuarios de WordPress también tendrán problemas bastante importantes en el área de administración del sitio, ya que el encabezado también afecta eso. Por lo tanto, no puedo dar una recomendación general para usarlo.. La Política de seguridad de contenido (CSP) se desarrolló como protección contra Cross-Site Scripting (XSS) y otros ataques de inyección de código. La idea detrás del encabezado es que se crea una llamada lista blanca, en la que se anotan todos los recursos permitidos. El navegador no cargará ni procesará fuentes o tipos de contenido que no estén explícitamente permitidos. Si el CSP no está activo, el navegador carga todos los archivos y los distribuye, independientemente de que la fuente sea potencialmente dañina. Con un CSP activo, solo se cargan los archivos permitidos, todos los demás no. Todos los navegadores modernos admiten la Política de seguridad de contenido.

contenido-seguridad-encabezado

Las opciones de este encabezado de respuesta son muy extensas; demasiado extenso para este artículo. Sin embargo, si desea profundizar más en el encabezado de la Política de seguridad de contenido, le recomiendo la referencia de CSP:

Generador de políticas de seguridad de contenido

Para que pueda crear cómodamente fragmentos de código parcialmente muy largos para el correcto funcionamiento de un sitio web, hay un buen generador en linea. Lo guía a través de la configuración a través de pestañas y le permite ajustar la política una y otra vez hasta que finalmente funcione.

generador de políticas de seguridad de contenido

En aras de la exhaustividad, el Encabezado de pines de clave pública debe ser mencionado. Este también se puede usar sin preocupaciones, pero parece que solo es factible para los profesionales del servidor.

Conclusión

Hemos hablado sobre los encabezados de seguridad HTTP más importantes y podemos usarlos fácilmente copiando los fragmentos de código respectivos en el archivo de control del servidor .htacess. Aunque no seas un experto, puedes llegar a un B en el escaneo securityheaders.io y hacer mucho por la seguridad de su sitio web de esta manera. Sin embargo, sólo los verdaderos profesionales pueden lograr una A o A+. Al usar WordPress, es muy tedioso implementar el CSP, ya que el área de administración requiere su propio CSP para evitar problemas. En el último caso, configurar el CSP no tiene mucho sentido de todos modos. También puedes comprobar aquí para encontrar algún software gratuito para la seguridad en Internet.

(dpe)

#Encabezados #seguridad #HTTP #cómo #proteger #sitio #web

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *