You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 29, 2024. It is now read-only.
* Update .travis.yml environment role
+ add build status to role
+ add cfn-lint checks
+ update publisher role
+ clean up code as per pre-commit rules
* Removed unused mappings and condition parameters
A workshop about [AWS WAF](https://aws.amazon.com/waf/) and the [WAF Security Automations Solution](https://aws.amazon.com/solutions/aws-waf-security-automations/)
@@ -9,7 +11,7 @@ A workshop about [AWS WAF](https://aws.amazon.com/waf/) and the [WAF Security Au
9
11
10
12
This workshop introduces AWS WAF and the AWS WAF Security Automations solution.
11
13
12
-
The AWS WAF enables customers to create rules to block common attack patterns, administered via APIs.
14
+
The AWS WAF enables customers to create rules to block common attack patterns, administered via APIs.
13
15
The Security Automation Solution extends WAF by deploying a set of preconfigured rules to protect applications. These rules can be customised for your application.
14
16
15
17
## Learning Objectives
@@ -21,7 +23,7 @@ The Security Automation Solution extends WAF by deploying a set of preconfigured
21
23
## Prerequisites
22
24
23
25
To complete this workshop you will require the following:
24
-
* An AWS Account.
26
+
* An AWS Account.
25
27
* If you don’t already have an AWS account, create one at <https://aws.amazon.com> by following the on-screen instructions
26
28
* Your access to the AWS account must have IAM permissions to launch AWS CloudFormation templates that create IAM roles.
Copy file name to clipboardExpand all lines: docs/step-0.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ In this step, you will deploy two CloudFormation templates required for the work
4
4
5
5
You will deploy the [WAF Security Automations Solution](https://aws.amazon.com/solutions/aws-waf-security-automations/) and a sample Web Application. The Sample Web Application template contains an EC2 instance containing the [OWASP Juice Shop](https://www2.owasp.org/www-project-juice-shop/). It is exposed by an Application Load Balancer. The sample Web Application will be protected by the WAF. The OWASP Juice Shop is an example web application containing many common vulnerabilities found in Web Applications.
6
6
7
-
> **Note**
7
+
> **Note**
8
8
You are responsible for the cost of the AWS services used while running these CloudFormation stacks. There is no additional cost for using them. For full details, see the pricing pages for each AWS service you will be using in these CloudFormation stacks. Prices are subject to change.
9
9
10
10
## Deploy the WAF Security Automations Solution
@@ -23,7 +23,7 @@ Step by step instructions:
23
23
* Leave all other parameters set to their default values.
24
24
* Check the box at the bottom allowing AWS CloudFormation to create IAM resources with custom names.
25
25
* Click the orange "Create stack" button at the bottom-right of the page to deploy the stack into your account.
26
-
26
+
27
27
## Deploy the sample Web App
28
28
29
29
|Region|Launch Template|
@@ -40,4 +40,4 @@ Step by step instructions:
40
40
* On the final page, check the box at the bottom allowing AWS CloudFormation to create IAM resources with custom names.
41
41
* Click the orange "Create stack" button at the bottom-right of the page to deploy the stack into your account.
Optional Extension - Try and find an input form on the juice site to perform a XSS attack. See if your WAF blocks the malicious request.
@@ -38,7 +38,7 @@ If you bypass the WAF by accessing the EC2 instance directly, you will see the a
38
38
HTTP floods are a type of denial-of-service attack where an application receives a large volume of requests intended to exhaust the resources of an application, preventing it from handling requests from legitimate users.
39
39
We will demonstrate functionality provided by the Security Automation Solution to detect this type of attack and block the responsible IP address in AWS WAF.
40
40
41
-
Rather than execute an HTTP Flood attack on our sample application, we can simulate one by providing an example log file. This will be processed by the Security Automation Solution.
41
+
Rather than execute an HTTP Flood attack on our sample application, we can simulate one by providing an example log file. This will be processed by the Security Automation Solution.
42
42
43
43
* Go to the CloudFormation Console, and inspect the WAF Automation stack's `Outputs` tab to find the value defined for `WafLogBucket`. Note this name. You will need it next.
44
44
* Download [this file](files/waf-access-log-sample.gz) to your machine.
@@ -51,7 +51,7 @@ Rather than execute an HTTP Flood attack on our sample application, we can simul
51
51
* To upload the file to the S3 bucket via the console, navigate to the [S3 Console page](https://s3.console.aws.amazon.com/s3/)
52
52
* Select the bucket you noted in the previous step.
53
53
* Select `upload`, then select the `waf-access-log-sample.gz` file.
54
-
* The lambda function is triggered by the creation of a new file in the S3 Bucket. Wait a few seconds while the log parser function processes the new WAF log file.
54
+
* The lambda function is triggered by the creation of a new file in the S3 Bucket. Wait a few seconds while the log parser function processes the new WAF log file.
55
55
* Check if the file `<stack_name>-waf_log_out.json` was added to the same bucket
56
56
* Check the [AWS WAF console](https://console.aws.amazon.com/wafv2/home?#/webacls) (you may need to change the filter to WAF resources in your chosen region) to see if `HTTP Flood` rule contains any IP listed.
Copy file name to clipboardExpand all lines: docs/step-3.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,6 @@
6
6
* Create an automation ([like this one](https://www.imperva.com/blog/imperva-integration-with-aws-security-hub-expanding-customer-security-visibility/)) to ingest AWS WAF Alert to AWS Security Hub. More info about AWS Security Hub custom providers [here](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-custom-providers.html)
7
7
8
8
9
-
## 3.2 Play with the OWASP Juice Shop.
9
+
## 3.2 Play with the OWASP Juice Shop.
10
10
11
-
* The sample application you deployed is the OWASP Juice Shop. It intentionally contains common web vulnerabilities. WAF automatically protects against some of these vulnerabilities, such as SQL Injection and Cross Site Scriptting. There is an [accompanying book by Ben Kimminitch](https://bkimminich.gitbooks.io/pwning-owasp-juice-shop/) that explains further. Try exploring the site to test out some other vulnerabilities. Access your EC2 resource directly (bypassing the ALB) to test your attacks without the WAF protection.
11
+
* The sample application you deployed is the OWASP Juice Shop. It intentionally contains common web vulnerabilities. WAF automatically protects against some of these vulnerabilities, such as SQL Injection and Cross Site Scriptting. There is an [accompanying book by Ben Kimminitch](https://bkimminich.gitbooks.io/pwning-owasp-juice-shop/) that explains further. Try exploring the site to test out some other vulnerabilities. Access your EC2 resource directly (bypassing the ALB) to test your attacks without the WAF protection.
0 commit comments