Ana içeriğe geç

Azaltma Kontrolleri

Azaltma kontrolleri, Wallarm'ın saldırı korumasını ek güvenlik önlemleriyle genişletir ve Wallarm davranışını ince ayar yapmanıza olanak tanır.

Azaltma kontrolleriyle neler yapabilirsiniz

Azaltma kontrollerini kullanarak aşağıdakileri etkinleştirebilir ve yapılandırabilirsiniz:

Azaltma kontrolü dalları

Azaltma kontrolleri, uç nokta URI'ları ve diğer koşullara göre otomatik olarak iç içe dallar halinde gruplanır. Bu, azaltma kontrolü etkilerinin aşağıya doğru devralındığı ağaç benzeri bir yapı oluşturur. İlkeler:

  • Tüm dallar tüm trafiğe uygulanan azaltma kontrollerini devralır.

  • Bir dalda, alt uç noktalar azaltma kontrolü etkilerini üstten devralır.

  • Ayrık olan, devralınana göre önceliklidir.

  • Doğrudan belirtilen, regex ile belirlenene göre önceliklidir.

  • Büyük/küçük harfe duyarlı olan, duyarsız olana göre önceliklidir.

Etkinleştirme

Azaltma kontrolleri için gereklidir:

Bunların hepsi varsa ve yine de Wallarm Console içinde Security controlsMitigation Controls bölümünü görmüyorsanız, etkinleştirilmeleri için Wallarm support team ile iletişime geçin.

Yapılandırma

Yapılandırmayı Wallarm Console içindeki Security controlsMitigation Controls bölümünde gerçekleştirin. Ayrıca sistemin diğer yerlerinden, örneğin API Sessions içinden bazı azaltma kontrol ayarlarına erişebilirsiniz.

UI'de Mitigation Controls sayfası

Yapılandırmadan önce, dallar fikrine aşina olun ve halihazırda nelerin var olduğunu kontrol edin.

Genel olarak, herhangi bir azaltma kontrolünün yapılandırılması aşağıdaki adımları içerir:

  1. İsteğe bağlı olarak özel Title belirleyin.

  2. Koşulları ayarlayın (hepsi karşılandığında → eylem).

  3. Eylemi ayarlayın (Mitigation mode).

Kapsam

Scope, kontrolün hangi isteklere uygulanacağını (URI ve diğer parametrelere göre) tanımlar. Kurallardaki istek koşullarıyla aynı şekilde yapılandırılır. Ayrıntılar için buraya bakın.

Scope bölümünü boş bırakırsanız, azaltma kontrolü tüm trafik ve tüm uygulamalar için uygulanır; bu tür kontroller tüm dallar tarafından devralınır.

Gelişmiş koşullar

Scope dışında, azaltma kontrolü eyleme geçip geçmeyeceğini tanımlayan diğer koşulları da içerebilir, örneğin:

  • GraphQL API protection için bunlar politika pozisyonlarıdır - kontrol yalnızca bunlardan herhangi biri istek tarafından ihlal edilirse eyleme geçer.

  • Enumeration attack protection için bunlar isteklerin birden çok parametresidir - kontrol yalnızca belirtilen tüm parametre/değerler karşılanırsa eyleme geçer.

Bazı kontroller için, örneğin Enumeration attack protection veya DoS protection gibi, Scope filters bölümünde, API Sessions içinde önemli olarak tanımlanmış olanların listesinden parametreleri hızlıca seçmek için session context parameters kullanabilirsiniz. Bu bölümde Add custom seçeneğini kullanarak, şu anda API Sessions içinde bulunmayan parametreleri filtre olarak ekleyin. Bunu yaparsanız, bu parametreler API Sessions'ın context parameters listesine de eklenir (gizli, yani bu parametreleri isteklerde bulunurlarsa oturum ayrıntılarında görürsünüz, ancak API Session context parameter configuration içinde görmezsiniz).

Gelişmiş koşulları belirtmek için düzenli ifadeleri kullanabilirsiniz.

Azaltma modu

Tüm koşullar karşılandığında, azaltma kontrolü eylemini gerçekleştirir. Gerekli eylem Mitigation mode bölümünde seçilir:

Mitigation mode Açıklama
Inherited Mod, tüm trafik için Real-time blocking mode ve Wallarm düğümünün configuration ayarlarından devralınır.
Monitoring Yalnızca tespit edilen saldırıları kaydeder; engelleme yapılmaz. Kaydedilen saldırılar API Sessions içinde ilgili session details bölümünde görüntülenir.
Bazı kontroller için, bu modda ayrıca kaynak IP'yi Graylist'e ekleme seçeneğini de belirleyebilirsiniz.
Blocking Saldırıları kaydeder ve engeller. Engelleme yöntemleri kontrol tipine göre değişir: gerçek zamanlı engelleme, IP tabanlı engelleme veya oturum tabanlı engelleme*.
Excluding Belirtilen kapsam için bu tür bir azaltma kontrolünü durdurur. Ayrıntılar için Excluding mode vs. disabling bölümüne bakın.
Safe blocking Saldırıları kaydeder ancak yalnızca kaynak IP graylisted ise engeller.

* Oturum tabanlı engelleme şu anda desteklenmemektedir.

Mevcut modların listesi, belirli kontrole bağlı olarak değişebilir.

Excluding modu ve devre dışı bırakma

Azaltma kontrolünü geçici olarak devre dışı bırakmak ve gerektiğinde yeniden etkinleştirmek için On/Off anahtarını kullanabilirsiniz. Devre dışı bırakılmış bir azaltma kontrolü ile Excluding azaltma modunda etkinleştirilmiş olan arasındaki farkı anlamak için aşağıdaki örneği dikkate alın:

  • Kontrollerin dallarda çalıştığını dikkate alın.

  • Diyelim ki example.com için DoS protection kontrolünüz (dakikada 50 istek) ve bunun alt dalı olan example.com/login için aynı türden bir kontrolünüz (dakikada 10 istek) var. Bu, example.com altındaki tüm adresler için dakikada 50 istek kısıtlaması, example.com/login altındaki adreslerde ise daha sıkı olarak dakikada 10 istek kısıtlaması olacaktır.

  • example.com/login için hız kötüye kullanım koruma kontrolünü Off konumuna alarak devre dışı bırakırsanız, bu kontrol hiçbir şey yapmayı bırakır (sanki silmişsiniz gibi) - tüm kapsam için kısıtlama üst kontrolden (dakikada 50 istek) belirlenecektir.

  • example.com/login için hız kötüye kullanım koruma kontrolünü yeniden etkinleştirir ve azaltma modunu Excluding olarak ayarlarsanız, bu dal için hız kötüye kullanım korumasını durdurur - tüm example.com için kısıtlama dakikada 50 istek olur, ancak example.com/login için hız kötüye kullanım koruması türünde hiçbir kısıtlama olmaz.

Düzenli ifadeler

Scope, Scope filters ve diğerleri gibi farklı azaltma kontrol parametrelerini belirtmek için düzenli ifadeleri kullanabilirsiniz:

  • Scope bölümü PIRE düzenli ifade kütüphanesini kullanır. Kullanım ayrıntıları için buraya bakın.

  • Diğer bölümler PCRE kullanır. Düzenli ifadeyi dahil etmek için aşağıdaki operatörleri kullanın:

    Operatör Açıklama
    ~ (Aa) Büyük/küçük harfe duyarsız regexp ile bir şeyi bulun.
    !~ (Aa) Büyük/küçük harfe duyarsız regexp ile bir şeyi hariç tutun.
    ~ Büyük/küçük harfe duyarlı regexp ile bir şeyi bulun.
    !~ Büyük/küçük harfe duyarlı regexp ile bir şeyi hariç tutun.

Varsayılan kontroller

Wallarm, etkinleştirildiğinde Wallarm platformunun tespit kabiliyetlerini önemli ölçüde artıran bir dizi varsayılan azaltma kontrolü sağlar. Bu kontroller, çeşitli yaygın saldırı kalıplarına karşı sağlam koruma sağlamak üzere önceden yapılandırılmıştır. Mevcut varsayılan azaltma kontrolleri şunları içerir:

Varsayılan setten gelen tüm kontroller Default etiketi taşır. Bu tür kontroller:

  • Yeni müşteriler için Wallarm tarafından otomatik olarak eklenir ve etkin (On), diğerleri için devre dışı (Off) olarak gelir.

    Varsayılan kontrollerin bulunmaması

    Obligatory olanlar dışında herhangi bir varsayılan kontrol görmüyorsanız ve bunları keşfetmek ve denemek istiyorsanız, bunları almak için Wallarm support team ile iletişime geçin.

  • Başlangıçta tüm trafik için uygulanır (değiştirilebilir).

  • Başlangıçta Monitoring mitigation mode kullanır (değiştirilebilir).

  • Silinemez.

  • Diğerleri gibi devre dışı bırakılabilir/yeniden etkinleştirilebilir ve düzenlenebilir. Düzenleme, herhangi bir varsayılan kontrolü uygulamanın özel ihtiyaçlarına, trafik kalıplarına veya iş bağlamına göre özelleştirmenize olanak tanır. Örneğin, varsayılan eşikleri ayarlayabilir veya Scope filters bölümü üzerinden belirli uç noktaları hariç tutabilirsiniz.

Varsayılan azaltma kontrolleri

Subject to change

The list of default mitigation controls is subject to change:

  • New controls may be introduced over time.
  • If a mitigation control is disabled, Wallarm may still update its parameters to improve quality and performance.

Zorunlu varsayılan kontroller

Kural seti yaşam döngüsü

Oluşturulan tüm azaltma kontrolleri ve kurallar özel bir kural seti oluşturur. Wallarm düğümü, gelen isteklerin analizinde özel kural setine dayanır.

Kurallardaki ve azaltma kontrollerindeki değişiklikler anında etkili olmaz. Değişiklikler, özel kural seti oluşturulması ve filtreleme düğümüne yüklenmesi tamamlandıktan sonra istek analiz sürecine uygulanır.

Custom ruleset building

Adding a new rule/mitigation control, deleting or changing existing ones in the Wallarm Console → Security ControlsRules or Mitigation Controls launch a custom ruleset build. During the building process, rules and controls are optimized and compiled into a format adopted for the filtering node. The process of building a custom ruleset typically takes from a few seconds for a small number of rules to up to an hour for complex rule trees.

Uploading to filtering node

Custom ruleset build is uploaded to the filtering node during the filtering node and Wallarm Cloud synchronization. By default, synchronization of the filtering node and Wallarm Cloud is launched every 2‑4 minutes. More details on the filtering node and Wallarm Cloud synchronization configuration →

The status of uploading a custom ruleset to the filtering node is logged to the /opt/wallarm/var/log/wallarm/wcli-out.log file.

All Wallarm nodes connected to the same Wallarm account receive the same set of default and custom rules for traffic filtering. You still can apply different rules for different applications by using proper application IDs or unique HTTP request parameters like headers, query string parameters, etc.

Backup and restore

To protect yourself from accidentally misconfigured or deleted rules, you can backup your current custom ruleset.

There are the following rule backup options:

  • Automatic backup creation after each custom ruleset build. The number of automatic backups is limited to 7: for each day when you change the rules several times, only the last backup is kept.

  • Manual backup creation at any time. The number of manual backups is limited to 5 by default. If you need more, contact the Wallarm technical support team.

You can:

  • Access current backups: in the Rules section, click Backups.

  • Create a new backup manually: in the Backups window, click Create backup.

  • Set name and description for the manual backup and edit them at any moment.

    Naming for automatic backups

    The automatic backups are named by the system and cannot be renamed.

  • Load from existing backup: click Load for the required backup. When loading from the backup, your current rule configuration is deleted and replaced with the configuration from the backup.

  • Delete backup.

    Rules - Creating backup

Rule modification restrictions

You cannot create or modify rules or mitigation controls until creating backup or load from backup is complete.