【发布时间】: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