HTTP Headers de segurança - 5 Security Headers que você deve configurar no seu Site!
HTTP Headers permitem que o browser ( client ) e o servidor se comunicam através de HTTP request ou response e para proteger o cliente ( browser ) contra alguns ataques, foram adicionados a browser modernos alguns mecanismos de proteção para tratar vulnerabilidades.
Esses Headers são:
-
HTTP Strict-Transport-Security (HSTS): força o uso de conexões criptografadas, evitando assim um ataque de Man in the Middle, que pode ocorrer, por exemplo em Wifi Públicos, já que todas as requisições são forçadas a serem em HTTPS.
-
Content Security Policy (CSP): Protege contra ataques de injeção de conteúdos como Cross-Site Scripting (XSS), por bloquear requisição entre domínios não autorizados.
-
X-Frame-Options: Evita ataques como Clickjacking ( ataque de roubo de cliques ), por dizer se o browser se deve ou não deve carregar conteúdos de endereços especificados, importante para tags html como
<frame>
,<iframe>
,<object>
ou<embed>
. -
X-Content-Type-Options: Protege contra vulnerabilidades de MIME sniffing, evita que o browser carregue arquivos que foram injetados de forma invalida ou indevida, evitando por exemplo que seja injetado um arquivo texto com um javascript e ele seja executado do lado do cliente.
-
X-XSS-Protection: faz com que os navegadores apliquem filtros contra ataques XSS. XSS são ataques onde uma pessoa poder forçar a execução de códigos indevidos/arbitrários na maquina de outra pessoa.
Bônus 2 extras:
Server:
X-Powered-By:
Como validar
Browser
Valores esperados:
HTTP Strict-Transport-Security (HSTS):
- Strict-Transport-Security: max-age=
expire-time
- Strict-Transport-Security: max-age=
expire-time
; includeSubDomains - Strict-Transport-Security: max-age=
expire-time
; preloadNote que você deve incluir um número para o expire-time, tempo em segundo.
Content Security Policy (CSP):
- Content-Security-Policy: policy
Exemplo Content-Security-Policy: default-src ‘self’
X-Frame-Options:
- X-Frame-Options: DENY
- X-Frame-Options: SAMEORIGIN
X-Content-Type-Options:
- X-Content-Type-Options: nosniff
X-XSS-Protection:
- X-XSS-Protection: 1
- X-XSS-Protection: 1; mode=block
- X-XSS-Protection: 1; report=< reporting-uri >
1 habilita a filtragem, se um ataque for detactado ele reporta ao reporting-uri o ataque