Skip to content

Commit aefb028

Browse files
authored
Merge pull request #222 from awslabs/release/v3.2.1
Update to version v3.2.1
2 parents 8ad3681 + d7dcb32 commit aefb028

File tree

5 files changed

+102
-73
lines changed

5 files changed

+102
-73
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6+
## [3.2.1] - 2022-08-30
7+
### Added
8+
- Added support for configuring oversize handling for requests components
9+
- Added support for configuring sensitivity level for SQL injection rule
610
## [3.2] - 2021-09-22
711
### Added
812
- Added IP retention support on Allowed and Denied IP Sets

NOTICE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
AWS WAF Security Automations
1+
Security Automations for AWS WAF
22

33
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
Licensed under the Apache License Version 2.0 (the "License"). You may not use this file except

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ Note: If you want to use the solution without building from source, navigate to
1717
<a name="solution-overview"></a>
1818
# Solution Overview
1919

20-
The AWS DevOps Monitoring Dashboard solution is a reference implementation that automatically deploys a set of AWS WAF (web application firewall) rules that filter common web-based attacks. Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). Once deployed, AWS WAF protects your Amazon CloudFront distributions or Application Load Balancers by inspecting web requests.
20+
The Security Automations for AWS WAF solution is a reference implementation that automatically deploys a set of AWS WAF (web application firewall) rules that filter common web-based attacks. Users can select from preconfigured protective features that define the rules included in an AWS WAF web access control list (web ACL). Once deployed, AWS WAF protects your Amazon CloudFront distributions or Application Load Balancers by inspecting web requests.
2121

2222
You can use AWS WAF to create custom, application-specific rules that block attack patterns to ensure application availability, secure resources, and prevent excessive resource consumption.
2323

2424
This solution can be easily installed in your AWS accounts via launching the provided AWS CloudFormation template.
2525

26-
For a detailed solution implementation guide, refer to Solution Landing Page [AWS WAF Security Automations](https://aws.amazon.com/solutions/implementations/aws-waf-security-automations)
26+
For a detailed solution implementation guide, refer to Solution Landing Page [Security Automations for AWS WAF](https://aws.amazon.com/solutions/implementations/aws-waf-security-automations)
2727

2828
<a name="architecture-diagram"></a>
2929
# Architecture Diagram
@@ -33,7 +33,7 @@ For a detailed solution implementation guide, refer to Solution Landing Page [AW
3333
<br/>
3434
</p>
3535

36-
AWS WAF Security Automations architecture
36+
Security Automations for AWS WAF architecture
3737

3838
AWS Managed Rules (A): This set of AWS managed core rules provides protection against exploitation of a wide range of common application vulnerabilities or other unwanted traffic.
3939

@@ -121,7 +121,7 @@ aws s3 cp ./deployment/regional-s3-assets s3://$DIST_OUTPUT_BUCKET-$AWS_REGION/$
121121
## Deploy
122122

123123
* From your designated Amazon S3 bucket where you uploaded the deployment assets, copy the link location for the aws-waf-security-automations.template.
124-
* Using AWS CloudFormation, launch the AWS WAF Security Automations solution stack using the copied Amazon S3 link for the aws-waf-security-automations.template.
124+
* Using AWS CloudFormation, launch the Security Automations for AWS WAF solution stack using the copied Amazon S3 link for the aws-waf-security-automations.template.
125125

126126
#### _Note:_ When deploying the template for CloudFront endpoint, you can launch it only from us-east-1 region.
127127

@@ -152,4 +152,4 @@ This solution collects anonymous operational metrics to help AWS improve the qua
152152
<a name="license"></a>
153153
# License
154154

155-
See license [here](https://github.com/awslabs/aws-waf-security-automations/blob/master/LICENSE.txt)
155+
See license [here](https://github.com/awslabs/aws-waf-security-automations/blob/master/LICENSE.txt)

deployment/aws-waf-security-automations-webacl.template

Lines changed: 47 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
1-
# Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2-
#
3-
# Licensed under the Apache License, Version 2.0 (the "License").
4-
# You may not use this file except in compliance with the License.
5-
# A copy of the License is located at
6-
#
7-
# http://www.apache.org/licenses/LICENSE-2.0
8-
#
9-
# or in the "license" file accompanying this file. This file is distributed
10-
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
11-
# express or implied. See the License for the specific language governing
12-
# permissions and limitations under the License.
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
133

144
AWSTemplateFormatVersion: 2010-09-09
155
Description: >-
@@ -49,20 +39,42 @@ Parameters:
4939
Type: String
5040
LogLevel:
5141
Type: String
42+
SqlInjectionProtectionSensitivityLevelParam:
43+
Type: String
5244

5345
Conditions:
5446
AWSManagedRulesActivated: !Equals
5547
- !Ref ActivateAWSManagedRulesParam
5648
- 'yes'
49+
50+
SqlInjectionProtectionActivated: !Not [!Equals [!Ref ActivateSqlInjectionProtectionParam, 'no']]
51+
52+
CrossSiteScriptingProtectionActivated: !Not [!Equals [!Ref ActivateCrossSiteScriptingProtectionParam, 'no']]
5753

58-
SqlInjectionProtectionActivated: !Equals
54+
SqlInjectionProtectionContinueActivated: !Equals
5955
- !Ref ActivateSqlInjectionProtectionParam
6056
- 'yes'
6157

62-
CrossSiteScriptingProtectionActivated: !Equals
58+
SqlInjectionProtectionMatchActivated: !Equals
59+
- !Ref ActivateSqlInjectionProtectionParam
60+
- 'yes - MATCH'
61+
62+
SqlInjectionProtectionNoMatchActivated: !Equals
63+
- !Ref ActivateSqlInjectionProtectionParam
64+
- 'yes - NO_MATCH'
65+
66+
CrossSiteScriptingProtectionContinueActivated: !Equals
6367
- !Ref ActivateCrossSiteScriptingProtectionParam
6468
- 'yes'
6569

70+
CrossSiteScriptingProtectionMatchActivated: !Equals
71+
- !Ref ActivateCrossSiteScriptingProtectionParam
72+
- 'yes - MATCH'
73+
74+
CrossSiteScriptingProtectionNoMatchActivated: !Equals
75+
- !Ref ActivateCrossSiteScriptingProtectionParam
76+
- 'yes - NO_MATCH'
77+
6678
HttpFloodProtectionRateBasedRuleActivated: !Equals
6779
- !Ref ActivateHttpFloodProtectionParam
6880
- 'yes - AWS WAF rate based rule'
@@ -532,14 +544,23 @@ Resources:
532544
Type: URL_DECODE
533545
- Priority: 2
534546
Type: HTML_ENTITY_DECODE
547+
SensitivityLevel: !Ref SqlInjectionProtectionSensitivityLevelParam
535548
- SqliMatchStatement:
536549
FieldToMatch:
537-
Body: {}
550+
Body:
551+
# Select the option based on user input
552+
OversizeHandling:
553+
!If [SqlInjectionProtectionContinueActivated, 'CONTINUE',
554+
!If [SqlInjectionProtectionMatchActivated, 'MATCH',
555+
!If [SqlInjectionProtectionNoMatchActivated, 'NO_MATCH', 'CONTINUE']
556+
]
557+
]
538558
TextTransformations:
539559
- Priority: 1
540560
Type: URL_DECODE
541561
- Priority: 2
542562
Type: HTML_ENTITY_DECODE
563+
SensitivityLevel: !Ref SqlInjectionProtectionSensitivityLevelParam
543564
- SqliMatchStatement:
544565
FieldToMatch:
545566
UriPath: {}
@@ -548,6 +569,7 @@ Resources:
548569
Type: URL_DECODE
549570
- Priority: 2
550571
Type: HTML_ENTITY_DECODE
572+
SensitivityLevel: !Ref SqlInjectionProtectionSensitivityLevelParam
551573
- SqliMatchStatement:
552574
FieldToMatch:
553575
SingleHeader: {Name: "Authorization"}
@@ -556,6 +578,7 @@ Resources:
556578
Type: URL_DECODE
557579
- Priority: 2
558580
Type: HTML_ENTITY_DECODE
581+
SensitivityLevel: !Ref SqlInjectionProtectionSensitivityLevelParam
559582
- SqliMatchStatement:
560583
FieldToMatch:
561584
SingleHeader: {Name: "Cookie"}
@@ -564,6 +587,7 @@ Resources:
564587
Type: URL_DECODE
565588
- Priority: 2
566589
Type: HTML_ENTITY_DECODE
590+
SensitivityLevel: !Ref SqlInjectionProtectionSensitivityLevelParam
567591
- !Ref 'AWS::NoValue'
568592
- !If
569593
- CrossSiteScriptingProtectionActivated
@@ -588,7 +612,14 @@ Resources:
588612
Type: HTML_ENTITY_DECODE
589613
- XssMatchStatement:
590614
FieldToMatch:
591-
Body: {}
615+
Body:
616+
OversizeHandling:
617+
# Select the option based on user input
618+
!If [CrossSiteScriptingProtectionContinueActivated, 'CONTINUE',
619+
!If [CrossSiteScriptingProtectionMatchActivated, 'MATCH',
620+
!If [CrossSiteScriptingProtectionNoMatchActivated, 'NO_MATCH', 'CONTINUE']
621+
]
622+
]
592623
TextTransformations:
593624
- Priority: 1
594625
Type: URL_DECODE

0 commit comments

Comments
 (0)