CPU yüksek kullanım sorunu giderme¶
Wallarm tarafından önerilen CPU kullanımı yaklaşık %10-15'tir; bu, filtreleme düğümlerinin trafiğin 10 kat artışını kaldırabileceği anlamına gelir. Eğer bir Wallarm düğümü beklenenden fazla CPU tüketiyorsa ve CPU kullanımını azaltmanız gerekiyorsa, bu kılavuzu kullanın.
En uzun istek işleme sürelerini ve dolayısıyla ana CPU tüketicilerini tespit etmek için, extended logging'i etkinleştirebilir ve işleme süresini izleyebilirsiniz.
Wallarm tarafından CPU yükünü azaltmak için aşağıdakileri yapabilirsiniz:
-
NGINX yapılandırmasına
limit_req
ekleyin veya düğüm 4.6'dan itibaren Wallarm'ın kendi rate limiting işlevselliğini kullanın. Bu, özellikle brute force ve diğer saldırılar durumunda CPU yükünü azaltmanın en iyi yolu olabilir.Example configuration - using
limit_req
http { map $request_uri $binary_remote_addr_map { ~^/get $binary_remote_addr; ~^/post $binary_remote_addr; ~^/wp-login.php $binary_remote_addr; } limit_req_zone $binary_remote_addr_map zone=urls:10m rate=3r/s; limit_req_zone $binary_remote_addr$request_uri zone=allurl:10m rate=5r/s; limit_req_status 444; server { location { limit_req zone=urls nodelay; limit_req zone=allurl burst=30; } } }
-
NGINX ve Tarantool için uygun miktarda bellek ayırıldığını kontrol edin.
-
Filtreleme modunda yapılan saldırı işaretleri aramadan, denylisted IP'lerden gelen herhangi bir isteği derhal engellemesi için
wallarm_acl_access_phase
yönergesininon
olarak ayarlandığından emin olun. Yönergeyi etkinleştirmenin yanı sıra, yanlışlıkla Allowlist'e eklenen IP'leri veya yanlışlıkla Denylist'e eklenmeyen konumları bulmak için Wallarm IP listelerini kontrol edin.Not: Bu CPU kullanımını azaltma yöntemi, arama motorlarından gelen isteklerin atlanmasına yol açabilir. Ancak, bu problem NGINX yapılandırmasında
map
modülünün kullanımıyla da çözülebilir. -
Libdetection'ı (düğüm versiyonu 4.4'ten itibaren varsayılan olarak etkin)
wallarm_enable_libdetection off
komutu ile devre dışı bırakın. Libdetection kullanmak CPU tüketimini %5-10 oranında artırır. Ancak, libdetection'ın devre dışı bırakılmasının SQLi saldırı tespiti için yanlış pozitif sayısında artışa neden olabileceğini göz önünde bulundurmak gerekir. -
Tespit edilen saldırı analizinde Wallarm'ın, belirli istek öğeleri için yanlışlıkla bazı ayrıştırıcıları kurallarda veya NGINX yapılandırması üzerinden kullandığını fark ederseniz, bu ayrıştırıcıları uygulanmadıkları durumlar için devre dışı bırakın. Ancak, genel olarak ayrıştırıcıların devre dışı bırakılmasının tavsiye edilmediğini unutmayın.
-
İstek işleme süresini düşürün. Bunun yapılması, meşru isteklerin sunucuya ulaşmasını engelleyebileceğini unutmayın.
-
Olası DDoS hedeflerini analiz edin ve mevcut koruma önlemlerinden birini uygulayın.