【问题标题】:Azure WAF custom rule to block all PHP requests用于阻止所有 PHP 请求的 Azure WAF 自定义规则
【发布时间】:2022-10-24 17:13:42
【问题描述】:

我在几个应用程序(WebAPI、FunctionApp)前面有一个带有 WAF 的应用程序网关。
我的应用程序都是为 .NET6+ 编写的。
我在日志中看到很多对 PHP 文件的请求。这些很可能是用于检查漏洞的脚本。

我想阻止应用程序网关/WAF 中的所有 PHP 请求,这样我的应用程序就不必担心它们,并且我的日志不再被这些请求所困扰。

所以我创建了一个 YAML 管道脚本来添加策略:

- task: AzureCLI@2
  displayName: Add application gateway WAF policy custom rule
  inputs:
    azureSubscription: 'MySub'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: >
      az network application-gateway waf-policy custom-rule create 
      --name BlockPhpExtension 
      -g MyRg 
      --policy-name AGDefault-wafpol
      --action Block 
      --priority 10 
      --rule-type MatchRule

- task: AzureCLI@2
  displayName: Add application gateway WAF policy custom rule match-condition
  inputs:
    azureSubscription: 'MySub'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: >
      az network application-gateway waf-policy custom-rule match-condition add 
      --resource-group MyRg 
      --policy-name AGDefault-wafpol 
      --name BlockPhpExtension 
      --match-variables RequestUri --operator EndsWith --values .php --transform lowercase

当我查看 Azure 门户中的自定义规则时,似乎该规则是正确的:

但是当我查看我的应用程序的日志时,我仍然看到 PHP 请求:

该规则是在 16 小时前创建的,PHP 请求列表是在不到 4 小时前创建的。

看来我错过了什么。

【问题讨论】:

    标签: azure azure-cli azure-application-gateway azure-waf


    【解决方案1】:

    我将条件从EndsWith '.php' 更改为contains '.php',现在它似乎正在工作。

    【讨论】:

      猜你喜欢
      • 2023-02-13
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2021-12-16
      • 2015-05-28
      • 2018-09-26
      相关资源
      最近更新 更多