O HSTS se aplica a todo o domínio, portanto, configurá-lo em todas as suas respostas deve funcionar bem.
Eu tenho que adicionar medidas de segurança a um site executando um servidor de aplicativos Tomcat 6. Uma delas é adicionar o cabeçalho HTTP Policy-Transport-Policy. Fiz isso adicionando um filtro que, por sua vez, adiciona esse cabeçalho a qualquer resposta. Mas há conteúdo estático servido por servidores web apache (na frente do servidor de aplicativos), não tenho acesso a. Então, minha pergunta é: eu tenho que cuidar disso? É necessário retornar este cabeçalho com todos os arquivos exibidos (.css, .js, etc.)? Tanto quanto eu entendo este cabeçalho, ele diz ao navegador "Ei, se você ler isso, acesse este domínio via HTTPS somente para o próximo".
Não, você não precisa enviar o cabeçalho com todas as respostas. Em o RFC , seção 6.1.1:
The REQUIRED "max-age" directive specifies the number of seconds, after the reception of the STS header field, during which the UA regards the host (from whom the message was received) as a Known HSTS Host.
Assim, o cabeçalho é explicitamente projetado para ser usado em todo o domínio e armazenado em cache. Para proteger seus ativos estáticos que não têm esse cabeçalho, você faz precisa ter o navegador acessando uma rota que envia o cabeçalho primeiro e depois novamente antes que o valor max-age expire.
Tags http http-headers