Skip to content

Commit 32d4e8c

Browse files
author
Yanshu Zhao
committed
application gateway waf config
# Conflicts: # tools/AzureRM/AzureRM.psm1
1 parent f889a07 commit 32d4e8c

23 files changed

+10946
-7959
lines changed

src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.Netcore.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
<ItemGroup Condition="'$(TargetFramework)' != 'net472'">
3131
<PackageReference Include="Microsoft.Azure.Graph.RBAC" Version="3.4.0-preview" />
32-
<PackageReference Include="Microsoft.Azure.Management.Network" Version="19.5.0-preview" />
32+
<PackageReference Include="Microsoft.Azure.Management.Network" Version="19.6.0" />
3333
<PackageReference Include="Microsoft.Azure.Insights" Version="0.15.0-preview" />
3434
<PackageReference Include="Microsoft.Azure.Management.Compute" Version="22.0.0" />
3535
<PackageReference Include="Microsoft.Azure.Management.Redis" Version="3.1.1-preview" />

src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
<RunCodeAnalysis>false</RunCodeAnalysis>
4444
</PropertyGroup>
4545
<ItemGroup>
46-
<Reference Include="Microsoft.Azure.Management.Network, Version=19.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
47-
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Network.19.5.0-preview\lib\net452\Microsoft.Azure.Management.Network.dll</HintPath>
46+
<Reference Include="Microsoft.Azure.Management.Network, Version=19.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
47+
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Network.19.6.0\lib\net452\Microsoft.Azure.Management.Network.dll</HintPath>
4848
</Reference>
4949
<Reference Include="Microsoft.Azure.Management.OperationalInsights, Version=0.18.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
5050
<HintPath>..\..\..\packages\Microsoft.Azure.Management.OperationalInsights.0.18.0-preview\lib\net45\Microsoft.Azure.Management.OperationalInsights.dll</HintPath>

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/ApplicationGatewayTests.ps1

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ function Test-ApplicationGatewayCRUD
172172

173173
$disabledRuleGroup1 = New-AzureRmApplicationGatewayFirewallDisabledRuleGroupConfig -RuleGroupName "crs_41_sql_injection_attacks" -Rules 981318,981320
174174
$disabledRuleGroup2 = New-AzureRmApplicationGatewayFirewallDisabledRuleGroupConfig -RuleGroupName "crs_35_bad_robots"
175-
$firewallConfig = New-AzureRmApplicationGatewayWebApplicationFirewallConfiguration -Enabled $true -FirewallMode Prevention -RuleSetType "OWASP" -RuleSetVersion "2.2.9" -DisabledRuleGroups $disabledRuleGroup1,$disabledRuleGroup2
175+
$exclusion1 = New-AzureRmApplicationGatewayFirewallExclusionConfig -MatchVariable "RequestHeaderNames" -SelectorMatchOperator "StartsWith" -Selector "xyz"
176+
$exclusion2 = New-AzureRmApplicationGatewayFirewallExclusionConfig -MatchVariable "RequestArgNames" -SelectorMatchOperator "Equals" -Selector "a"
177+
$firewallConfig = New-AzureRmApplicationGatewayWebApplicationFirewallConfiguration -Enabled $true -FirewallMode Prevention -RuleSetType "OWASP" -RuleSetVersion "2.2.9" -DisabledRuleGroups $disabledRuleGroup1,$disabledRuleGroup2 -RequestBodyCheck $true -MaxRequestBodySizeInKb 80 -FileUploadLimitInMb 70 -Exclusions $exclusion1,$exclusion2
176178

177179
# Create Application Gateway
178180
$job = New-AzureRmApplicationGateway -Name $appgwName -ResourceGroupName $rgname -Location $location -Probes $probe01, $probe02 -BackendAddressPools $pool, $nicPool -BackendHttpSettingsCollection $poolSetting01,$poolSetting02 -FrontendIpConfigurations $fipconfig01, $fipconfig02  -GatewayIpConfigurations $gipconfig -FrontendPorts $fp01, $fp02 -HttpListeners $listener01, $listener02 -RequestRoutingRules $rule01, $rule02 -Sku $sku -SslPolicy $sslPolicy -AuthenticationCertificates $authcert01 -WebApplicationFirewallConfiguration $firewallConfig -AsJob
@@ -271,6 +273,10 @@ function Test-ApplicationGatewayCRUD
271273
Assert-AreEqual "OWASP" $firewallConfig2.RuleSetType
272274
Assert-AreEqual "3.0" $firewallConfig2.RuleSetVersion
273275
Assert-AreEqual $null $firewallConfig2.DisabledRuleGroups
276+
Assert-AreEqual $True $firewallConfig2.RequestBodyCheck
277+
Assert-AreEqual 128 $firewallConfig2.MaxRequestBodySizeInKb
278+
Assert-AreEqual 100 $firewallConfig2.FileUploadLimitInMb
279+
Assert-AreEqual $null $firewallConfig2.Exclusions
274280

275281
$getgw = Set-AzureRmApplicationGateway -ApplicationGateway $getgw
276282

@@ -657,6 +663,9 @@ function Compare-WebApplicationFirewallConfiguration($expected, $actual)
657663
Assert-AreEqual $expected.FirewallMode $actual.FirewallMode
658664
Assert-AreEqual $expected.RuleSetType $actual.RuleSetType
659665
Assert-AreEqual $expected.RuleSetVersion $actual.RuleSetVersion
666+
Assert-AreEqual $expected.RequestBodyCheck $actual.RequestBodyCheck
667+
Assert-AreEqual $expected.MaxRequestBodySizeInKb $actual.MaxRequestBodySizeInKb
668+
Assert-AreEqual $expected.FileUploadLimitInMb $actual.FileUploadLimitInMb
660669

661670
if($expected.DisabledRuleGroups)
662671
{
@@ -671,6 +680,20 @@ function Compare-WebApplicationFirewallConfiguration($expected, $actual)
671680
{
672681
Assert-Null $actual.DisabledRuleGroups
673682
}
683+
684+
if($expected.Exclusions)
685+
{
686+
Assert-NotNull $actual.Exclusions
687+
Assert-AreEqual $expected.Exclusions.Count $actual.Exclusions.Count
688+
for($i = 0; $i -lt $expected.Exclusions.Count; $i++)
689+
{
690+
Compare-Exclusion $expected.Exclusions[$i] $actual.Exclusions[$i]
691+
}
692+
}
693+
else
694+
{
695+
Assert-Null $actual.Exclusions
696+
}
674697
}
675698
else
676699
{
@@ -705,6 +728,25 @@ function Compare-DisabledRuleGroup($expected, $actual)
705728
}
706729
}
707730

731+
<#
732+
.SYNOPSIS
733+
Compare Exclusion List
734+
#>
735+
function Compare-Exclusion($expected, $actual)
736+
{
737+
if($expected)
738+
{
739+
Assert-NotNull $actual
740+
Assert-AreEqual $expected.MatchVariable $actual.MatchVariable
741+
Assert-AreEqual $expected.SelectorMatchOperator $actual.SelectorMatchOperator
742+
Assert-AreEqual $expected.Selector $actual.Selector
743+
}
744+
else
745+
{
746+
Assert-Null $actual
747+
}
748+
}
749+
708750
<#
709751
.SYNOPSIS
710752
Compare application gateways

0 commit comments

Comments
 (0)