Nginx | Solyd One | Ataque específicos
- Nginx | Solyd One | Ataque específicos
🔍 Checklist de Testes de Segurança
1. Enumeração de Versão e Módulos
-
Objetivo: Identificar vulnerabilidades conhecidas.
-
Método:
curl -I http://alvo
nmap -p 80,443 --script=http-server-header alvoProcure por headers como
Server: nginx/1.18.0.
2. Arquivos Padrão ou Sensíveis
- Objetivo: Detectar páginas não removidas.
- Método:
Testar caminhos como
/nginx_status,/admin,/backup/. Ferramentas:dirb,dirsearch,ffuf.
3. Listagem de Diretórios
- Objetivo: Ver se diretórios retornam listagem de arquivos.
- Método:
Solicitar
GET /imagens/e observar a resposta.
4. Directory Traversal
-
Objetivo: Acessar arquivos fora do web root.
-
Payloads:
GET /..%2F..%2Fetc/passwd
GET /../etc/passwd
5. Normalização e Dupla Codificação
-
Objetivo: Bypassar filtros.
-
Payloads:
GET /..%252F..%252Fetc/passwd
GET /%2e%2e/%2e%2e/etc/passwd
6–7. Proxy Pass Inseguro / SSRF
- Objetivo: Explorar
proxy_passmal configurado para acessar serviços internos (ex.:169.254.169.254).
8. HTTP Request Smuggling
- Objetivo: Desincronizar Nginx e backend.
- Payload: Usar
Transfer-Encoding: chunkedcom corpo truncado.
9–10. Cache Poisoning & Host Header Injection
- Testar cabeçalhos como
X-Forwarded-Host,Host: evil.com.
11–12. PHP-FPM / FastCGI
- Testar execução via uploads (
.jpg/evil.php) ou portas expostas (9000).
13. CVEs Conhecidas
- Exemplo:
CVE-2021-23017,CVE-2019-20372. - Método: Confirmar versão e comparar com base de CVEs.
14. TLS/SSL
- Ferramentas:
sslscan,testssl.sh,nmap --script ssl-enum-ciphers. - Alvo: Detectar ciphers fracos, TLS 1.0/1.1.
15–16. Métodos HTTP e Compressão
-
Testar:
curl -X TRACE https://alvo
curl -X PUT https://alvo/test.txt -d "conteúdo"
17. Cookies Inseguros
- Checar
Set-Cookie→ se faltam flagsHttpOnly,Secure,SameSite.
18–19. Logs e Status Page
- Verificar se
/logs/ou/nginx_statusestão acessíveis sem autenticação.
20–40. Outros Testes Críticos
- WebDAV, HTTP/2 DoS, upload inseguro, headers ausentes, CORS permissivo, brute force em Basic Auth, Slowloris, chunked DoS.
41–50. Avançados
- Falta de HSTS, CSP mal configurado, bypass com barra final, exploração em módulos de terceiros (
ngx_lua,ngx_pagespeed), SSRF via Lua, ataques em WebSockets, CORS permissivo.
🔧 Medidas de Hardening
Atualização Contínua
apt update && apt upgrade nginx
Use unattended-upgrades para patches automáticos.
Minimizar Informações
server_tokens off;
Configuração SSL Segura
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
Restringir Métodos HTTP
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 405;
}
Rate Limiting
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
Proteção de Diretórios Sensíveis
location ~ /(\\.ht|\\.git|\\.svn) {
deny all;
}
Access Control por IP
location /admin {
allow 192.168.0.1;
deny all;
}
Logging e Monitoramento
Ative access.log e error.log.
Monitore com ferramentas como goaccess, ELK, Grafana.
WAF Integrado
Use ModSecurity com o OWASP CRS.
Headers de Segurança
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
add_header Content-Security-Policy "default-src 'self'";
Backups e Recuperação
Automatize backups de configs e conteúdo web. Teste periodicamente a restauração.
Upload Seguro
location /uploads {
location ~ \.php$ { return 403; }
}
✅ Conclusão
- Validação: Execute a checklist (1–50) para identificar falhas.
- Hardening: Aplique as medidas de configuração para mitigar riscos.
- Monitoramento: Atualize, registre e audite constantemente.
Esse guia ajuda a reduzir drasticamente a superfície de ataque e fortalece a segurança do Nginx contra ameaças conhecidas e emergentes.