Skip to main content

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 alvo

    Procure 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_pass mal configurado para acessar serviços internos (ex.: 169.254.169.254).

8. HTTP Request Smuggling

  • Objetivo: Desincronizar Nginx e backend.
  • Payload: Usar Transfer-Encoding: chunked com 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 flags HttpOnly, Secure, SameSite.

18–19. Logs e Status Page

  • Verificar se /logs/ ou /nginx_status estã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.