Performans Sorun Giderme¶
Wallarm düğümü çok fazla CPU tüketiyor¶
Wallarm tarafından önerilen CPU kullanımı yaklaşık %10–15'tir; bu, filtreleme düğümlerinin trafikte x10 artışı karşılayabileceği anlamına gelir. Bir Wallarm düğümü beklenenden daha fazla CPU tüketiyorsa ve CPU kullanımını azaltmanız gerekiyorsa, bu kılavuzdan yararlanın.
En uzun istek işleme sürelerini ve dolayısıyla başlıca CPU tüketicilerini ortaya çıkarmak için genişletilmiş günlüklemeyi etkinleştirip işleme süresini izleyebilirsiniz.
Wallarm kaynaklı 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 oran sınırlama işlevini kullanın. Bu, kaba kuvvet ve diğer saldırılar durumunda CPU yükünü azaltmanın en iyi yolu olabilir.Örnek yapılandırma -
limit_req
kullanımı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 wstore için uygun miktarda belleğin ayrıldığını kontrol edin.
-
wallarm_acl_access_phase
yönergesininon
olarak ayarlandığından emin olun; bu, herhangi bir filtreleme modunda bu isteklerde saldırı işaretlerini aramadan Denylist'te bulunan IP'lerden gelen istekleri anında engeller. Yönergeyi etkinleştirmenin yanı sıra, yanlışlıkla Allowlist'e eklenmiş IP'leri veya yanlışlıkla Denylist'e eklenmemiş konumları bulmak için Wallarm IP lists'i kontrol edin.Bu CPU kullanımını düşürme yöntemi, arama motorlarından gelen isteklerin atlanmasına yol açabilir. Ancak bu sorun, NGINX yapılandırmasında
map
modülünün kullanılmasıyla da çözülebilir. -
wallarm_enable_libdetection off
ile libdetection'ı devre dışı bırakın (düğüm sürümü 4.4'ten beri varsayılan olarak etkindir). libdetection kullanımı CPU tüketimini %5–10 artırır. Ancak, libdetection'ı devre dışı bırakmanın SQLi saldırı tespiti için yanlış pozitif sayısında artışa yol açabileceğini dikkate almak gerekir. -
Tespit edilen saldırı analizi sırasında, Wallarm'ın bazı ayrıştırıcıları kurallarda veya NGINX yapılandırması aracılığıyla isteklerin belirli öğeleri için yanlışlıkla kullandığını tespit ederseniz, geçerli olmadıkları durumlarda bu ayrıştırıcıları devre dışı bırakın. Ancak, genel olarak ayrıştırıcıların devre dışı bırakılması asla önerilmez.
-
İstek işleme süresini düşürün. Bunu yaparak meşru isteklerin sunucuya ulaşmasını engelleyebileceğinizi unutmayın.
-
Olası DDoS hedeflerini analiz edin ve mevcut koruma önlemlerinden birini uygulayın.