Aracılığıyla paylaş


Azure Application Gateway için Web Güvenlik Duvarı (WAF) sorunlarını giderme

Web Uygulaması Güvenlik Duvarınız (WAF) izin verilmesi gereken istekleri engelliyorsa, atabileceğiniz birkaç adım vardır.

WAF'a genel bakış ve WAF yapılandırma belgelerini gözden geçirerek başlayın ve WAF izlemenin etkinleştirildiğinden emin olun. Bu makalelerde WAF'nin nasıl çalıştığı, kural kümelerinin nasıl çalıştığı ve WAF günlüklerine nasıl erişileceği açıklanmaktadır.

OWASP kural kümeleri, kullanıma hazır olacak ve WAF kullanan uygulamanın veya kuruluşun belirli gereksinimlerine uyacak şekilde ayarlanacak şekilde tasarlanmıştır. Tamamen normaldir ve çoğu durumda dışlamalar, özel kurallar oluşturmak ve hatta sorunlara veya yanlış olumlu sonuçlara neden olabilecek kuralları devre dışı bırakmak beklenir. Site başına ve URI başına ilkeler, bu değişikliklerin yalnızca belirli siteleri/URI'leri etkilemesine olanak sağlar. Bu nedenle, değişikliklerin aynı sorunlarla karşılaşmayabilecek diğer siteleri etkilemesi gerekmemelidir.

WAF günlüklerini anlama

WAF günlüklerinin amacı, WAF'nin eşleştiği veya engellediği her isteği göstermektir. Eşleşen veya engellenen tüm değerlendirilen isteklerin kayıt defteridir. WAF'nin olmaması gereken bir isteği engellediğini fark ederseniz (hatalı pozitif) birkaç şey yapabilirsiniz. İlk olarak, konuya odaklanın ve belirli bir isteği bulun. İsteğin belirli URI'sini, zaman damgasını veya işlem kimliğini bulmak için günlüklere bakın. İlişkili günlük girdilerini bulduğunuzda, yanlış pozitifler üzerinde eyleme geçebilirsiniz.

Örneğin, WAF'nizden geçirmek istediğiniz dizeyi 1=1 içeren geçerli bir trafiğiniz olduğunu varsayalım. İsteği denerseniz, WAF herhangi bir parametre veya alanda dizenizi 1=1 içeren trafiği engeller. Bu genellikle SQL ekleme saldırısıyla ilişkili bir dizedir. Günlükleri gözden geçirip isteğin zaman damgasını ve engellenen/eşleşen kuralları görebilirsiniz.

Aşağıdaki örnekte, aynı istek sırasında dört kuralın tetiklendiğini görebilirsiniz (TransactionId alanı kullanılarak). İlk tespit, kullanıcının istek için sayısal/IP URL'si kullanmış olmasından dolayı eşleştiğini ve bunun da bir uyarı olduğu için anomali puanını üç artırdığını söyler. Eşleşen sonraki kural, aradığınız kural olan 942130'dır. 1=1 alanında details.data öğesini görebilirsiniz. Bu da bir uyarı olduğundan anomali puanını tekrar üç artırır. Genel olarak, Eşleştirildi eylemine sahip her kural anomali puanını artırır ve bu noktada anomali puanı altı olur. Daha fazla bilgi için bkz . Anomali puanlama modu.

Son iki günlük kayıt, anomali puanı yeterince yüksek olduğu için isteğin engellendiğini gösterir. Bu girişlerin eylemi, diğer iki girişten farklıdır. İsteği gerçekten engellediklerini gösteriyorlar. Bu kurallar zorunlu olduğundan devre dışı bırakılamaz. Bunlar kural olarak değil, WAF iç kuruluşlarının temel altyapısı olarak düşünülmelidir.

{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": { 
            "message": "Warning. Pattern match \\\"^[\\\\\\\\d.:]+$\\\" at REQUEST_HEADERS:Host. ",
            "data": "40.90.218.160",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf\\\"",
            "line": "791" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    } 
} 
{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "942130",
        "message": "SQL Injection Attack: SQL Tautology Detected.",
        "action": "Matched",
        "site": "Global",
        "details": { 
            "message": "Warning. Pattern match \\\"(?i:([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)([\\\\\\\\d\\\\\\\\w]++)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?:(?:=|\\u003c=\\u003e|r?like|sounds\\\\\\\\s+like|regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)\\\\\\\\2|(?:!=|\\u003c=|\\u003e=|\\u003c\\u003e|\\u003c|\\u003e|\\\\\\\\^|is\\\\\\\\s+not|not\\\\\\\\s+like|not\\\\\\\\s+regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?!\\\\\\\\2)([\\\\\\\\d\\\\\\\\w]+)))\\\" at ARGS:text1. ",
            "data": "Matched Data: 1=1 found within ARGS:text1: 1=1",
            "file": "rules\/REQUEST-942-APPLICATION-ATTACK-SQLI.conf\\\"",
            "line": "554" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    } 
} 
{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Score: 8)",
        "action": "Blocked",
        "site": "Global",
        "details": { 
            "message": "Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score. ",
            "data": "",
            "file": "rules\/REQUEST-949-BLOCKING-EVALUATION.conf\\\"",
            "line": "57" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    } 
} 
{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Inbound Score: 8 - SQLI=5,XSS=0,RFI=0,LFI=0,RCE=0,PHPI=0,HTTP=0,SESS=0): SQL Injection Attack: SQL Tautology Detected.",
        "action": "Blocked",
        "site": "Global",
        "details": { 
            "message": "Warning. Operator GE matched 5 at TX:inbound_anomaly_score. ",
            "data": "",
            "file": "rules\/RESPONSE-980-CORRELATION.conf\\\"",
            "line": "73" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    }
}

Hatalı pozitif sonuçları düzeltme

Bu bilgiler ve 942130 kuralının dizeyle eşleşen 1=1 kural olduğu bilgisi sayesinde, bunun trafiğinizi engellemesini önlemek için birkaç şey yapabilirsiniz:

  • Bir dışlama listesi kullanın. Dışlama listeleri hakkında daha fazla bilgi için bkz: WAF dışlama listeleri.

  • Kuralı devre dışı bırakın.

Dışlama listesi kullanma

Hatalı pozitif sonuçları işleme hakkında bilinçli bir karar vermek için, uygulamanızın kullandığı teknolojiler hakkında bilgi sahibi olmak önemlidir. Örneğin, teknoloji yığınınızda bir SQL sunucusu olmadığını ve bu kurallarla ilgili hatalı pozitifler elde ettiğinizi varsayalım. Bu kuralları devre dışı bırakmak güvenliğinizi zayıflatmak zorunda değildir.

Dışlama listesi kullanmanın avantajlarından biri, isteğin yalnızca belirli bir bölümünün devre dışı bırakılmasıdır. Ancak bu, genel bir ayar olduğundan WAF'nizden geçen tüm trafik için belirli bir dışlamanın geçerli olduğu anlamına gelir. Örneğin, 1=1 belirli bir uygulamanın gövdesinde geçerli bir istekse ancak diğerleri için geçerli değilse, bu sorunlara yol açabilir. Bir diğer avantaj da, isteği tamamıyla dışlamaktansa belirli bir koşul karşılandığında dışlanacak gövde, başlıklar ve çerezler arasında seçim yapabilmenizdir.

Bazen, belirli parametrelerin sezgisel olmayan bir şekilde WAF'ye geçirildiği durumlar vardır. Örneğin, Microsoft Entra ID kullanılarak kimlik doğrulaması yaparken aktarılan bir belirteç vardır. __RequestVerificationToken genellikle bir istek çerezi olarak iletilir. Ancak tanımlama bilgilerinin devre dışı bırakıldığı bazı durumlarda, bu belirteç bir istek özniteliği veya argolarak da geçirilir. Böyle bir durumda, __RequestVerificationToken öğesinin, bir istek özniteliği adı olarak dışlama listesine eklendiğinden emin olmanız gerekir.

Dışlama listesini gösteren ekran görüntüsü.

Bu örnekte, Request öznitelik adını, text1'e eşitse hariç tutmak istiyorsunuz. Güvenlik duvarı günlüklerinde öznitelik adını görebildiğiniz için bu durum belirgindir: veri: Eşleşen Veriler: ARGS:text1: 1=1 içinde bulunan 1=1. Özniteliği text1'dir. Bu öznitelik adını birkaç farklı yolla da bulabilirsiniz. Bkz . İstek öznitelik adlarını bulma.

WAF dışlama listelerinin nasıl yapılandırıldığını gösteren ekran görüntüsü.

Farklı kapsam düzeylerinde Application Gateway'de WAF için dışlamalar oluşturabilirsiniz. Daha fazla bilgi için bkz. Web Uygulaması Güvenlik Duvarı dışlama listeleri.

Kuralları devre dışı bırakma

Yanlış pozitiflerin üstesinden gelmenin bir diğer yolu, WAF'nin kötü amaçlı olarak değerlendirdiği girdide eşleşen kuralı devre dışı bırakmaktır. WAF günlüklerini ayrıştırdığınız ve kuralı 942130'a indirdiğiniz için Azure portalında devre dışı bırakabilirsiniz. Bkz. Azure portalı aracılığıyla web uygulaması güvenlik duvarı kurallarını özelleştirme.

Kuralı devre dışı bırakmanın avantajlarından biri, normalde engellenen belirli bir koşulu içeren tüm trafiğin geçerli trafik olduğunu biliyorsanız, bu kuralı tüm WAF için devre dışı bırakabilmenizdir. Ancak, yalnızca belirli bir kullanım durumunda geçerli olan trafikse, küresel bir ayar olduğundan, bu kuralı tüm WAF için devre dışı bırakarak bir güvenlik açığı oluşturursunuz.

Azure PowerShell kullanmak istiyorsanız bkz . PowerShell aracılığıyla web uygulaması güvenlik duvarı kurallarını özelleştirme. Azure CLI kullanmak istiyorsanız bkz . Azure CLI aracılığıyla web uygulaması güvenlik duvarı kurallarını özelleştirme.

HAR dosyalarını kaydetme

HTTP Arşivi (HAR) dosyalarını kaydetmek için tarayıcınızı veya Fiddler gibi bir dış aracı kullanabilirsiniz. HAR dosyaları, tarayıcınızın bir web sayfası yüklenirken yaptığı istekler ve yanıtlar hakkında bilgi içerir. Bu bilgiler WAF sorunlarını gidermek için yararlı olabilir.

İpucu

Desteğe başvurarak HAR dosyasının hazır olması iyi bir uygulamadır. Destek ekibi, sorunu tanılamaya yardımcı olması için HAR dosyasını kullanabilir.

Microsoft Edge'de bir HAR dosyasını kaydetmek ve kayıt etmek için şu adımları izleyin

  1. Edge Geliştirici araçlarını başlatmak için F12 veya Ctrl+Shift+I tuşlarına basın. Araçları, Diğer > araçlar Geliştirici araçları altındaki araç çubuğu menüsünden de başlatabilirsiniz.

  2. Konsol sekmesinde Konsolutemizle'yi seçin veya Ctrl+L tuşlarına basın.

    Microsoft Edge geliştirici araçlarının Konsol sekmesinin ekran görüntüsü.

  3. sekmesini seçin.

  4. 'Ağ günlüğünü temizle'yi seçin veya Ctrl+L tuşlarına basın ve ardından eğer kayıt yapılmıyorsa 'Ağ günlüğünü kaydet'i seçin.

    Microsoft Edge geliştirici araçlarının Ağ sekmesinin ekran görüntüsü.

  5. Sorun gidermek istediğiniz WAF'niz tarafından korunan web sayfasını yükleyin.

  6. Ağ günlüğü kaydını durdur seçeneğini tercih ederek kaydı durdurun.

  7. HAR'yi Dışarı Aktar (temizlenmiş)... öğesini seçin ve HAR dosyasını kaydedin.

    Microsoft Edge geliştirici araçlarında HAR dosyasının nasıl kaydedildiğini gösteren ekran görüntüsü.

İstek özniteliği adlarını bulma

Fiddler'ı kullanarak tek tek istekleri inceleyebilir ve bir web sayfasının hangi belirli alanlarının çağrıldığını belirleyebilirsiniz. Bu bilgilerin kullanılması, Dışlama Listelerini kullanarak belirli alanları denetlemenin dışında tutmaya yardımcı olur.

Bu örnekte, 1=1 dizesinin girildiği alanın text1 olarak adlandırıldığını görebilirsiniz.

Fiddler Web Hata Ayıklayıcısı'nın ekran görüntüsü. Ham sekmesinde, ad metni1'in ardından 1=1 görünür.

Bu, dışlayabileceğiniz bir alandır. Dışlama listeleri hakkında daha fazla bilgi edinmek için bkz . Web uygulaması güvenlik duvarı dışlama listeleri. Bu durumda, aşağıdaki dışlama yapılandırarak değerlendirmeyi dışlayabilirsiniz:

WAF dışlamanın gösterildiği ekran görüntüsü.

Ayrıca, dışlama listesine eklemeniz gerekenleri görmek üzere bilgileri almak için güvenlik duvarı günlüklerini inceleyebilirsiniz. Günlük kaydını etkinleştirmek için Application Gateway için arka uç sağlığı, kaynak günlükleri ve metrikler konusuna bakın.

Güvenlik duvarı günlüğünü inceleyin ve incelemek istediğiniz isteğin gerçekleştiği saat için PT1H.json dosyasını görüntüleyin.

Bu örnekte, aynı TransactionID'ye sahip dört kuralınız olduğunu ve bunların tümünün tam olarak aynı anda gerçekleştiğini görebilirsiniz:

{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"^[\\\\\\\\d.:]+$\\\" at REQUEST_HEADERS:Host. ",
            "data": "40.90.218.160",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf\\\"",
            "line": "791"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}
{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "942130",
        "message": "SQL Injection Attack: SQL Tautology Detected.",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"(?i:([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)([\\\\\\\\d\\\\\\\\w]++)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?:(?:=|\\u003c=\\u003e|r?like|sounds\\\\\\\\s+like|regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)\\\\\\\\2|(?:!=|\\u003c=|\\u003e=|\\u003c\\u003e|\\u003c|\\u003e|\\\\\\\\^|is\\\\\\\\s+not|not\\\\\\\\s+like|not\\\\\\\\s+regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?!\\\\\\\\2)([\\\\\\\\d\\\\\\\\w]+)))\\\" at ARGS:text1. ",
            "data": "Matched Data: 1=1 found within ARGS:text1: 1=1",
            "file": "rules\/REQUEST-942-APPLICATION-ATTACK-SQLI.conf\\\"",
            "line": "554"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}
{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Score: 8)",
        "action": "Blocked",
        "site": "Global",
        "details": {
            "message": "Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score. ",
            "data": "",
            "file": "rules\/REQUEST-949-BLOCKING-EVALUATION.conf\\\"",
            "line": "57"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}
{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Inbound Score: 8 - SQLI=5,XSS=0,RFI=0,LFI=0,RCE=0,PHPI=0,HTTP=0,SESS=0): SQL Injection Attack: SQL Tautology Detected.",
        "action": "Blocked",
        "site": "Global",
        "details": {
            "message": "Warning. Operator GE matched 5 at TX:inbound_anomaly_score. ",
            "data": "",
            "file": "rules\/RESPONSE-980-CORRELATION.conf\\\"",
            "line": "73"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}

CRS kural kümelerinin nasıl çalıştığını ve CRS kural kümesi 3.0'ın anomali puanlama sistemiyle çalıştığını bildiğinizden (bkz. Azure Application Gateway için Web Uygulaması Güvenlik Duvarı), toplam anomali puanına göre Engellenen eylemine sahip en alttaki iki kuralın engellediğini bilirsiniz. Odaklanacak kurallar ilk iki kuraldır.

Kullanıcı Application Gateway'e gitmek için sayısal bir IP adresi kullandığından ilk giriş kaydedilir ve bu durum göz ardı edilebilir.

İkinci (kural 942130) ilginç olanıdır. Ayrıntılarda bir desenle (1=1)eşleştiğini ve alanın text1 olarak adlandırıldığını görebilirsiniz. öğesine eşit olan 1=1'nı dışlamak için önceki adımları izleyin.

İstek üst bilgisi adlarını bulun

İstek üst bilgisi adlarını bulmak için Fiddler'ı kullanabilirsiniz. Aşağıdaki ekran görüntüsünde, bu GET isteğinin Content-Type, User-Agent gibi üst bilgilerini görebilirsiniz.

Fiddler Web Hata Ayıklayıcısı ekran görüntüsü. Ham Veri sekmesinde bağlantı, içerik türü ve kullanıcı aracısı gibi istek üst bilgisi ayrıntıları listelenir.

İstek ve yanıt üst bilgilerini görüntülemenin bir diğer yolu da Microsoft Edge veya Google Chrome'un geliştirici araçlarını kullanmaktır. Daha fazla bilgi için bkz. HAR dosyalarını kaydetme.

İstek tanımlama bilgileri içeriyorsa, Bunları Fiddler'da görüntülemek için Tanımlama Bilgileri sekmesi seçilebilir.

Hatalı pozitif sonuçları ortadan kaldırmak için genel parametreleri kısıtlama

  • İstek gövdesi incelemesini devre dışı bırakma

    Ayar "İstek gövdesini incele" kapalıya getirildiğinde, trafiğinizin istek gövdeleri WAF'niz tarafından değerlendirilmez. İstek gövdelerinin uygulamanıza kötü amaçlı olmadığını biliyorsanız bu yararlı olabilir.

    Bu seçeneği devre dışı bıraktığınızda, yalnızca istek gövdesi incelemeyi atlar. Üstbilgiler ve tanımlama bilgileri, dışlama listesi işlevselliği kullanılarak ayrı ayrı hariç tutulmadıkları sürece, yine de incelenir.

  • Maksimum istek gövdesi sınırını devre dışı bırakma

    Maksimum istek gövdesi sınırı devre dışı bırakıldığında, WAF büyük istek gövdelerini boyut sınırını aştıkları için reddetmeden işleyebilir. Bu ayar, düzenli olarak büyük istekleriniz varsa kullanışlıdır.

    Bu seçeneği devre dışı bıraktığınızda, istek gövdesi yalnızca belirlenen maksimum istek gövdesi inceleme sınırına kadar incelenir. İstekte maksimum istek gövdesi inceleme sınırını aşan kötü amaçlı içerik varsa WAF bunu algılamaz.

  • En fazla dosya boyutu sınırını devre dışı bırakma

    WAF'nizde dosya boyutu sınırlarını devre dışı bırakarak, büyük dosyaların yüklenmesi sırasında WAF'niz bu dosya yüklemelerini reddetmez. Büyük dosyaların yüklenmesine izin vererek sunucunuzun aşırı yüklenme riski artar. Bir dosya karşıya yüklemesinin boyut üst sınırını biliyorsanız, dosya yüklemeleri için beklenen maksimum boyutun biraz üzerinde bir boyut sınırı ayarlayabilirsiniz. Dosya boyutunu uygulamanız için normal bir kullanım durumuyla sınırlamak, saldırıları önlemenin başka bir yoludur. Ancak, dosya yüklemeleriniz düzenli olarak zorunlu dosya yükleme boyutu sınırını aşıyorsa hatalı alarmları önlemek için dosya yükleme boyutu sınırlarını tamamen devre dışı bırakmanız gerekebilir.

    Not

    Uygulamanızın hiçbir zaman belirli bir boyutun üzerinde herhangi bir dosya yüklemesi gerekmeyeceğini biliyorsanız, bir sınır ayarlayarak bunu kısıtlayabilirsiniz.

    Uyarı

    Bir WAF ilkesine yeni bir yönetilen kural kümesi atarken, mevcut yönetilen kural kümelerinden kural durumu, kural eylemleri ve kural düzeyi dışlamaları gibi önceki tüm özelleştirmeler yeni yönetilen kural kümesinin varsayılanlarına sıfırlanır. Ancak tüm özel kurallar, ilke ayarları ve genel dışlamalar yeni kural kümesi ataması sırasında etkilenmez.

Güvenlik Duvarı Ölçümleri (yalnızca WAF v1)

v1 Web Uygulaması Güvenlik Duvarı için artık portalda aşağıdaki ölçümler kullanılabilir:

  1. Web Uygulaması Güvenlik Duvarı Engellenen İstek Sayısı Engellenen istek sayısı
  2. Web Uygulama Güvenlik Duvarı Engellenen Kural Sayısı Tüm eşleştirilen kurallar ve istek engellendi
  3. Web Uygulaması Güvenlik Duvarı Toplam Kural Dağılımı Değerlendirme sırasında eşleşen tüm kurallar

Ölçümleri etkinleştirmek için portalda Ölçümler sekmesini seçin ve üç ölçümden birini seçin.

Sonraki adım