Filtreleme Modu¶
Filtreleme modu, gelen istekleri işlerken filtreleme düğümünün davranışını tanımlar. Bu talimatlar, mevcut filtreleme modlarını ve bunların yapılandırma yöntemlerini açıklar.
Kullanılabilir filtreleme modları¶
Wallarm filtreleme düğümü, gelen istekleri aşağıdaki modlarda (en hafiften en sıkıya doğru) işleyebilir:
-
off -
monitoring -
safe_blocking- yalnızca engellemenin güvenli olduğu durumlarda engeller (gri liste). -
block
| Wallarm node behavior | off | monitoring | safe_blocking | block |
|---|---|---|---|---|
| Analyzes incoming requests for input validation, virtual patch, and regex-based malicious payloads | - | + | + | + |
| Uploads malicious requests to the Wallarm Cloud so that they are displayed in the event list | - | + | + | + |
| Blocks malicious requests | - | - | Only those originated from graylisted IPs | + |
| Blocks requests originated from denylisted IPssee exception (IPs added manually and automatically by multi-attack protection and behavioral protection: API abuse prevention, manual BOLA, brute force and forced browsing) | - | + | + | + |
| Blocks requests originated from graylisted IPs (IPs added manually and automatically by the same protection measures as for denylist) | - | - | Only those containing malicious payloads | - |
| Allows requests originated from allowlisted IPs | - | + | + | + |
Exception for denylist
If wallarm_acl_access_phase off, the Wallarm node does not block requests from denylisted IPs in the monitoring mode.
Yapılandırma yöntemleri¶
Filtreleme modu aşağıdaki yollarla yapılandırılabilir:
Filtreleme modu yapılandırma yöntemlerinin öncelikleri, wallarm_mode_allow_override yönergesinde belirlenir. Varsayılan olarak, değerin katılığı ne olursa olsun Wallarm Console içinde belirtilen ayarlar wallarm_mode yönergesinden daha yüksek önceliğe sahiptir.
wallarm_mode yönergesinin ayarlanması¶
Düğüm filtreleme modunu, düğüm tarafında wallarm_mode yönergesini kullanarak ayarlayabilirsiniz. wallarm_mode yönergesinin farklı dağıtımlarda nasıl ayarlandığının özellikleri aşağıda açıklanmıştır.
Burada açıklanan yapılandırmanın yalnızca inline dağıtımlar için geçerli olduğunu, out-of-band (OOB) çözümler için yalnızca monitoring modunun etkin olabileceğini unutmayın.
Linux üzerinde all-in-one installer ile kurulan NGINX tabanlı düğümler için, wallarm_mode yönergesini filtreleme düğümü yapılandırma dosyasında ayarlayabilirsiniz. Farklı bağlamlar için filtreleme modlarını tanımlayabilirsiniz. Bu bağlamlar aşağıdaki listede en genelden en yerele doğru sıralanmıştır:
http: yönergeler HTTP sunucuya gönderilen isteklere uygulanır.server: yönergeler sanal sunucuya gönderilen isteklere uygulanır.location: yönergeler yalnızca belirli bu yolu içeren isteklere uygulanır.
http, server ve location blokları için farklı wallarm_mode yönerge değerleri tanımlanmışsa, en yerel yapılandırma en yüksek önceliğe sahiptir.
Aşağıda yapılandırma örneğine bakın.
NGINX tabanlı Wallarm düğümlerini Docker konteynerleri ile dağıtırken, WALLARM_MODE ortam değişkenini iletin:
docker run -d -e WALLARM_API_TOKEN='XXXXXXX' -e WALLARM_LABELS='group=<GROUP>' -e NGINX_BACKEND='example.com' -e WALLARM_API_HOST='us1.api.wallarm.com' -e WALLARM_MODE='monitoring' -p 80:80 wallarm/node:6.5.1
Alternatif olarak, ilgili parametreyi yapılandırma dosyasına ekleyin ve konteyneri bu dosyayı iliştirerek çalıştırın.
NGINX Ingress controller için, wallarm-mode ek açıklamasını kullanın:
kubectl annotate ingress <YOUR_INGRESS_NAME> -n <YOUR_INGRESS_NAMESPACE> nginx.ingress.kubernetes.io/wallarm-mode=monitoring
Filtreleme modunu monitoring olarak ayarlayarak NGINX tabanlı Ingress controller’ınız için trafik analizinin nasıl etkinleştirildiğine ilişkin örneğe bakın.
Wallarm Sidecar çözümü için, varsayılan values.yaml dosyasının Wallarm’a özel bölümünde mode parametresini ayarlayın:
Sidecar için filtreleme modunun belirtilmesine dair ayrıntılar için buraya bakın.
Security Edge connectors için, bağlayıcı dağıtımı sırasında Filtration mode seçicisinde wallarm_mode değerini belirtirsiniz.
- Native Node all-in-one installer ve Docker imajı için
route_config.wallarm_modeparametresini kullanın. - Native Node Helm chart için
config.connector.route_config.wallarm_modeparametresini kullanın.
Genel filtreleme modu¶
Tüm gelen istekler için genel filtreleme modunu mitigation controls (Advanced API Security aboneliği) veya kurallar (Cloud Native WAAP aboneliği) kullanarak tanımlayabilirsiniz..
Tüm gelen istekler için genel filtreleme modu, "all traffic" Real-time blocking mode mitigation control ile tanımlanır:
| Ayar | Filtreleme modu |
|---|---|
| Inherited | Filtreleme modu, all-traffic Real-time blocking mode ve Wallarm düğümünün configuration ayarlarından miras alınır. |
| Excluding | off |
| Monitoring | monitoring |
| Safe blocking | safe_blocking |
| Blocking | block |
Varsayılan değer Inherited’dır. Genel modu istediğiniz anda değiştirebilirsiniz.
Tüm gelen istekler için genel filtreleme modunu US veya EU Cloud’daki Settings → General bölümünde tanımlayabilirsiniz.
Genel filtreleme modu ayarı, Rules bölümünde Set filtration mode default kuralı olarak temsil edilir. Bu bölümde uç noktayı hedefleyen filtreleme kurallarının daha yüksek önceliğe sahip olduğunu unutmayın.
Koşullu filtreleme modu¶
Belirli dallar, uç noktalar ve diğer koşullara dayanarak filtreleme modunu mitigation controls (Advanced API Security aboneliği) veya kurallar (Cloud Native WAAP aboneliği) kullanarak ayarlayabilirsiniz.
Belirli dallar, uç noktalar ve diğer koşullara dayanarak filtreleme modunu ayarlayabilirsiniz. Wallarm, Real-time blocking mode mitigation control sağlar.
Devam etmeden önce: herhangi bir mitigation control için Scope ve Mitigation mode’un nasıl ayarlandığını öğrenmek üzere Mitigation Controls makalesini kullanın.
Yeni bir filtreleme modu mitigation control’ü oluşturmak için:
- Wallarm Console → Mitigation Controls bölümüne gidin.
- Add control → Real-time blocking mode kullanın.
- Mitigation control’ün uygulanacağı Scope’u tanımlayın.
-
Mitigation mode bölümünde, belirtilen kapsam için filtreleme modunu seçin:
Ayar Filtreleme modu Inherited Filtreleme modu, all-traffic Real-time blocking mode ve Wallarm düğümünün configuration ayarlarından miras alınır. Excluding offMonitoring monitoringSafe blocking safe_blockingBlocking block -
Değişiklikleri kaydedin ve mitigation control derlemesinin tamamlanmasını bekleyin.
Belirli dallar, uç noktalar ve diğer koşullara dayanarak filtreleme modunu ayarlayabilirsiniz. Wallarm, bunu yapmak için Set filtration mode rule sağlar. Bu tür kurallar, Wallarm Console’da ayarlanan genel filtreleme kuralından daha yüksek önceliğe sahiptir.
Yeni bir filtreleme modu kuralı oluşturmak için:
-
Proceed to Wallarm Console:
- Rules → Add rule or your branch → Add rule.
- Attacks / Incidents → attack/incident → hit → Rule.
- API Discovery (if enabled) → your endpoint → Create rule.
-
Fine-tuning attack detection → Override filtration mode seçin.
- If request is içinde, kuralın uygulanacağı kapsamı tanımlayın. Kuralı belirli bir dal, hit veya uç nokta için başlattıysanız, kapsamı onlar belirler – gerekirse daha fazla koşul ekleyebilirsiniz.
-
Belirtilen kapsam için filtreleme modunu seçin:
Ayar Filtreleme modu Default Filtreleme modu, global filtreleme modu ayarından ve Wallarm düğümünün configuration ayarlarından miras alınır. Disabled offMonitoring monitoringSafe blocking safe_blockingBlocking block -
Değişiklikleri kaydedin ve kural derlemesinin tamamlanmasını bekleyin.
Bir filtreleme modu kuralı oluşturmak için, Wallarm API’yi doğrudan çağırabileceğinizi unutmayın.
Yöntemlerin önceliklendirilmesi¶
wallarm_mode_allow_override yönergesinin Edge düğümünde desteği
Lütfen wallarm_mode_allow_override yönergesinin Wallarm Edge inline ve connector düğümlerinde özelleştirilemeyeceğini unutmayın.
wallarm_mode_allow_override yönergesi, filtreleme düğümü yapılandırma dosyasındaki wallarm_mode yönergesi değerlerini kullanmak yerine Wallarm Console’da tanımlanan mod kurallarını/mitigation controls uygulama yeteneğini yönetir.
wallarm_mode_allow_override yönergesi için aşağıdaki değerler geçerlidir:
-
off: Wallarm Console’da belirtilen mod kuralları/mitigation controls yok sayılır. Yapılandırma dosyasındakiwallarm_modeyönergesiyle belirtilen kurallar uygulanır. -
strict: yalnızca yapılandırma dosyasındakiwallarm_modeyönergesinin tanımladığından daha sıkı filtreleme modlarını tanımlayan Wallarm Cloud’da belirtilen mod kuralları/mitigation controls uygulanır.Kullanılabilir filtreleme modları, en hafiften en sıkıya doğru yukarıda listelenmiştir.
-
on(varsayılan): Wallarm Console’da belirtilen mod kuralları/mitigation controls uygulanır. Yapılandırma dosyasındakiwallarm_modeyönergesiyle belirtilen kurallar yok sayılır.
wallarm_mode_allow_override yönerge değerinin tanımlanabileceği bağlamlar, en genelden en yerele doğru aşağıdaki listede sunulmuştur:
-
http:httpbloğu içindeki yönergeler HTTP sunucuya gönderilen isteklere uygulanır. -
server:serverbloğu içindeki yönergeler sanal sunucuya gönderilen isteklere uygulanır. -
location:locationbloğu içindeki yönergeler yalnızca belirli bu yolu içeren isteklere uygulanır.
wallarm_mode_allow_override yönergesinin http, server ve location bloklarında farklı değerleri tanımlanmışsa, en yerel yapılandırma en yüksek önceliğe sahiptir.
wallarm_mode_allow_override yönergesinin kullanım örneği:
http {
wallarm_mode monitoring;
server {
server_name SERVER_A;
wallarm_mode_allow_override off;
}
server {
server_name SERVER_B;
wallarm_mode_allow_override on;
location /main/login {
wallarm_mode_allow_override strict;
}
}
}
Bu yapılandırma örneği, Wallarm Console’daki filtreleme modu kurallarının aşağıdaki şekilde uygulanmasıyla sonuçlanır:
-
Wallarm Console’da tanımlanan filtreleme modu kuralları/mitigation controls,
SERVER_Asanal sunucusuna gönderilen istekler için yok sayılır.SERVER_Asunucusuna karşılık gelenserverbloğunda belirtilmiş birwallarm_modeyönergesi olmadığından, bu tür istekler içinhttpbloğunda belirtilenmonitoringfiltreleme modu uygulanır. -
Wallarm Console’da tanımlanan filtreleme modu kuralları/mitigation controls,
/main/loginyolunu içeren istekler hariçSERVER_Bsanal sunucusuna gönderilen isteklere uygulanır. -
Hem
SERVER_Bsanal sunucusuna gönderilen hem de/main/loginyolunu içeren istekler için, Wallarm Console’da tanımlanan filtreleme modu kuralları yalnızcamonitoringmodundan daha sıkı bir filtreleme modu tanımlıyorlarsa uygulanır.
Yapılandırma örneği¶
Yukarıda bahsedilen tüm yöntemleri kullanan bir filtreleme modu yapılandırması örneğini ele alalım.
Düğüm yapılandırma dosyası¶
http {
wallarm_mode block;
server {
server_name SERVER_A;
wallarm_mode monitoring;
wallarm_mode_allow_override off;
location /main/login {
wallarm_mode block;
wallarm_mode_allow_override strict;
}
location /main/signup {
wallarm_mode_allow_override strict;
}
location /main/apply {
wallarm_mode block;
wallarm_mode_allow_override on;
}
location /main/feedback {
wallarm_mode safe_blocking;
wallarm_mode_allow_override off;
}
}
}
Wallarm Console’daki ayarlar¶
-
Genel filtreleme modu: Monitoring.
-
Koşullu filtreleme modu ayarları:
-
İstek aşağıdaki koşulları sağlıyorsa:
- Yöntem:
POST - Yolun ilk bölümü:
main - Yolun ikinci bölümü:
apply,
o halde Default filtreleme modunu uygulayın.
- Yöntem:
-
İstek aşağıdaki koşulu sağlıyorsa:
- Yolun ilk bölümü:
main,
o halde Blocking filtreleme modunu uygulayın.
- Yolun ilk bölümü:
-
İstek aşağıdaki koşulları sağlıyorsa:
- Yolun ilk bölümü:
main - Yolun ikinci bölümü:
login,
o halde Monitoring filtreleme modunu uygulayın.
- Yolun ilk bölümü:
-
İstek örnekleri¶
Yapılandırılmış SERVER_A sunucusuna gönderilen isteklerin örnekleri ve Wallarm filtreleme düğümünün bunlara uyguladığı işlem aşağıdaki gibidir:
-
/newsyoluna sahip kötü amaçlı istek,SERVER_Asunucusu içinwallarm_mode monitoring;ayarı nedeniyle işlenir ancak engellenmez. -
/mainyoluna sahip kötü amaçlı istek,SERVER_Asunucusu içinwallarm_mode monitoring;ayarı nedeniyle işlenir ancak engellenmez.Wallarm Console’da tanımlanan Blocking kuralı,
SERVER_Asunucusu içinwallarm_mode_allow_override off;ayarı nedeniyle buna uygulanmaz. -
/main/loginyoluna sahip kötü amaçlı istek,/main/loginyoluna sahip istekler içinwallarm_mode block;ayarı nedeniyle engellenir.Wallarm Console’da tanımlanan Monitoring kuralı, filtreleme düğümü yapılandırma dosyasındaki
wallarm_mode_allow_override strict;ayarı nedeniyle buna uygulanmaz. -
/main/signupyoluna sahip kötü amaçlı istek,/main/signupyoluna sahip istekler içinwallarm_mode_allow_override strict;ayarı ve/mainyolu için Wallarm Console’da tanımlanan Blocking kuralı nedeniyle engellenir. -
/main/applyyoluna veGETmetoduna sahip kötü amaçlı istek,/main/applyyoluna sahip istekler içinwallarm_mode_allow_override on;ayarı ve/mainyolu için Wallarm Console’da tanımlanan Blocking kuralı nedeniyle engellenir. -
/main/applyyoluna vePOSTmetoduna sahip kötü amaçlı istek,/main/applyyoluna sahip bu istekler içinwallarm_mode_allow_override on;ayarı, Wallarm Console’da tanımlanan Default kuralı ve filtreleme düğümü yapılandırma dosyasında/main/applyyoluna sahip istekler içinwallarm_mode block;ayarı nedeniyle engellenir. -
/main/feedbackyoluna sahip kötü amaçlı istek, filtreleme düğümü yapılandırma dosyasında/main/feedbackyoluna sahip istekler içinwallarm_mode safe_blocking;ayarı nedeniyle yalnızca gri listeye alınmış bir IP’den geliyorsa engellenir.Wallarm Console’da tanımlanan Monitoring kuralı, filtreleme düğümü yapılandırma dosyasındaki
wallarm_mode_allow_override off;ayarı nedeniyle buna uygulanmaz.
Filtreleme modunu kademeli uygulamaya ilişkin en iyi uygulamalar¶
Yeni bir Wallarm düğümünün başarılı şekilde devreye alınması için, filtreleme modlarını değiştirmek üzere şu adım adım önerileri izleyin:
-
Wallarm filtreleme düğümlerini üretim dışı ortamlarınızda
monitoringçalışma moduna ayarlı olarak dağıtın. -
Wallarm filtreleme düğümlerini üretim ortamınızda
monitoringçalışma moduna ayarlı olarak dağıtın. -
Wallarm bulut tabanlı arka ucunun uygulamanızı öğrenmesi için tüm ortamlarınızdaki (test ve üretim dahil) trafiğin 7‑14 gün boyunca filtreleme düğümleri üzerinden akmasını sağlayın.
-
Tüm üretim dışı ortamlarınızda Wallarm
blockmodunu etkinleştirin ve korunan uygulamanın beklendiği gibi çalıştığını doğrulamak için otomatik veya manuel testler kullanın. -
Üretim ortamında Wallarm
blockmodunu etkinleştirin ve uygulamanın beklendiği gibi çalıştığını doğrulamak için mevcut yöntemleri kullanın.
