@@ -7,11 +7,36 @@ server {
77
88 server_name _;
99
10+ # Oculta a versão do NGINX para reduzir informações expostas
11+ server_tokens off;
12+
13+ # Cabeçalhos de Segurança
14+ # Habilita HSTS (HTTP Strict Transport Security) para forçar conexões HTTPS
1015 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
16+
17+ # Previne ataques de clickjacking, permitindo que o site seja exibido apenas em seu próprio domínio
1118 add_header X-Frame-Options "SAMEORIGIN" always;
19+
20+ # Ativa proteção contra ataques de Cross-Site Scripting (XSS)
1221 add_header X-XSS-Protection "1; mode=block" always;
22+
23+ # Impede que navegadores tentem adivinhar (sniff) o tipo MIME dos arquivos
1324 add_header X-Content-Type-Options "nosniff" always;
25+
26+ # Controla como os cabeçalhos de referência são enviados
27+ add_header Referrer-Policy "strict-origin-when-cross-origin" always;
28+
29+ # Política de Segurança de Conteúdo (CSP) para mitigar riscos de injeção de scripts
30+ add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self';" always;
31+
32+ # Limita o tamanho de uploads para prevenir ataques de negação de serviço
33+ client_max_body_size 10M;
34+ client_body_buffer_size 128k;
1435
36+ # Desativa listagem de diretórios para evitar exposição de estrutura
37+ autoindex off;
38+
39+ # Bloqueia acesso a diretórios sensíveis
1540 location ~ ^/(logs|cache|inc|data|cli)/ {
1641 return 301 /;
1742 }
@@ -27,16 +52,24 @@ server {
2752 location ~ \.php$ {
2853 include snippets/fastcgi-php.conf;
2954 fastcgi_pass 127.0.0.1:9000;
55+
56+ # Oculta cabeçalho que revela a versão do PHP
57+ fastcgi_hide_header X-Powered-By;
3058 }
3159
32- location ~ /\.ht {
60+ # Bloqueia acesso a arquivos e diretórios ocultos
61+ location ~ /\. {
3362 deny all;
63+ return 404;
3464 }
3565
36- location = /.env {
66+ # Bloqueia acesso a arquivos de configuração e banco de dados
67+ location ~ \.(sql|conf|ini)$ {
3768 deny all;
3869 return 404;
3970 }
4071
72+ # Minimiza logs para reduzir exposição de informações
4173 access_log /dev/null;
74+ error_log /dev/stderr warn;
4275}
0 commit comments