diff --git a/nginx/snippets/ssl_params.conf b/nginx/snippets/ssl_params.conf index 41b5a75..008ea28 100644 --- a/nginx/snippets/ssl_params.conf +++ b/nginx/snippets/ssl_params.conf @@ -1,13 +1,35 @@ # /etc/nginx/snippets/ssl_params.conf # -# Parâmetros de SSL e segurança recomendados e centralizados. +# Parâmetros de SSL e segurança centralizados, otimizados e reutilizáveis. -# Configurações de protocolo e cifras seguras. +# --- Configurações de Protocolo e Cifras --- +# Permite apenas os protocolos TLS modernos e seguros. ssl_protocols TLSv1.2 TLSv1.3; +# Dá preferência às cifras do servidor, que nós definimos como seguras. ssl_prefer_server_ciphers on; -ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"; +# Lista de cifras modernas, seguras e com boa performance. +ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; -# Cabeçalhos de segurança HTTP. -add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; +# --- Configurações de Sessão e Performance --- +# Cache de sessão para acelerar reconexões TLS. 50MB pode guardar ~200,000 sessões. +ssl_session_cache shared:SSL:50m; +ssl_session_timeout 1d; +# Desativa os 'session tickets' por segurança, favorecendo o 'session cache'. +ssl_session_tickets off; +# Ativa o OCSP Stapling para acelerar a verificação de certificados. +ssl_stapling on; +ssl_stapling_verify on; +# Define os servidores DNS para a verificação do OCSP. +resolver 1.1.1.1 1.0.0.1 valid=300s; +resolver_timeout 5s; +# Aponta para o nosso ficheiro de parâmetros Diffie-Hellman para Perfect Forward Secrecy. +ssl_dhparam /etc/ssl/certs/dhparam.pem; + +# --- Cabeçalhos HTTP de Segurança --- +# Força o uso de HTTPS por 2 anos e inclui subdomínios. 'preload' permite a submissão para listas de HSTS dos navegadores. +add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; +# Impede que o navegador tente interpretar MIME types incorretamente. add_header X-Content-Type-Options "nosniff" always; +# Protege contra ataques de 'clickjacking', impedindo que o site seja incorporado em iframes de outros domínios. add_header X-Frame-Options "SAMEORIGIN" always; +# O cabeçalho X-XSS-Protection foi removido por estar obsoleto e poder introduzir vulnerabilidades.