{"id":18425416,"url":"https://github.com/toshke/aws-waf-demo-workshop","last_synced_at":"2025-04-07T16:31:43.751Z","repository":{"id":67599510,"uuid":"217507079","full_name":"toshke/aws-waf-demo-workshop","owner":"toshke","description":"Workshop for demonstrating AWS WAF usage","archived":false,"fork":false,"pushed_at":"2019-12-10T12:05:02.000Z","size":38,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-22T21:22:34.956Z","etag":null,"topics":["api","apigateway","aws","aws-waf","cloud","loadtesting","security","serverless","workshop"],"latest_commit_sha":null,"homepage":"https://www.meetup.com/Melbourne-AWS-Programming-and-Tools-Meetup/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toshke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-25T10:09:38.000Z","updated_at":"2020-04-18T03:02:27.000Z","dependencies_parsed_at":"2023-07-07T04:46:14.541Z","dependency_job_id":null,"html_url":"https://github.com/toshke/aws-waf-demo-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshke%2Faws-waf-demo-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshke%2Faws-waf-demo-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshke%2Faws-waf-demo-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshke%2Faws-waf-demo-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toshke","download_url":"https://codeload.github.com/toshke/aws-waf-demo-workshop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247687948,"owners_count":20979571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","apigateway","aws","aws-waf","cloud","loadtesting","security","serverless","workshop"],"created_at":"2024-11-06T05:03:51.226Z","updated_at":"2025-04-07T16:31:43.745Z","avatar_url":"https://github.com/toshke.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS WAF Workshop\n\nThis workshop provides hands on experience with\n- Deploying Serverless API Endpoint using api gateway\n- Load testing HTTPS API Endpoint using goad utility and coker\n- Deploying WebApplicationFirewall (WAF) to protect the serverless api endpoint\n- Demonstrate the WAF request blocking functionality based\non header\n\n## Prereqs\n\n\nThis workshop makes assumptions on students running it using [Cloud9](https://aws.amazon.com/cloud9/) in `us-east-2` region. You may be able to run from Mac\nor Windows as well, and in other regions, though workshop steps are not optimised for such environment.\n\nAlso, all of the step instructions are relying\non the fact that you are positioned within that steps\nfolder.\n\nCloud9 instance should have IAM Role with following permissions attached to it\n - Manage CloudForamtion resources\n - Manage AWS Lambda functions\n - Manage API Gateway\n - Manage CloudWatch resources\n - Manage WAF Regional resources\n\nFor the simplicity of the workshop conduction, it is\nrecommended to have admin priveleges credentials\n\nYou can find [instructions here on how to setup Cloud9](cloud9.md)\n\n\n### Workshop content\n\n## Step 1\n\n[Deploy Simple WebAPI with ApiGateway and Lambdas](step1/README.md)\n\n## Step 2\n\n[Install goad. Load test the API. Look at the traffic data.](step2/README.md)\n\n## Step 3\n\n[Deploy the WAF that will detect Load testing header and block traffic.](step3/README.md)\n\n## Step 4\n\n[Run the load testing tool with and without the header. Look at metrics for Web Application Firewall](step4/README.md)\n\n\n## Too easy?\n\nIf you have come this far and felt that was too easy, you can [try out some more complex tasks](advanced.md)\n\n## Cleanup\n\n[Remove All of the created resources](cleanup.md)\n\nRead more about WAF on [Official AWS Documentation pages](https://docs.aws.amazon.com/waf/latest/APIReference/Welcome.html)\n\nThanks for taking your time to go through this workshop.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshke%2Faws-waf-demo-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoshke%2Faws-waf-demo-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshke%2Faws-waf-demo-workshop/lists"}