format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightNginx Üzerinde Gelişmiş Trafik Kontrolü ve Güvenlik: Kapsamlı Rehber
- arrow_right1. Nginx Trafik Kontrolü Temelleri
- arrow_right1.1 Rate Limiting (İstek Sınırlama)
- arrow_right1.2 Connection Limiting (Bağlantı Sınırlama)
- arrow_right1.3 Bant Genişliği Sınırlama
- arrow_right2. Gelişmiş Güvenlik Yapılandırmaları
- arrow_right2.1 SSL/TLS Yapılandırması ve Sertifika Yönetimi
- arrow_right2.2 Güvenlik Başlıkları (Security Headers)
- arrow_right2.3 DDoS Koruma Stratejileri
- arrow_right4. Web Uygulama Güvenlik Duvarı (WAF) Entegrasyonu
- arrow_right5. İzleme ve Loglama
- arrow_right5.1 Erişim ve Hata Logları
- arrow_right5.2 Güvenlik İzleme Araçları
- arrow_right6. Yapılandırma Karşılaştırması
- arrow_right7. Oyun Sunucuları ve Nginx Güvenliği
- arrow_rightSonuç
Nginx Üzerinde Gelişmiş Trafik Kontrolü ve Güvenlik: Kapsamlı Rehber
Nginx, dünya genelinde en yaygın kullanılan web sunucularından biri olarak %30'dan fazla pazar payına sahiptir. Yüksek performansı ve düşük kaynak tüketimi ile öne çıkan bu sunucu, aynı zamanda gelişmiş trafik kontrolü ve güvenlik özellikleri sunmaktadır. Bu rehberde, Nginx üzerinde trafiği yönetmek, saldırılara karşı koruma sağlamak ve sunucu güvenliğini üst seviyeye taşımak için kullanılan tüm yöntemleri detaylı şekilde ele alacağız.
Nginx ile canlı yayın sunucusu kurulumu için de bu güvenlik önlemlerinin kritik olduğunu belirtmek gerekir.1. Nginx Trafik Kontrolü Temelleri
Nginx'in trafik kontrolü mekanizmaları, sunucu kaynaklarını optimize etmek ve kötüye kullanımı önlemek için tasarlanmıştır. Temel yapılandırma direktifleri, saniyedeki istek sayısını, eşzamanlı bağlantıları ve bant genişliğini kontrolü etmenizi sağlar.
1.1 Rate Limiting (İstek Sınırlama)
Rate limiting, bir istemciden belirli bir süre içinde gelen istek sayısını sınırlamak için kullanılır. Bu özellik, brute force saldırılarını ve aşırı yüklenmeleri önlemede kritik rol oynar.
http {
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
server {
location /api/ {
limit_req zone=mylimit burst=20 nodelay;
}
}
}
Yukarıdaki yapılandırma, her IP adresi için saniyede 10 istek sınırı koyar. Burst parametresi, anlık yüksek trafik durumlarında 20'ye kadar isteğin kuyruğa alınmasını sağlar.
1.2 Connection Limiting (Bağlantı Sınırlama)
Aynı IP adresinden yapılabilecek eşzamanlı bağlantı sayısını sınırlamak, sunucu kaynaklarının tükenmesini önler ve DDoS saldırılarına karşı ilk savunma hattını oluşturur.
server {
limit_conn_zone $binary_remote_addr zone=addr:10m;
location / {
limit_conn addr 10;
}
}
1.3 Bant Genişliği Sınırlama
Büyük dosya indirmeleri veya medya akışları sunucu bant genişliğini tüketebilir. Nginx, bulut sunucularda kaynak yönetimi için bu trafiği kontrol altına almanıza olanak tanır.
location /downloads/ {
limit_rate 500k;
limit_rate_after 10m;
}
Bu yapılandırma, indirme hızını saniyede 500KB ile sınırlar ancak ilk 10MB'lık veri bu sınırlamadan muaftır.
2. Gelişmiş Güvenlik Yapılandırmaları
Nginx güvenliği, çok katmanlı bir yaklaşım gerektirir. SSL/TLS yapılandırması, güvenlik başlıkları ve saldırı azaltma teknikleri bir arada kullanılmalıdır.
2.1 SSL/TLS Yapılandırması ve Sertifika Yönetimi
SSL/TLS sertifikaları, istemci-sunucu arasındaki iletişimi şifreler. Modern TLS protokolleri kullanmak ve güvensiz algoritmaları devre dışı bırakmak kritik öneme sahiptir.
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
Bu yapılandırma, TLS 1.2 ve 1.3 protokollerini etkinleştirir ve güçlü şifreleme algoritmaları kullanır. Domain transfer işlemlerinde SSL sertifikalarının doğru yapılandırılması önemlidir.
2.2 Güvenlik Başlıkları (Security Headers)
HTTP güvenlik başlıkları, tarayıcı düzeyinde ek koruma katmanları sağlar. XSS, clickjacking ve MIME type sniffing gibi saldırılara karşı koruma sunarlar.
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy "default-src 'self';" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Bu başlıklar:
- X-Frame-Options: Sayfanın iframe içinde gösterilmesini kontrol eder
- X-Content-Type-Options: MIME type sniffing'i önler
- X-XSS-Protection: Tarayıcı XSS filtrelerini etkinleştirir
- Content-Security-Policy: İçerik kaynaklarını kısıtlar
- Strict-Transport-Security: HTTPS kullanımını zorunlu kılar
2.3 DDoS Koruma Stratejileri
DDoS saldırılarına karşı Nginx yapılandırması, birden fazla tekniğin kombinasyonunu gerektirir. İstek hızı sınırlama, bağlantı sayısı kontrolü ve coğrafi engelleme bu stratejilerin temelini oluşturur.
3. IP Beyaz ve Kara Liste Uygulamaları
Belirli IP adreslerine erişim izni vermek veya erişimi engellemek, sunucu güvenliğinin temel bileşenlerinden biridir.
geo $blocked {
default 1;
10.0.0.0/8 0;
192.168.0.0/16 0;
85.100.0.0/16 0;
}
server {
location /admin/ {
if ($blocked) {
return 403;
}
}
}
Bu yapılandırma, belirli IP aralıklarına erişim izni verirken diğerlerini engeller. Reseller hosting müşterileri için IP yönetimi önemli bir özelliktir.
4. Web Uygulama Güvenlik Duvarı (WAF) Entegrasyonu
Nginx, ModSecurity gibi WAF çözümleriyle entegre çalışarak uygulama seviyesindeki saldırıları (SQL injection, XSS, vb.) engelleyebilir. Bu entegrasyon, OWASP Top 10 güvenlik açıklarına karşı koruma sağlar.
load_module modules/ngx_http_modsecurity_module.so;
http {
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/rules.conf;
}
ModSecurity kuralları, kötü niyetli istekleri tanımlamak ve engellemek için yapılandırılır. Bu sayede veri koruma stratejileri desteklenir.
5. İzleme ve Loglama
Güvenlik olaylarını izlemek ve analiz etmek, proaktif güvenlik yönetiminin temelidir. Nginx, detaylı loglama ve metrik toplama imkanı sunar.
5.1 Erişim ve Hata Logları
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log warn;
}
5.2 Güvenlik İzleme Araçları
Nginx Amplify, Prometheus ve Grafana gibi araçlar ile sunucu performansı ve güvenlik metrikleri izlenebilir. Bu araçlar, performans testleri için de kullanılır.
6. Yapılandırma Karşılaştırması
| Özellik | Temel Yapılandırma | Gelişmiş Yapılandırma |
|---|---|---|
| Rate Limiting | limit_req zone=basic:10m rate=5r/s | limit_req zone=advanced:10m rate=100r/s burst=50 nodelay |
| SSL/TLS | TLS 1.2, temel şifreler | TLS 1.3, güçlü şifreler, HSTS |
| Güvenlik Başlıkları | Sadece X-Frame-Options | Tüm OWASP başlıkları |
| WAF Koruması | Yok | ModSecurity kuralları |
| Loglama | Temel access log | Detaylı log + metrik toplama |
7. Oyun Sunucuları ve Nginx Güvenliği
Euro Truck Simulator 2 sunucu, Don't Starve Together sunucu ve Palworld sunucu gibi oyun sunucuları da Nginx reverse proxy kullanabilir. Bu sunucularda gelişmiş trafik kontrolü, oyun deneyimini kesintisiz hale getirir ve saldırılara karşı koruma sağlar.
Benzer şekilde Rust sunucu, Conan Exiles sunucu ve Wreckfest sunucu için de Nginx güvenlik yapılandırmaları uygulanabilir.
Sonuç
Nginx üzerinde gelişmiş trafik kontrolü ve güvenlik, çok katmanlı bir yaklaşım gerektirir. Rate limiting, bağlantı sınırlama, SSL/TLS yapılandırması, güvenlik başlıkları ve WAF entegrasyonu bir arada kullanıldığında, sunucu güvenliği üst seviyeye çıkar. Düzenli güncellemeler ve izleme, bu güvenlik önlemlerinin etkinliğini sürdürmek için kritik öneme sahiptir.
Sunucu güvenliği ve performans optimizasyonu hakkında daha fazla bilgi için blog sayfamızı ziyaret edebilirsiniz. Serversium olarak, gateway relay hizmetlerimiz ve alan adı fiyatları konusunda size yardımcı olabiliriz.