HTTP: Cabeçalhos de Segurança
O protocolo HTTP aumenta a segurança de uma aplicação para web por meio de cabeçalhos que devem ser incluídos nas respostas. O projeto OWASP Secure Headers (ver link abaixo) descreve estes cabeçalhos e contém dicas de boas práticas.
A seguir são apresentados alguns cabeçalhos de segurança.
HTTP Strict Transport Security (HSTS)
Com este cabeçalho o servidor informa ao navegador que este só pode enviar requisições utilizando o protocolo HTTPS.
No exemplo abaixo, o cabeçalho informa que o navegador deve lembrar por 1 ano (31.536.000 segundos) que não pode enviar requisições usando HTTP.
Strict-Transport-Security: max-age=31536000
X-XSS-Protection
Com este cabeçalho o navegador ativará a proteção contra ataques do tipo Cross-site Scripting (XSS). Neste tipo de ataque um usuário malicioso insere scripts em campos de entrada de dados da aplicação. Estes scripts, quando executados pelo navegador, são considerados legítimos pois foram enviados pela própria aplicação.
No exemplo abaixo, o navegador não exibirá a página caso detecte um ataque.
X-XSS-Protection: 1; mode=block
Content-Security-Policy (CSP)
Este cabeçalho é um dos mais abrangentes em termos de segurança. Ele permite definir, com grande grau de refinamento, quais restrições aplicadas a cada elemento de uma página HTML.
Toda aplicação para web minimamente preocupada com questões de segurança deve utilizar o cabeçalho Content-Security-Policy.
Leitura Obrigatória |
---|
OWASP Secure Headers Project |
Sobre CSP |
XSS |
Leitura Sugerida |
---|
Cabeçalhos de Segurança no Spring |
Autenticação de Usuário via HTTP |