Segurança: CSP
O curso lê, linha por linha, a Content Security Policy de uma aplicação Rails. Explica como as diretivas caem no default-src e por que base-uri, form-action e frame-ancestors não caem. Compara listas de origens com nonces, hashes e strict-dynamic. Examina cada exceção da política, como o unsafe-inline no style-src e o wasm-unsafe-eval. Mostra como implantar uma política com o modo só de relatório e um endpoint de relatórios. Termina com um plano ordenado para endurecer a política.
O que você vai aprender
- ✓Como a CSP impede um payload injetado de executar
- ✓Quais diretivas caem no default-src e quais não caem
- ✓Como nonces, hashes e strict-dynamic substituem listas de host
- ✓Como avaliar cada exceção de uma política
- ✓Como implantar uma política com o modo só de relatório
- ✓Um plano ordenado para endurecer uma política Rails existente
A política que este app já tem
A maioria das aplicações Rails tem o config/initializers/content_security_policy.rb ali, inteiramente comentado. Esta não.
Ler a aula completa grátis →Currículo
7 aulasA política que este app já tem
Lê o inicializador de CSP ativo deste app Rails, suas diretivas, o nonce por sessão e o csp_meta_tag.
Diretivas e a cadeia de fallback
Explica como diretivas de busca substituem o default-src, quais três não têm fallback e o que significam os valores de origem.
Nonces, hashes e strict-dynamic
Compara listas de host com políticas de nonce e hash, pesa o gerador por sessão e explica o strict-dynamic.
As exceções desta política
Examina cada exceção desta política, do unsafe-inline em estilos ao wasm-unsafe-eval e às origens blob, https e data.
Implantando, e o modo só de relatório
Mostra como cabeçalhos só de relatório, um endpoint de relatórios e filtragem permitem implantar a política aos poucos.
Além do script-src
Trata de frame-ancestors, base-uri e form-action contra ataques só com HTML, além de Trusted Types, sandbox e limites da CSP.
Juntando tudo: endurecendo esta política
Audita esta política e ordena o endurecimento: diretivas faltantes, nonce por resposta e depois a remoção de estilos embutidos.