Anlık istek / bağlantı sayısı artışında otomatik aksiyon alabilir miyim?
Kısa cevap
Evet. vService genelindeki ani artış için Frontend Number of HTTP Requests/s, Frontend Number of New Sessions/s ve Frontend Connection koşulları bir aksiyona (HTTP'de Block ya da Show Content, L7 TCP'de TCP Connection Management) bağlanır; değer eşiği aştığı sürece aksiyon kendiliğinden uygulanır, eşiğin altına inince durur. Bu koşullar vService toplamına baktığı için eşik aşılınca meşru istemciler de etkilenir; istemci başına ayrım Quarantine ile yapılır. Bot/DDoS Protection açıksa L7 DDoS Protection'ın Total Request Protection, Total Connection Protection ve Source IP Connection Protection korumaları aynı işi zaman penceresi ve sert tavanla yapar.
Sorun: Ani Trafik Artışı Servisi Çökertiyor
Kampanya, haber ya da saldırı kaynaklı ani trafik artışlarında Kurum Servisleri kapasitelerinin üzerinde yük alır. Eşik aşıldığında trafiğin bir kısmını engelleyen, bekleme sayfası gösteren ya da istemcileri sınırlayan otomatik bir tepki istenir.
Çözüm: Dört Yöntem
Yöntem 1 vService toplamına, Yöntem 2 tek tek istemcilere tepki verir; ikisi birlikte de kullanılabilir. Yöntem 3 Bot/DDoS lisansı olan vService'lerde aynı işi koruma kartlarıyla yapar; Yöntem 4, Yöntem 1 ve 3'ün komut satırı karşılığıdır.
| Durumunuz | Uygun yöntem |
|---|---|
| vService toplamı belirli bir eşiği aşınca herkese bekleme sayfası ya da engel | Yöntem 1: Frontend koşulları + aksiyon |
| Yalnızca aşırı istek ya da bağlantı açan istemciler süreli engellensin | Yöntem 2: Quarantine (istemci başına) |
| Bot/DDoS koruması açık; zaman pencereli toplam ve kaynak başına sınır | Yöntem 3: Bot/DDoS → L7 DDoS Protection |
| Komut satırından kurulum | Yöntem 4: WEB-CLI |
Yöntem 1: Frontend Koşulları + Aksiyon Önerilen
- Nasıl çalışır Koşul vService'in anlık toplam değerini okur: Frontend Number of HTTP Requests/s saniyedeki HTTP isteğini, Frontend Number of New Sessions/s saniyedeki yeni oturumu, Frontend Connection o anki açık bağlantı sayısını. Ölçüm penceresi ayarlanmaz; değer eşiğin üzerinde kaldığı sürece aksiyon her isteğe uygulanır.
- Nerede açılırLoad Balancer → Conditions · Load Balancer → Actions
- Gereksinim Yok
- vService tipi HTTP · L7 TCP (Frontend Number of HTTP Requests/s yalnızca HTTP'de; Block ve Show content yalnızca HTTP'de, TCP Connection Management yalnızca L7 TCP'de)
Adım adım yapılandırma
Load Balancer → Conditions → Add ile koşul formu açılır (nasıl eklenir).
Condition Name = yuksek-istek, Criteria = Frontend Number of HTTP Requests/s seçilir; Operator = Greater than (>) ve eşik (ör. 5000) girilir. Form operatörü = seçili açar; değer tamsayıdır. L7 TCP vService için Frontend number of new sessions/s ya da Frontend connection seçilir.
Koşul Add ile kaydedilir.
Load Balancer → Actions → Add ile aksiyon formu açılır.
HTTP'de Action Type = Show Content seçilip bekleme sayfası ve Status Code = 503 seçilir (sayfa hazırlığı: Bakım sayfasını nasıl yayınlarım?); doğrudan engel için Block ve Status Code = 503 seçilir. L7 TCP'de Action Type = TCP Connection Management, Action = Reject ya da Silent drop seçilir.
Conditions alanında yuksek-istek seçilir.
Aksiyon Add ile kaydedilir.
Load Balancer → Load Balancer vService List ekranında vService seçilip Edit ile düzenleme formu açılır.
Form Save ile kaydedilir. Cluster'da yapılandırma varsayılan olarak eş cihaza otomatik aktarılır (Manual Sync Mode açıksa Synchronize ile); eşik her cihazın kendi trafiğiyle değerlendirilir.
Doğrulama
Bir yük testi aracıyla eşiğin üzerinde istek gönderilir (ör. ab -n 100000 -c 200 https://www.example.com/).
Eşik aşıldığında 503; yük düşünce 200Aksiyonda Hit counter açılırsa vService panosunun Action Hits sekmesine bakılır.
Eşik anında artışYöntem 2: Quarantine (İstemci Başına)
- Nasıl çalışır Her istemcinin isteği ya da bağlantısı Tracking Time penceresinde ayrı sayılır; eşiği aşan istemci Quarantine Time boyunca Quarantine Action ile karşılanır, diğer istemciler etkilenmez.
- Nerede açılırLoad Balancer → Actions → Quarantine
- Gereksinim Yok
- vService tipi HTTP · L7 TCP (L7 TCP'de Tracking key yalnızca IP ya da Manual, Quarantine action yalnızca Silent drop; HTTP'ye özgü kriterler kullanılamaz)
Adım adım yapılandırma
Load Balancer → Actions → Add ile aksiyon formu açılır (nasıl eklenir); Action Name girilir ve Action Type = Quarantine seçilir.
Tracking Key = IP (varsayılan) bırakılır, Tracking time girilir. Quarantine Condition alanında (+) ile açılan formda Criteria = Quarantine condition, Tracking Criteria = Current connections, Total connections ya da HTTP requests ve Tracking operator ile eşik girilip koşul eklenir. Quarantine time ve Quarantine action seçilir.
Aksiyon Add ile kaydedilir. Ayrıntılı kurulum: Rate limiting yapabilir miyim (IP başına saniyede X istek)?
HTTP ya da L7 TCP vService Edit ile açılır.
Form Save ile kaydedilir.
Doğrulama
vService'in Logs & Tracking sekmesinde <aksiyon adı> (QUARANTINE, <süre>) kaynağı açılır (karantina logları).
Eşiği aşan istemci listelenirYöntem 3: Bot/DDoS → L7 DDoS Protection
- Nasıl çalışır Korumalar ölçümü bir zaman penceresinde yapar ve sınır aşılınca seçilen aksiyonu uygular. Varsayılanlar: Total Request Protection 10 saniyede 10.000 istek, Show captcha (yalnızca HTTP); Total Connection Protection 10 saniyede 5.000 bağlantı, Silent drop; Source IP Connection Protection kaynak başına 10 saniyede 100 bağlantı, Silent drop. Kaynak başına istek için Source IP Request Protection (10 saniyede 1.000 istek, Show captcha; yalnızca HTTP), etkin kaynak adres sayısı için Active Source-IP Protection da vardır.
- Nerede açılır Left Monitor Panel → Bot/DDoS Protected vServices → vService → Bot/DDoS Management → L7 DDoS Protection kartı
- Gereksinim Bot/DDoS protection lisansı; vService'te L7 DDoS & Threat Protection açık; L7 DDoS Protection Active
- vService tipi HTTP · L7 TCP
Adım adım yapılandırma
vService'te koruma açık değilse vService düzenlenir, Details altındaki L7 DDoS & Threat Protection kutusu (HTTP · L7 TCP) işaretlenip Save ile kaydedilir (iki yol). Koruma açıldığında IP Reputation Protection Active modunda başlar (başlangıç modları).
Left Monitor Panel → Bot/DDoS Protected vServices → vService → Bot/DDoS Management sekmesinde L7 DDoS Protection kartının Edit bağlantısı tıklanır.
DDoS Protection = Active seçilip pencere Edit butonuyla kaydedilir. Varsayılan Monitor modunda sınır aşımı yalnızca kaydedilir, trafik engellenmez.
L7 DDoS Protection kartında Total Request Protection, Total Connection Protection ve Source IP Connection Protection bloklarının sağ üstündeki kalem ikonuyla açılan pencerede limit, Time window ve Limit action belirlenir; her pencere Edit butonuyla kaydedilir.
Doğrulama
Bot/DDoS Event Logs → L7 DDoS sekmesi açılır.
Sınırı aşan trafik için uygulanan aksiyonYöntem 4: WEB-CLI
- Nasıl çalışır Yöntem 1'deki koşul ve aksiyon
lb condition/lb actionile, Yöntem 3'teki Total Request Protectionlb threat-protectionile kurulur. - Nerede açılır TR7 WEB-CLI →
lb condition·lb action·lb service·lb threat-protection - Gereksinim WEB-CLI erişimi; Yöntem 3 için Bot/DDoS protection lisansı
- vService tipi HTTP (L7 TCP için koşul
fe_conn, aksiyontcp_conn_mgmtile--tcpAction rejectolur)
Adım adım yapılandırma
WEB-CLI her satırı ayrı bir komut olarak çalıştırır; komutlar tek satırda yazılır. > işareti çift tırnak içinde yazılır.
Sayısal ölçütler: fe_req_rate = Frontend Number of HTTP Requests/s, fe_sess_rate = Frontend Number of New Sessions/s, fe_conn = Frontend connection.
lb condition add criteria fe_req_rate --fe_req_rate_op.op ">" --fe_req_rate_op.val 5000 --name yuksek-istekAksiyonun --cond alanı koşulun adını değil kimliğini ister. lb condition add başarılı olduğunda çıktı vermez; kimlik aşağıdaki listenin id sütununda görülür (lbConditions- ile başlar).
lb condition listlb action add type deny name yuksek-yuk --denyStatusCode 503 --cond <yuksek-istek-kimliği>rules.0, rules.1… satırları vService'e bağlı aksiyonları gösterir.
lb service show <vService>Yeni aksiyon ilk boş indekse, yani mevcut aksiyon sayısına yazılır. Örnekte vService'te iki aksiyon (rules.0, rules.1) olduğu için --rules.2 kullanılır; dolu bir indekse yazmak oradaki aksiyonun yerine geçer.
lb service update id <vService> --rules.2 yuksek-yukKoruma kapalıysa önce açılır; --ddosProtection true L7 DDoS Protection'ı Active yapar (WEB-CLI · threat-protection).
lb service update id <vService> --threatProtection true
lb threat-protection update id <vService> --ddosProtection true --ddosTotalRequestProtection true --ddosTotalRequestLimit 50000 --ddosTotalRequestWindow.val 10 --ddosTotalRequestWindow.unit sDoğrulama
Komut: lb threat-protection show <vService>
ddosTotalRequestLimit: 50000Sık Yapılan Hatalar
- vService geneli koşulun yalnızca saldırganları etkileyeceğini sanmak. Frontend koşulları toplam değere bakar; eşik aşılınca meşru kullanıcılar da etkilenir. İstemci başına ayrım için Quarantine kullanılır.
- vService Limits'i otomatik aksiyon sanmak. vService Limits sabit tavanlardır; tavanda yeni istekler bekletilir, ayrı bir aksiyon uygulanmaz (Bağlantı limitine ulaşıldığında ne olur?).
- Bot/DDoS'u Monitor'de bırakmak. L7 DDoS Protection Monitor modundayken sınır aşımı yalnızca kaydedilir; trafiğin engellenmesi için mod Active yapılır.
--condalanına koşul adını yazmak. WEB-CLI'da--condkoşul kimliği bekler; ad yazılırsa aksiyon var olmayan bir koşula bağlanır.
Dokümantasyonda nasıl yapılır
