Nginx Güvenlik Sıkılaştırma Rehberi (1.31.x)
Merhaba,
Nginx hâlâ en yaygın ters vekillerden biri. Bu rehberde kendi sunucunuzda TLS, güvenlik başlıkları ve basit rate limit uygulamayı anlatıyoruz. Örnekler nginx 1.31.7 ana hattına yakındır; kendi sürümünüzü nginx -v ile doğrulayın.
Konuda Anlatılacaklar
- TLS yapılandırması
- Güvenlik başlıkları
- Rate limiting
- Gizli dosya ve yöntem kısıtlama
- Doğrulama komutları
1) TLS
# /etc/nginx/conf.d/ssl-params.conf (örnek)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
# HSTS (yalnızca HTTPS tamamen hazırsa)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;2) Güvenlik Başlıkları
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy "default-src 'self'" always;
# server_tokens off; # sürüm bilgisini gizle3) Rate Limit
# http {} bloğunda
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
# sunucu / konumda
location /login {
limit_req zone=login burst=10 nodelay;
proxy_pass http://app_backend;
}4) Ek Sertleştirme
location ~ /\.(git|env|ht) {
deny all;
return 404;
}
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 405;
}5) Doğrulama
sudo nginx -t && sudo systemctl reload nginx
curl -I https://sizin-alanadiniz.ornek
# SSL Labs veya testssl.sh ile TLS notunu ölçün (kendi alanınızda)Kaynakça
Görsel: TurkTeam özgün kapak görseli.
Alıntı:Yasal Uyarı: Bu ayarlar yalnızca yönettiğiniz sunucularda uygulanmalıdır.
