L4 DDoS'ta tek bir kaynağın eşzamanlı TCP bağlantı sayısını nasıl sınırlarım; Zombie TCP ayarı ne işe yarar?
Kısa cevap
L4 DDoS Management sekmesindeki TCP bandının Connection Abuse kutusunda iki kural bulunur. Total Conn/Src, bir kaynak adresin aynı anda açık tutabileceği TCP bağlantı sayısını sınırlar: varsayılan tavan Concurrent Limit = 1000'dir ve kural varsayılan olarak Monitor modundadır; Status alanında Block ya da Quarantine seçilip Save ile kaydedildiğinde tavanı aşan yeni bağlantılar düşürülür ya da kaynak karantinaya alınır. Sınır saniyelik bir hız değildir ve yalnızca cihaza yönelen bağlantılarda uygulanır (HTTP ve L7 TCP vService'lerin istemci bağlantıları dahil; Network vService üzerinden iletilen bağlantılar hariç). Zombie TCP ise bir sınır değil, boşta kalan bağlantıların bağlantı tablosundan ne kadar sonra temizleneceğini belirleyen zaman aşımı ayarıdır: FIN 10, keepalive 30 ve established 14400 saniye varsayılanlarıyla açık gelir.
Temel Bilgi
Bir TCP bağlantısı el sıkışmayla açılır ve iki uçtan biri kapatana kadar açık kalır. Durum bilgili bir cihaz her açık bağlantı için bağlantı tablosunda bir kayıt tutar. Saldırgan çok sayıda bağlantı açıp bunları kapatmadan bekletirse (ör. yavaş istek saldırıları) her bağlantı az trafik üretse de sunucunun ve ara cihazın bağlantı kapasitesi tükenir. Bu yüzden saniyelik açılış hızı kadar, kaynak başına aynı anda açık bağlantı sayısı da sınırlanır.
Sorun: Tek Bir Kaynak Çok Sayıda Bağlantıyı Açık Tutuyor
Bağlantı açma hızını sınırlayan SYN Flood kuralları, bağlantılarını yavaş yavaş açıp kapatmadan bekleten bir kaynağı yakalamaz: dakikada tek bir bağlantı açan bir kaynak da zamanla binlerce açık bağlantıya ulaşır. Bu bağlantılar cihazın ve arkadaki sunucuların kaynağını tüketir; kapanmadan boşta kalan bağlantılar da bağlantı tablosunda birikir.
Çözüm: İki Ayar
İki ayar birbirinin alternatifi değildir; aynı kutudadır ve birlikte çalışır.
| Durumunuz | Uygun yöntem |
|---|---|
| Bir kaynağın aynı anda tutabileceği bağlantı sayısına tavan koymak istiyorum | Yöntem 1: Total Conn/Src |
| Kapanmamış ya da boşta kalmış bağlantıların bağlantı tablosunda ne kadar tutulacağını ayarlamak istiyorum | Yöntem 2: Zombie TCP |
| Sınır vService başına, L7 (HTTP ve L7 TCP) bağlantı düzeyinde olsun | Source IP Connection Protection (L7 DDoS Protection) → Rate limiting nedir; TR7'de hangi katmanlarda uygulanır? |
Yöntem 1: Total Conn/Src Önerilen
- Nasıl çalışır Bir kaynak adresin o anda açık tuttuğu TCP bağlantıları sayılır; tavanı aşan kaynağın yeni bağlantıları seçilen moda göre düşürülür ya da kaynak karantinaya alınır. Kurulu oturumlar kesilmez (Total Conn/Src).
- Nerede açılır Left Monitor Panel → Route Tables & L4 DDoS → route table → L4 DDoS Management → TCP bandı → Connection Abuse kutusu → Total Conn/Src satırındaki kalem ikonu
- GereksinimL4 DDoS Protection (eklenti); Network alanında değiştirme yetkisi
- Kapsam Route table'daki cihaza yönelen TCP bağlantıları: HTTP ve L7 TCP vService'lerin istemci bağlantıları sayılır; Network vService üzerinden arka uca iletilen bağlantılar bu tavana takılmaz
- Muaf kaynaklarWhitelist & Known Peers listesindeki kaynaklar sayılmaz ve sınırlanmaz
Adım adım yapılandırma
Left Monitor Panel'de sol üstteki kategori sekmelerinden Route Tables & L4 DDoS seçilir, route table'a tıklanır ve L4 DDoS Management sekmesine geçilir (ekrana erişim).
TCP bandındaki Connection Abuse kutusunda Total Conn/Src satırının (cümlesi A source may hold at most <limit> connections at once; … biçimindedir) kalem ikonuna tıklanır; Rule Settings · Total Conn/Src penceresi açılır.
Status alanında mod seçilir: Disabled, Monitor (varsayılan; ölçer, engellemez), Block (tavanı aşan yeni bağlantıları düşürür) ya da Quarantine (tavanı aşan kaynağı Quarantine Time süresince, varsayılan olarak 10 dakika, engeller). Önce Monitor'de ölçüm izlenip tavan meşru trafiğin üstünde belirlendikten sonra Block ya da Quarantine'e geçilmesi önerilir.
Concurrent Limit alanına bir kaynağın aynı anda tutabileceği bağlantı sayısı yazılır. Varsayılan değeri 1000'dir; yalnızca 1 ve üzeri tam sayı kabul edilir. Alanın zaman birimi yoktur.
Save butonuna tıklanır. Değişiklik anında yürürlüğe girer; ayrı bir dağıtım adımı yoktur. Elle belirlenen değerin AI Learning önerileriyle değişmemesi için aynı penceredeki Learning Lock anahtarı açılır (varsayılan: kapalı); kilit açıkken öğrenme motoru kuralın limitini ve modunu değiştiremez.
Doğrulama
Connection Abuse kutusundaki Total Conn/Src satırının cümlesi okunur.
A source may hold at most 1000 connections at once; anything beyond is droppedRoute table'ın Dashboard ekranında Connection Limits sekmesi açılır; kuralın panelinde en yüksek kaynak eşzamanlılığı, p95 değeri ve tavan çizgisi görünür.
Tavanı aşan kaynaklar Block/Quarantine modunda Dropped Traffic değeri üretirYöntem 2: Zombie TCP
- Nasıl çalışır Güvenlik duvarı kuralı yazmaz; bağlantı tablosunda boşta kalan kayıtların ne kadar sonra temizleneceğini belirleyen zaman aşımı değerlerini ayarlar (Zombie TCP).
- Nerede açılırConnection Abuse kutusu → Zombie TCP satırındaki kalem ikonu
- Gereksinim Yöntem 1 ile aynı
- Kapsam Route table; karantinaya gönderemez, yalnızca Enabled ya da Disabled olur ve varsayılan olarak Enabled gelir
Adım adım yapılandırma
Connection Abuse kutusunda Zombie TCP satırının (cümlesi Idle TCP connections are reaped: FIN <süre> · keepalive <süre> · established <süre> biçimindedir) kalem ikonuna tıklanır.
Üç süre saniye cinsinden girilir; üçü de yalnızca 1 ve üzeri tam sayı kabul eder:
| Alan | Varsayılan | Ne belirler |
|---|---|---|
| Fin Timeout(s) | 10 | Kapanma aşamasına geçmiş bağlantının bu aşamada bekletilme süresi |
| Keepalive Time(s) | 30 | Boşta kalan bağlantı için canlılık denetiminin başlama süresi |
| Established Timeout(s) | 14400 | Kurulu ve boşta kalan bağlantının tabloda tutulma süresi |
Status alanı Enabled bırakılır ve Save butonuna tıklanır.
Doğrulama
Zombie TCP satırının cümlesi okunur; süreler ham saniye olarak yazılır.
Idle TCP connections are reaped: FIN 10 · keepalive 30 · established 14400Sık Yapılan Hatalar
Established Timeout'u çok kısa tutmak sağlıklı oturumları düşürür
Uzun süreli veritabanı ya da uzak erişim bağlantıları gibi sessiz ama canlı oturumlar, Established Timeout(s) değerinden uzun süre boşta kalırsa bağlantı tablosundan düşer. Varsayılan 14400 saniye (4 saat) bu tür oturumlar düşünülerek seçilmiştir.
- Total Conn/Src'yi saniyelik bağlantı hızı sınırı sanmak. Kural "şu anda kaç bağlantı açık" sorusuna bakar. Bağlantı açma hızı SYN Flood kutusundaki kurallarla sınırlanır.
- Network vService trafiğinin de sınırlandığını sanmak. Sınır cihaza yönelen bağlantılarda uygulanır; Network vService üzerinden iletilen bağlantılar sayımda görünse de bu tavana takılmaz.
- Tavanı ölçmeden doğrudan Block'a geçmek. Çok sayıda kullanıcıyı tek adresin arkasında toplayan NAT çıkışları meşru olarak yüksek eşzamanlılığa ulaşır. Kural önce Monitor'de çalıştırılır; bu kaynaklar gerekirse Whitelist & Known Peers listesine eklenir (L4 DDoS korumasından belirli IP'leri, ağları ya da ülkeleri nasıl muaf tutarım (Whitelist & Known Peers)?).
- Zombie TCP'yi kapatınca zaman aşımı temizliğinin durduğunu sanmak. Disabled seçildiğinde satır
Idle TCP connections are not reapedyazar, ancak sistem temizliği katalog varsayılanlarıyla (10 · 30 · 14400) sürdürür; kapatma yalnızca özel değerleri iptal eder. - Ayarın bütün route table'lara uygulandığını sanmak. İki kural da route table başınadır; her route table'da ayrı ayarlanır.
Dokümantasyonda nasıl yapılır
İlgili sorular
