[Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-10-06 11:18:49
This commit is contained in:
parent
f351cd136c
commit
c526e9bdea
|
|
@ -0,0 +1,108 @@
|
|||
# ==============================================================================
|
||||
# Arquivo de configuração NGINX para: vcenter.itguys.com.br
|
||||
# Data da Criação/Modificação: 2025-10-06 11:14
|
||||
#
|
||||
# Contexto:
|
||||
# Este arquivo atua como um reverse proxy seguro para o VMware vCenter Server.
|
||||
# Ele inclui:
|
||||
# - Redirecionamento de HTTP para HTTPS.
|
||||
# - Configurações de SSL/TLS modernas e seguras (nota A+ no SSL Labs).
|
||||
# - Suporte nativo para WebSockets, essencial para o client HTML5 do vCenter.
|
||||
# - Cabeçalhos de segurança para mitigar ataques (XSS, Clickjacking).
|
||||
# - Bloco de cache para arquivos estáticos para otimizar a performance da UI.
|
||||
# - Regras básicas para bloquear scanners e bots maliciosos.
|
||||
# - Logs dedicados para monitoramento e integração com Fail2ban.
|
||||
# ==============================================================================
|
||||
|
||||
# Define o servidor backend do vCenter para facilitar a manutenção
|
||||
upstream vcenter_backend {
|
||||
server 172.16.254.110;
|
||||
}
|
||||
|
||||
# Servidor para redirecionamento de HTTP para HTTPS (Porta 80)
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name vcenter.itguys.com.br;
|
||||
|
||||
# Força o uso de HTTPS com um redirecionamento 301 (permanente)
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
# Servidor principal que lida com o tráfego HTTPS (Porta 443)
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
server_name vcenter.itguys.com.br;
|
||||
|
||||
# --- Logs ---
|
||||
# Arquivos de log exclusivos para este site, facilitando o monitoramento e debug.
|
||||
access_log /var/log/nginx/vcenter.itguys.com.br.access.log;
|
||||
error_log /var/log/nginx/vcenter.itguys.com.br.error.log warn;
|
||||
|
||||
# --- Configurações de SSL/TLS ---
|
||||
# Caminhos para os certificados. SUBSTITUA PELOS SEUS CAMINHOS CORRETOS.
|
||||
# Recomenda-se usar Let's Encrypt / Certbot.
|
||||
ssl_certificate /etc/letsencrypt/live/vcenter.itguys.com.br/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/vcenter.itguys.com.br/privkey.pem;
|
||||
|
||||
# Otimizações de SSL/TLS baseadas nas melhores práticas (ssllabs.com/research)
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
ssl_session_timeout 1d;
|
||||
ssl_session_tickets off;
|
||||
|
||||
# OCSP Stapling - Melhora a performance do handshake TLS
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
ssl_trusted_certificate /etc/letsencrypt/live/vcenter.itguys.com.br/chain.pem; # Use o chain.pem para validação
|
||||
|
||||
# --- Cabeçalhos de Segurança ---
|
||||
# Adiciona uma camada extra de proteção no navegador do cliente.
|
||||
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header Referrer-Policy "no-referrer" always;
|
||||
# CSP pode ser complexo. Este é um ponto de partida. Teste extensivamente.
|
||||
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' wss:; font-src 'self' data:;" always;
|
||||
|
||||
# --- Configurações do Proxy Reverso ---
|
||||
location / {
|
||||
# --- Suporte a WebSocket ---
|
||||
# Essencial para a funcionalidade do client HTML5 do vCenter.
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
|
||||
# --- Cabeçalhos do Proxy ---
|
||||
# Encaminha informações essenciais para o backend.
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# --- Timeouts e Buffers ---
|
||||
# Valores generosos para evitar timeouts em operações longas do vCenter.
|
||||
proxy_connect_timeout 600;
|
||||
proxy_send_timeout 600;
|
||||
proxy_read_timeout 600;
|
||||
proxy_buffers 32 4k;
|
||||
|
||||
# Aponta o tráfego para o vCenter Server
|
||||
proxy_pass http://vcenter_backend;
|
||||
}
|
||||
|
||||
# --- Segurança: Bloqueio de Bots e Scanners ---
|
||||
# Bloqueia acesso a arquivos e diretórios sensíveis.
|
||||
location ~ /(\.git|\.env|vendor/|setup\.php) {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# Identifica e bloqueia User-Agents de scanners conhecidos.
|
||||
if ($http_user_agent ~* (sqlmap|nikto|wpscan|nmap|zgrab|dirbuster)) {
|
||||
# Registra a tentativa em um log separado para análise e Fail2ban.
|
||||
access_log /var/log/nginx/vcenter.itguys.com.br.bad-bot.log;
|
||||
return 404; # Retorna 404 para confundir o atacante.
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue