Skip to content

Commit 03ce5f7

Browse files
WAF now provides two DDoS protection options: resource-level monitoring for Application Load Balancers and the AWSManagedRulesAntiDDoSRuleSet managed rule group for CloudFront distributions.
1 parent 3d9e340 commit 03ce5f7

31 files changed

+1720
-31
lines changed

generator/ServiceModels/wafv2/wafv2-2019-07-29.api.json

Lines changed: 63 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -960,6 +960,14 @@
960960
"EnableRegexInPath":{"shape":"Boolean"}
961961
}
962962
},
963+
"AWSManagedRulesAntiDDoSRuleSet":{
964+
"type":"structure",
965+
"required":["ClientSideActionConfig"],
966+
"members":{
967+
"ClientSideActionConfig":{"shape":"ClientSideActionConfig"},
968+
"SensitivityToBlock":{"shape":"SensitivityToAct"}
969+
}
970+
},
963971
"AWSManagedRulesBotControlRuleSet":{
964972
"type":"structure",
965973
"required":["InspectionLevel"],
@@ -1161,6 +1169,22 @@
11611169
"Capacity":{"shape":"ConsumedCapacity"}
11621170
}
11631171
},
1172+
"ClientSideAction":{
1173+
"type":"structure",
1174+
"required":["UsageOfAction"],
1175+
"members":{
1176+
"UsageOfAction":{"shape":"UsageOfAction"},
1177+
"Sensitivity":{"shape":"SensitivityToAct"},
1178+
"ExemptUriRegularExpressions":{"shape":"RegularExpressionList"}
1179+
}
1180+
},
1181+
"ClientSideActionConfig":{
1182+
"type":"structure",
1183+
"required":["Challenge"],
1184+
"members":{
1185+
"Challenge":{"shape":"ClientSideAction"}
1186+
}
1187+
},
11641188
"ComparisonOperator":{
11651189
"type":"string",
11661190
"enum":[
@@ -1589,7 +1613,8 @@
15891613
"CaptchaConfig":{"shape":"CaptchaConfig"},
15901614
"ChallengeConfig":{"shape":"ChallengeConfig"},
15911615
"TokenDomains":{"shape":"TokenDomains"},
1592-
"AssociationConfig":{"shape":"AssociationConfig"}
1616+
"AssociationConfig":{"shape":"AssociationConfig"},
1617+
"OnSourceDDoSProtectionConfig":{"shape":"OnSourceDDoSProtectionConfig"}
15931618
}
15941619
},
15951620
"CreateWebACLResponse":{
@@ -2885,6 +2910,13 @@
28852910
"min":1,
28862911
"pattern":".*\\S.*"
28872912
},
2913+
"LowReputationMode":{
2914+
"type":"string",
2915+
"enum":[
2916+
"ACTIVE_UNDER_DDOS",
2917+
"ALWAYS_ON"
2918+
]
2919+
},
28882920
"ManagedProductDescriptor":{
28892921
"type":"structure",
28902922
"members":{
@@ -2928,7 +2960,8 @@
29282960
},
29292961
"AWSManagedRulesBotControlRuleSet":{"shape":"AWSManagedRulesBotControlRuleSet"},
29302962
"AWSManagedRulesATPRuleSet":{"shape":"AWSManagedRulesATPRuleSet"},
2931-
"AWSManagedRulesACFPRuleSet":{"shape":"AWSManagedRulesACFPRuleSet"}
2963+
"AWSManagedRulesACFPRuleSet":{"shape":"AWSManagedRulesACFPRuleSet"},
2964+
"AWSManagedRulesAntiDDoSRuleSet":{"shape":"AWSManagedRulesAntiDDoSRuleSet"}
29322965
}
29332966
},
29342967
"ManagedRuleGroupConfigs":{
@@ -3062,6 +3095,13 @@
30623095
"Statement":{"shape":"Statement"}
30633096
}
30643097
},
3098+
"OnSourceDDoSProtectionConfig":{
3099+
"type":"structure",
3100+
"required":["ALBLowReputationMode"],
3101+
"members":{
3102+
"ALBLowReputationMode":{"shape":"LowReputationMode"}
3103+
}
3104+
},
30653105
"OrStatement":{
30663106
"type":"structure",
30673107
"required":["Statements"],
@@ -3163,7 +3203,8 @@
31633203
"SCOPE_DOWN",
31643204
"CUSTOM_KEYS",
31653205
"ACP_RULE_SET_RESPONSE_INSPECTION",
3166-
"DATA_PROTECTION_CONFIG"
3206+
"DATA_PROTECTION_CONFIG",
3207+
"LOW_REPUTATION_MODE"
31673208
]
31683209
},
31693210
"ParameterExceptionParameter":{
@@ -3876,6 +3917,14 @@
38763917
"HIGH"
38773918
]
38783919
},
3920+
"SensitivityToAct":{
3921+
"type":"string",
3922+
"enum":[
3923+
"LOW",
3924+
"MEDIUM",
3925+
"HIGH"
3926+
]
3927+
},
38793928
"SingleCookieName":{
38803929
"type":"string",
38813930
"max":60,
@@ -4249,7 +4298,8 @@
42494298
"CaptchaConfig":{"shape":"CaptchaConfig"},
42504299
"ChallengeConfig":{"shape":"ChallengeConfig"},
42514300
"TokenDomains":{"shape":"TokenDomains"},
4252-
"AssociationConfig":{"shape":"AssociationConfig"}
4301+
"AssociationConfig":{"shape":"AssociationConfig"},
4302+
"OnSourceDDoSProtectionConfig":{"shape":"OnSourceDDoSProtectionConfig"}
42534303
}
42544304
},
42554305
"UpdateWebACLResponse":{
@@ -4268,6 +4318,13 @@
42684318
"type":"structure",
42694319
"members":{}
42704320
},
4321+
"UsageOfAction":{
4322+
"type":"string",
4323+
"enum":[
4324+
"ENABLED",
4325+
"DISABLED"
4326+
]
4327+
},
42714328
"UsernameField":{
42724329
"type":"structure",
42734330
"required":["Identifier"],
@@ -4479,7 +4536,8 @@
44794536
"ChallengeConfig":{"shape":"ChallengeConfig"},
44804537
"TokenDomains":{"shape":"TokenDomains"},
44814538
"AssociationConfig":{"shape":"AssociationConfig"},
4482-
"RetrofittedByFirewallManager":{"shape":"Boolean"}
4539+
"RetrofittedByFirewallManager":{"shape":"Boolean"},
4540+
"OnSourceDDoSProtectionConfig":{"shape":"OnSourceDDoSProtectionConfig"}
44834541
}
44844542
},
44854543
"WebACLSummaries":{

generator/ServiceModels/wafv2/wafv2-2019-07-29.docs.json

Lines changed: 54 additions & 8 deletions
Large diffs are not rendered by default.

generator/ServiceModels/wafv2/wafv2-2019-07-29.normal.json

Lines changed: 104 additions & 9 deletions
Large diffs are not rendered by default.

sdk/src/Services/WAFV2/Generated/Model/AWSManagedRulesACFPRuleSet.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,16 @@ namespace Amazon.WAFV2.Model
3232
/// <summary>
3333
/// Details for your use of the account creation fraud prevention managed rule group,
3434
/// <c>AWSManagedRulesACFPRuleSet</c>. This configuration is used in <c>ManagedRuleGroupConfig</c>.
35+
///
36+
///
37+
///
38+
/// <para>
39+
/// For additional information about this and the other intelligent threat mitigation
40+
/// rule groups, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections">Intelligent
41+
/// threat mitigation in WAF</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list">Amazon
42+
/// Web Services Managed Rules rule groups list</a> in the <i>WAF Developer Guide</i>.
43+
///
44+
/// </para>
3545
/// </summary>
3646
public partial class AWSManagedRulesACFPRuleSet
3747
{

sdk/src/Services/WAFV2/Generated/Model/AWSManagedRulesATPRuleSet.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,16 @@ namespace Amazon.WAFV2.Model
3131
{
3232
/// <summary>
3333
/// Details for your use of the account takeover prevention managed rule group, <c>AWSManagedRulesATPRuleSet</c>.
34-
/// This configuration is used in <c>ManagedRuleGroupConfig</c>.
34+
/// This configuration is used in <c>ManagedRuleGroupConfig</c>.
35+
///
36+
///
37+
/// <para>
38+
/// For additional information about this and the other intelligent threat mitigation
39+
/// rule groups, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections">Intelligent
40+
/// threat mitigation in WAF</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list">Amazon
41+
/// Web Services Managed Rules rule groups list</a> in the <i>WAF Developer Guide</i>.
42+
///
43+
/// </para>
3544
/// </summary>
3645
public partial class AWSManagedRulesATPRuleSet
3746
{
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the wafv2-2019-07-29.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.WAFV2.Model
31+
{
32+
/// <summary>
33+
/// Configures the use of the anti-DDoS managed rule group, <c>AWSManagedRulesAntiDDoSRuleSet</c>.
34+
/// This configuration is used in <c>ManagedRuleGroupConfig</c>.
35+
///
36+
///
37+
/// <para>
38+
/// The configuration that you provide here determines whether and how the rules in the
39+
/// rule group are used.
40+
/// </para>
41+
///
42+
/// <para>
43+
/// For additional information about this and the other intelligent threat mitigation
44+
/// rule groups, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections">Intelligent
45+
/// threat mitigation in WAF</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list">Amazon
46+
/// Web Services Managed Rules rule groups list</a> in the <i>WAF Developer Guide</i>.
47+
///
48+
/// </para>
49+
/// </summary>
50+
public partial class AWSManagedRulesAntiDDoSRuleSet
51+
{
52+
private ClientSideActionConfig _clientSideActionConfig;
53+
private SensitivityToAct _sensitivityToBlock;
54+
55+
/// <summary>
56+
/// Gets and sets the property ClientSideActionConfig.
57+
/// <para>
58+
/// Configures the request handling that's applied by the managed rule group rules <c>ChallengeAllDuringEvent</c>
59+
/// and <c>ChallengeDDoSRequests</c> during a distributed denial of service (DDoS) attack.
60+
/// </para>
61+
/// </summary>
62+
[AWSProperty(Required=true)]
63+
public ClientSideActionConfig ClientSideActionConfig
64+
{
65+
get { return this._clientSideActionConfig; }
66+
set { this._clientSideActionConfig = value; }
67+
}
68+
69+
// Check to see if ClientSideActionConfig property is set
70+
internal bool IsSetClientSideActionConfig()
71+
{
72+
return this._clientSideActionConfig != null;
73+
}
74+
75+
/// <summary>
76+
/// Gets and sets the property SensitivityToBlock.
77+
/// <para>
78+
/// The sensitivity that the rule group rule <c>DDoSRequests</c> uses when matching against
79+
/// the DDoS suspicion labeling on a request. The managed rule group adds the labeling
80+
/// during DDoS events, before the <c>DDoSRequests</c> rule runs.
81+
/// </para>
82+
///
83+
/// <para>
84+
/// The higher the sensitivity, the more levels of labeling that the rule matches:
85+
/// </para>
86+
/// <ul> <li>
87+
/// <para>
88+
/// Low sensitivity is less sensitive, causing the rule to match only on the most likely
89+
/// participants in an attack, which are the requests with the high suspicion label <c>awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request</c>.
90+
/// </para>
91+
/// </li> <li>
92+
/// <para>
93+
/// Medium sensitivity causes the rule to match on the medium and high suspicion labels.
94+
/// </para>
95+
/// </li> <li>
96+
/// <para>
97+
/// High sensitivity causes the rule to match on all of the suspicion labels: low, medium,
98+
/// and high.
99+
/// </para>
100+
/// </li> </ul>
101+
/// <para>
102+
/// Default: <c>LOW</c>
103+
/// </para>
104+
/// </summary>
105+
public SensitivityToAct SensitivityToBlock
106+
{
107+
get { return this._sensitivityToBlock; }
108+
set { this._sensitivityToBlock = value; }
109+
}
110+
111+
// Check to see if SensitivityToBlock property is set
112+
internal bool IsSetSensitivityToBlock()
113+
{
114+
return this._sensitivityToBlock != null;
115+
}
116+
117+
}
118+
}

sdk/src/Services/WAFV2/Generated/Model/AWSManagedRulesBotControlRuleSet.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,16 @@ namespace Amazon.WAFV2.Model
3131
{
3232
/// <summary>
3333
/// Details for your use of the Bot Control managed rule group, <c>AWSManagedRulesBotControlRuleSet</c>.
34-
/// This configuration is used in <c>ManagedRuleGroupConfig</c>.
34+
/// This configuration is used in <c>ManagedRuleGroupConfig</c>.
35+
///
36+
///
37+
/// <para>
38+
/// For additional information about this and the other intelligent threat mitigation
39+
/// rule groups, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections">Intelligent
40+
/// threat mitigation in WAF</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list">Amazon
41+
/// Web Services Managed Rules rule groups list</a> in the <i>WAF Developer Guide</i>.
42+
///
43+
/// </para>
3544
/// </summary>
3645
public partial class AWSManagedRulesBotControlRuleSet
3746
{

0 commit comments

Comments
 (0)