Azure Web Uygulaması Güvenlik Duvarı JavaScript sınaması

Azure Application Gateway'de Azure Web Uygulaması Güvenlik Duvarı (WAF), gelişmiş bot koruması için azaltma seçeneklerinden biri olarak bir JavaScript (JS) sınama özelliği sunar.

Azure Front Door üzerinde Azure Web Uygulaması Güvenlik Duvarı (WAF), gelişmiş bot koruması için risk azaltma seçeneklerinden biri olarak bir JavaScript (JS) sınama özelliği sunar. Premium sürümde özel kural kümesinde ve Bot Manager 1.x kural kümesinde bir eylem olarak kullanılabilir.

JavaScript sınaması, meşru kullanıcılarla botları birbirinden ayıran görünmez bir web sınamasıdır. Kötü amaçlı botlar sınamada başarısız olur, böylece web uygulamalarınız korunur. Buna ek olarak JavaScript sınaması, insan müdahalesi gerektirmediğinden yasal kullanıcılar için sürtüşmeleri azaltır.

Önemli

Azure Application Gateway'de Azure Web Uygulaması Güvenlik Duvarı JavaScript sınaması şu anda ÖNİzLEME aşamasındadır. Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Nasıl çalışır?

Azure WAF'de JavaScript sınaması etkin olduğunda ve bir istemcinin HTTP(S) isteği belirli bir kuralla eşleştiğinde, istemciye bir Microsoft JavaScript sınama sayfası gösterilir. Tarayıcı sınamayı hesaplarken kullanıcı bu sayfayı birkaç saniye boyunca görür. Kullanıcının tarayıcısı sınamayı başarıyla hesaplarsa WAF'yi yapılandırdığınızda kullanıma sunulan bir Azure uç noktasına yanıt gönderir. Bu uç nokta genel kullanıma sunulur, ancak bu uç noktaya gönderilen istekler arka uçta iletilmez ve hız sınırlama özelliklerine dahil edilmez. Tarayıcının bu uç noktaya çağrısı başarılı bir hesaplamayı gösteren doğru değerleri içeriyorsa, kullanıcı sınamayı geçer.

İstemcinin tarayıcısının Azure WAF'den doğrulama almak için bu sayfada bir JavaScript sınamasını başarıyla hesaplaması gerekir. Hesaplama başarılı olduğunda WAF, isteği bot olmayan bir istemci olarak doğrular ve WAF kurallarının geri kalanını çalıştırır. Sınamayı başarıyla hesaplayamayan istekler engellenir.

Çıkış noktaları arası kaynak paylaşımı (CORS) istekleri her erişim girişiminde sorgulanır. Bu nedenle, bir istemci, sınamayı barındıran etki alanından farklı bir etki alanından JavaScript sınamasını tetikleyen bir sayfaya erişirse, istemci sınamayı daha önce geçmiş olsa bile sorgulamayla tekrar karşı karşıya kalır.

Ayrıca, bir istemci JavaScript sınamasını çözerse ve ardından istemcinin IP adresi değişirse, sınama yeniden verilir.

İşte örnek bir JavaScript challenge sayfası:

JavaScript sorgulama sayfasını gösteren ekran görüntüsü.

Süre Sonu

WAF politika ayarı, JavaScript zorluk çerezi geçerlilik süresini dakika cinsinden tanımlar. Kullanım ömrü sona erdikten sonra kullanıcı sorgulanır. Yaşam süresi 5 ile 1.440 dakika arasında bir tamsayıdır ve varsayılan değer 30 dakikadır. JavaScript sınaması için tanımlama bilgisinin adı Azure Application Gateway üzerinde appgw_azwaf_jsclearance şeklindedir.

WAF politika ayarı, JavaScript zorluk çerezi geçerlilik süresini dakika cinsinden tanımlar. Kullanım ömrü sona erdikten sonra kullanıcı sorgulanır. Yaşam süresi 5 ile 1.440 dakika arasında bir tamsayıdır ve varsayılan değer 30 dakikadır. JavaScript sınama çerez adı Azure Front Door'da afd_azwaf_jsclearance olarak adlandırılır.

Uyarı

JavaScript sınaması süre sonu çerezi, sınama başarıyla tamamlandıktan sonra kullanıcının tarayıcısına eklenir.

Sınırlamalar

  • AJAX ve API çağrıları desteklenmez: JavaScript sınaması AJAX ve API istekleri için geçerli değildir.
  • POST gövde boyutu kısıtlaması: Post gövdesi Azure Application Gateway'de 128 KB'ı aşarsa JavaScript sınamasını tetikleyen ilk istek engellenir.
  • POST gövde boyutu kısıtlaması: Post gövdesi Azure Front Door'da 64 KB'ı aşarsa JavaScript sınamasını tetikleyen ilk istek engellenir.
  • HTML ekli olmayan kaynaklar: JavaScript sınaması HTML kaynakları için tasarlanmıştır. Resimler, CSS, JavaScript dosyaları veya benzer kaynaklar gibi bir sayfaya eklenmiş HTML olmayan kaynaklar için zorluklar desteklenmez. Ancak, daha önce başarılı bir JavaScript sınama isteği varsa bu sınırlamalar kaldırılır.

  • Tarayıcı uyumluluğu: Microsoft Internet Explorer'da JavaScript sınaması desteklenmez. Microsoft Edge, Chrome, Firefox ve Safari web tarayıcılarının en son sürümleriyle uyumludur.

  • Hız sınırı desteklenmez: Application Gateway'de JavaScript sınama eylemi, önizleme sırasında Hız Sınırı türü özel kuralları için desteklenmez.

  • Application Gateway for Containers WAF: Application Gateway for Containers WAF, JavaScript sınamasını desteklemez.