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_mode
parametresini kullanın. - Native Node Helm chart için
config.connector.route_config.wallarm_mode
parametresini 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 off
Monitoring monitoring
Safe blocking safe_blocking
Blocking 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 off
Monitoring monitoring
Safe blocking safe_blocking
Blocking 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_mode
yönergesiyle belirtilen kurallar uygulanır. -
strict
: yalnızca yapılandırma dosyasındakiwallarm_mode
yö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_mode
yö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
:http
bloğu içindeki yönergeler HTTP sunucuya gönderilen isteklere uygulanır. -
server
:server
bloğu içindeki yönergeler sanal sunucuya gönderilen isteklere uygulanır. -
location
:location
bloğ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_A
sanal sunucusuna gönderilen istekler için yok sayılır.SERVER_A
sunucusuna karşılık gelenserver
bloğunda belirtilmiş birwallarm_mode
yönergesi olmadığından, bu tür istekler içinhttp
bloğunda belirtilenmonitoring
filtreleme modu uygulanır. -
Wallarm Console’da tanımlanan filtreleme modu kuralları/mitigation controls,
/main/login
yolunu içeren istekler hariçSERVER_B
sanal sunucusuna gönderilen isteklere uygulanır. -
Hem
SERVER_B
sanal sunucusuna gönderilen hem de/main/login
yolunu içeren istekler için, Wallarm Console’da tanımlanan filtreleme modu kuralları yalnızcamonitoring
modundan 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:
-
/news
yoluna sahip kötü amaçlı istek,SERVER_A
sunucusu içinwallarm_mode monitoring;
ayarı nedeniyle işlenir ancak engellenmez. -
/main
yoluna sahip kötü amaçlı istek,SERVER_A
sunucusu içinwallarm_mode monitoring;
ayarı nedeniyle işlenir ancak engellenmez.Wallarm Console’da tanımlanan Blocking kuralı,
SERVER_A
sunucusu içinwallarm_mode_allow_override off;
ayarı nedeniyle buna uygulanmaz. -
/main/login
yoluna sahip kötü amaçlı istek,/main/login
yoluna 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/signup
yoluna sahip kötü amaçlı istek,/main/signup
yoluna sahip istekler içinwallarm_mode_allow_override strict;
ayarı ve/main
yolu için Wallarm Console’da tanımlanan Blocking kuralı nedeniyle engellenir. -
/main/apply
yoluna veGET
metoduna sahip kötü amaçlı istek,/main/apply
yoluna sahip istekler içinwallarm_mode_allow_override on;
ayarı ve/main
yolu için Wallarm Console’da tanımlanan Blocking kuralı nedeniyle engellenir. -
/main/apply
yoluna vePOST
metoduna sahip kötü amaçlı istek,/main/apply
yoluna 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/apply
yoluna sahip istekler içinwallarm_mode block;
ayarı nedeniyle engellenir. -
/main/feedback
yoluna sahip kötü amaçlı istek, filtreleme düğümü yapılandırma dosyasında/main/feedback
yoluna 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
block
modunu 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
block
modunu etkinleştirin ve uygulamanın beklendiği gibi çalıştığını doğrulamak için mevcut yöntemleri kullanın.