Configuração de Política de Segurança de Conteúdo (CSP)

Configuração de Política de Segurança de Conteúdo (CSP) no Amazon CloudFront e Outros Servidores

A Política de Segurança de Conteúdo (CSP) é uma camada adicional de segurança que ajuda a detectar e mitigar certos tipos de ataques, como Cross-Site Scripting (XSS) e ataques de injeção de dados. Esta documentação descreve a configuração da CSP para melhorar a segurança do site.

Diretivas:

default-src:

Especifica a origem padrão para conteúdos não explicitamente definidos em outras diretivas. Restringe o conteúdo a ser carregado apenas da mesma origem.

default-src 'self';

script-src:

Especifica as origens permitidas para carregar scripts. Restringe a execução de scripts apenas à mesma origem.

script-src 'self';

style-src:

Especifica as origens permitidas para carregar estilos. Inclui uma origem externa para os estilos do Bootstrap Icons.

style-src 'self' https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css;

font-src:

Especifica as origens permitidas para carregar fontes. Inclui origens para as fontes do Google Fonts e do Bootstrap Icons.

font-src 'self' https://fonts.gstatic.com https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/;

connect-src:

Especifica as origens permitidas para fazer solicitações de rede. Restringe as conexões para serem feitas apenas à mesma origem.

connect-src 'self';

frame-ancestors:

Especifica as origens que podem incorporar o conteúdo em um frame. Definido como 'none' para impedir a incorporação do conteúdo em frames de outras origens.

frame-ancestors 'none';

form-action:

Especifica as origens que podem ser usadas como destino para formulários. Definido como 'self' para permitir envios de formulários apenas à mesma origem.

form-action 'self';

Exemplo Completo:

default-src 'self'; 
script-src 'self'; 
style-src 'self' https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css; 
font-src 'self' https://fonts.gstatic.com https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/; 
connect-src 'self';
frame-ancestors 'none'; 
form-action 'self';
    

Configuração no Amazon CloudFront:

    1. Acesse o Console de Gerenciamento da AWS: Console AWS
    2. Navegue até o CloudFront no console da AWS.
    3. Selecione a distribuição do CloudFront associada ao seu site.
    4. Em "Comportamento", configure as configurações de cabeçalho da resposta. Adicione as diretivas CSP como cabeçalhos personalizados.
Name: Content-Security-Policy
Value: default-src 'self'; script-src 'self'; style-src 'self' https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css; font-src 'self' https://fonts.gstatic.com https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/; connect-src 'self'; frame-ancestors 'none'; form-action 'self';
        
  1. Salve as alterações e aguarde a propagação.

Configuração em Outros Servidores Web:

Para servidores web padrão, você pode configurar a CSP adicionando diretivas ao cabeçalho Content-Security-Policy nas configurações do servidor. Isso pode ser feito no arquivo de configuração do servidor ou por meio de scripts específicos.

Exemplo em Apache (arquivo .htaccess):

    Header set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css; font-src 'self' https://fonts.gstatic.com https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/; connect-src 'self'; frame-ancestors 'none'; form-action 'self';
    ";

    

Exemplo em Nginx:

add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css; font-src 'self' https://fonts.gstatic.com https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/; connect-src 'self'; frame-ancestors 'none'; form-action 'self';
    ";
    

Observações Importantes:

  • Teste Antes de Implementar: Certifique-se de testar a CSP em um ambiente de desenvolvimento antes de implementar em produção.
  • Relatórios de Violação (Opcional): Considere configurar relatórios de violação (report-uri ou report-to) para monitorar e ajustar a CSP com base em relatórios recebidos.

Estas são diretrizes gerais e podem variar com base nas configurações específicas do seu ambiente e servidor. Sempre consulte a documentação oficial do serviço que você está usando para obter informações mais precisas.

Você achou esse artigo útil?