Skip to content
Smarter by Design.Simpler for Business

waf fw-rules ​

waf fw-rules komutu, bir host grubunun yol kurallarını yönetir. Her kural bir istek yolunu karşılar ve o yola gelen isteğin hangi metotlarla, ne uzunlukta ve ne derinlikte olabileceğini belirler. Kuralın ayrıntılı denetim parçaları ayrı bir komutta tutulur.

Komut Özeti ​

TR7 WEB-CLI · waf fw-rules
# komuttan sonra Tab
admin@TR7LBWAF01> waf fw-rules
add add-arg-headers delete list show update
 
admin@TR7LBWAF01> waf fw-rules list poolId <vservice> hostGroupId <grup>
admin@TR7LBWAF01> waf fw-rules add poolId <vservice> hostGroupId <grup> …
admin@TR7LBWAF01> waf fw-rules update poolId <vservice> hostGroupId <grup> id <kimlik> …
admin@TR7LBWAF01> waf fw-rules delete poolId <vservice> hostGroupId <grup> <kimlik>
admin@TR7LBWAF01>  

Zorunlu Alanlar ​

Her komutta CLI kuralın yerini aşağıdaki sırayla, tek tek ister; biri yazılmadan sonrakini göstermez. Alanlar alan adı ile değeri birlikte yazılır.

SıraAlanDurumDeğer
1poolIdZorunluKuralın bağlı olduğu vService kaydı
2hostGroupIdZorunluKuralın bağlı olduğu host grubu kaydı; seçilen vService'in grupları listelenir
3path.inputKoşullu zorunluYalnız add komutunda; karşılanacak istek yolu. --path.type varsayılanı exact olduğu için pratikte her zaman istenir
3idZorunluYalnız update komutunda; düzenlenecek kural

Satıra bir -- alanı eklendiğinde path.input da --path.input biçiminde yazılır; Tab her adımda doğru yazımı gösterir.

add, list, show ve delete komutları ilk iki alanı ister; show ve delete komutlarında ardından kuralın kimliği alan adı olmadan yazılır. add-arg-headers komutunda ise iki alanın da adı yazılmaz (bkz. aşağıdaki bölüm). Kuralların adı yoktur: seçim listesinde eşleştikleri yolla, yerleşik genel kural ise default rule olarak görünür.

İstek Yolu ​

AlanNe yaparArkasına ne yazılır
--path.typeKuralın belirli bir yolu mu yoksa bütün yolları mı karşıladığını belirlerexact belirli bir yol (varsayılan) · any bütün yollar; any yalnız yerleşik varsayılan kurala aittir
--path.inputKarşılanacak yolu belirler/ ile başlayan istek yolu, örneğin /api/v1/login. Glob deseni (/api/*) kendiliğinden algılanır. --path.type exact iken zorunludur (bkz. sıra 3)

Kuralın türünü sunucu hesaplar: birebir yollar exact, glob desenli yollar regex, yerleşik genel kural default olarak işaretlenir.

İzinli HTTP Metotları ​

AlanNe yaparArkasına ne yazılır
--allowedMethods.typeMetot kısıtının nasıl uygulanacağını seçerany her metoda izin verir (varsayılan) · multiple yalnız seçilen metotlara izin verir · none hiçbir metoda izin vermez
--allowedMethods.input.Nmultiple seçildiğinde hangi metotlara izin verileceğini belirlerGET · HEAD · OPTIONS · POST · PUT · PATCH · DELETE · TRACE · CONNECT; her metot kendi indeksiyle. Yalnız --allowedMethods.type multiple iken açılır

Yol Kısıtları ​

İki kısıt da aynı üç alandan oluşur: karşılaştırma işleci, değer ve aralık sonu.

AlanNe yaparArkasına ne yazılır
--pathSize.opYol uzunluğunun nasıl karşılaştırılacağını seçernone kısıtlama yok (varsayılan) · <= · = · >= · - aralık
--pathSize.valKarşılaştırılacak uzunluğu belirlerSayı; işleç - iken aralığın başı
--pathSize.val2Aralığın sonunu belirlerSayı; yalnız işleç - iken kullanılır
--pathDepth.opYol derinliğinin nasıl karşılaştırılacağını seçernone kısıtlama yok (varsayılan) · <= · = · >= · - aralık
--pathDepth.valKarşılaştırılacak derinliği belirlerSayı; işleç - iken aralığın başı
--pathDepth.val2Aralığın sonunu belirlerSayı; yalnız işleç - iken kullanılır

İşleç none değilse değer zorunludur

Şemadaki kısıt, işleç none dışında bir değer aldığında val alanının sayı olmasını, işleç - iken ayrıca val2 alanının da sayı olmasını gerektirir.

OWASP Denetimi ​

AlanNe yaparArkasına ne yazılır
--argOwaspİstek yoluna OWASP denetimlerinin uygulanmasını açartrue · false (varsayılan false)
--argOwaspExclusions.NBu kuralda uygulanmayacak OWASP kural anahtarlarını belirlerKural anahtarı; her anahtar kendi indeksiyle, aynı anahtar iki kez yazılamaz

add-arg-headers — Önerilen Header Kurallarını Ekleme ​

Host grubunun varsayılan kuralına, hazır header-argüman denetim setini (cookie, user-agent, content-type ve benzeri) ekler; setin var olan girdilerini yeniler. İstek gövdesi gerekmez.

SıraAlanDurumDeğer
1poolIdZorunluÜzerinde çalışılacak vService. Alan adı yazılmaz, değer doğrudan yazılır
2hostGroupIdZorunluVarsayılan kuralına ekleme yapılacak host grubu. Alan adı yazılmaz, değer doğrudan yazılır

Aynı işlemin birden çok host grubuna tek seferde uygulanması waf host-groups komutundaki add-arg-headers ile yapılır.

Örnekler ​

TR7 WEB-CLI · yol kuralları
# giriş yoluna yalnız POST, en çok 128 karakter
admin@TR7LBWAF01> waf fw-rules add poolId <vservice> hostGroupId <grup> \
--path.type exact --path.input /api/v1/login \
--allowedMethods.type multiple --allowedMethods.input.0 POST \
--pathSize.op "<=" --pathSize.val 128 --argOwasp true
 
# glob desenli yol, derinlik aralığı
admin@TR7LBWAF01> waf fw-rules add poolId <vservice> hostGroupId <grup> \
--path.input "/api/*" --pathDepth.op "-" --pathDepth.val 2 --pathDepth.val2 6
 
# bir OWASP kuralını bu yolda dışarıda bırakma
admin@TR7LBWAF01> waf fw-rules update poolId <vservice> hostGroupId <grup> id <kimlik> \
--argOwaspExclusions.0 <kural-anahtarı>
 
# hazır header denetimlerini varsayılan kurala ekleme
admin@TR7LBWAF01> waf fw-rules add-arg-headers <vservice> <grup>
admin@TR7LBWAF01>  

Bilinmesi Gerekenler ​

  • Kural bir host grubuna aittir. Her komutta poolId ve hostGroupId ile hangi grubun kuralları üzerinde çalışıldığı belirtilir; gruplar waf host-groups komutundadır.
  • Zorunlu alanlar -- almaz. poolId ve hostGroupId alan adı ile değeri yan yana yazılır; isteğe bağlı alanlar --alan değer biçimindedir. Ayrıntı API Commands sayfasındadır.
  • Kuralın adı yoktur. Kayıtlar eşleştikleri yolla anılır; yerleşik genel kural listede default rule olarak görünür.
  • any yol tipi elle seçilmez. Şemadaki açıklamaya göre bu tip yalnız yerleşik varsayılan kurala aittir.
  • Karşılaştırma işleçleri tırnak ister. <=, >= ve - gibi değerler kabuk tarafından yönlendirme sayılmasın diye çift tırnak içinde yazılır.
  • Ayrıntılı denetimler ayrı komuttadır. Sorgu, header, gövde ve benzeri bölgelerdeki anahtar ve değer denetimleri waf rule-parts komutuyla yönetilir; kural yanıtlarında salt okunur olarak görünürler.
  • Silinen kural geri gelmez. delete komutu kuralı ve altındaki denetim parçalarını kaldırır.