From cd5c4f432123983af7bd89477044e7639e7c8e75 Mon Sep 17 00:00:00 2001 From: mickychetta <45010053+mickychetta@users.noreply.github.com> Date: Tue, 19 Oct 2021 13:13:02 -0700 Subject: [PATCH] feat(aws-wafwebacl-alb): created aws-wafwebacl-alb construct (#465) * created README for aws-wafwebacl-alb * updated README * created wafwebacl-alb construct * updated file name * added cfn suppress rules * changed r53toAlb construct to just alb --- .../aws-wafwebacl-alb/.eslintignore | 4 + .../aws-wafwebacl-alb/.gitignore | 15 + .../aws-wafwebacl-alb/.npmignore | 21 + .../aws-wafwebacl-alb/README.md | 102 ++ .../aws-wafwebacl-alb/architecture.png | Bin 0 -> 160765 bytes .../aws-wafwebacl-alb/lib/index.ts | 72 ++ .../aws-wafwebacl-alb/package.json | 102 ++ .../test/integ.no-arguments.expected.json | 915 ++++++++++++++++++ .../test/integ.no-arguments.ts | 50 + .../test/test.wafwebacl-alb.test.ts | 317 ++++++ .../aws-wafwebacl-apigateway/README.md | 2 +- 11 files changed, 1599 insertions(+), 1 deletion(-) create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.eslintignore create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.gitignore create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.npmignore create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/README.md create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/architecture.png create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/lib/index.ts create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/package.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/integ.no-arguments.expected.json create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/integ.no-arguments.ts create mode 100644 source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/test.wafwebacl-alb.test.ts diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.eslintignore b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.eslintignore new file mode 100644 index 000000000..910cb0513 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.eslintignore @@ -0,0 +1,4 @@ +lib/*.js +test/*.js +*.d.ts +coverage \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.gitignore b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.gitignore new file mode 100644 index 000000000..6773cabd2 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.gitignore @@ -0,0 +1,15 @@ +lib/*.js +test/*.js +*.js.map +*.d.ts +node_modules +*.generated.ts +dist +.jsii + +.LAST_BUILD +.nyc_output +coverage +.nycrc +.LAST_PACKAGE +*.snk \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.npmignore b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.npmignore new file mode 100644 index 000000000..f66791629 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/.npmignore @@ -0,0 +1,21 @@ +# Exclude typescript source and config +*.ts +tsconfig.json +coverage +.nyc_output +*.tgz +*.snk +*.tsbuildinfo + +# Include javascript files and typescript declarations +!*.js +!*.d.ts + +# Exclude jsii outdir +dist + +# Include .jsii +!.jsii + +# Include .jsii +!.jsii \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/README.md b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/README.md new file mode 100644 index 000000000..bbcd7e292 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/README.md @@ -0,0 +1,102 @@ +# aws-wafwebacl-alb module + + +--- + +![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) + +> All classes are under active development and subject to non-backward compatible changes or removal in any +> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. +> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. + +--- + + +| **Reference Documentation**:| https://docs.aws.amazon.com/solutions/latest/constructs/| +|:-------------|:-------------| +
+ + +| **Language** | **Package** | +|:-------------|-----------------| +|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_wafwebacl_alb`| +|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-wafwebacl-alb`| +|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.wafwebaclalb`| + +## Overview +This AWS Solutions Construct implements an AWS WAF web ACL connected to an Application Load Balancer. + +Here is a minimal deployable pattern definition in Typescript: + +``` typescript +import { Route53ToAlb } from '@aws-solutions-constructs/aws-route53-alb'; +import { WafwebaclToAlbProps, WafwebaclToAlb } from "@aws-solutions-constructs/aws-wafwebacl-alb"; + +// A constructed ALB is required to be attached to the WAF Web ACL. +// In this case, we are using this construct to create one. +const r53ToAlb = new Route53ToAlb(this, 'Route53ToAlbPattern', { + privateHostedZoneProps: { + zoneName: 'www.example.com', + }, + publicApi: false, + logAccessLogs: false +}); + +// This construct can only be attached to a configured Application Load Balancer. +new WafwebaclToAlb(this, 'test-wafwebacl-alb', { + existingLoadBalancerObj: r53ToAlb.loadBalancer +}); +``` + +## Initializer + +``` text +new WafwebaclToAlb(scope: Construct, id: string, props: WafwebaclToAlbProps); +``` + +_Parameters_ + +* scope [`Construct`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) +* id `string` +* props [`WafwebaclToAlbProps`](#pattern-construct-props) + +## Pattern Construct Props + +| **Name** | **Type** | **Description** | +|:-------------|:----------------|-----------------| +|existingLoadBalancerObj|[`elbv2.ApplicationLoadBalancer`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticloadbalancingv2.ApplicationLoadBalancer.html)|The existing Application Load Balancer Object that will be protected with the WAF web ACL. *Note that a WAF web ACL can only be added to a configured Application Load Balancer, so this construct only accepts an existing ApplicationLoadBalancer and does not accept applicationLoadBalancerProps.*| +|existingWebaclObj?|[`waf.CfnWebACL`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-waf.CfnWebACL.html)|Existing instance of a WAF web ACL, an error will occur if this and props is set.| +|webaclProps?|[`waf.CfnWebACLProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-waf.CfnWebACLProps.html)|Optional user-provided props to override the default props for the AWS WAF web ACL. To use a different collection of managed rule sets, specify a new rules property. Use our [`wrapManagedRuleSet(managedGroupName: string, vendorName: string, priority: number)`](../core/lib/waf-defaults.ts) function from core to create an array entry from each desired managed rule set.| + +## Pattern Properties + +| **Name** | **Type** | **Description** | +|:-------------|:----------------|-----------------| +|webacl|[`waf.CfnWebACL`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-waf.CfnWebACL.html)|Returns an instance of the waf.CfnWebACL created by the construct.| +|loadBalancer|[`elbv2.ApplicationLoadBalancer`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticloadbalancingv2.ApplicationLoadBalancer.html)|Returns an instance of the Application Load Balancer Object created by the pattern. | + +## Default settings + +Out of the box implementation of the Construct without any override will set the following defaults: + +### AWS WAF +* Deploy a WAF web ACL with 7 [AWS managed rule groups](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list.html). + * AWSManagedRulesBotControlRuleSet + * AWSManagedRulesKnownBadInputsRuleSet + * AWSManagedRulesCommonRuleSet + * AWSManagedRulesAnonymousIpList + * AWSManagedRulesAmazonIpReputationList + * AWSManagedRulesAdminProtectionRuleSet + * AWSManagedRulesSQLiRuleSet + + *Note that the default rules can be replaced by specifying the rules property of CfnWebACLProps* +* Send metrics to Amazon CloudWatch + +### Application Load Balancer +* User provided Application Load Balancer object is used as-is + +## Architecture +![Architecture Diagram](architecture.png) + +*** +© Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/architecture.png b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..039628bf36df993db2208150b03914595a0f43a5 GIT binary patch literal 160765 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 %poL5%X)gB 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", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store." + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/integ.no-arguments.ts b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/integ.no-arguments.ts new file mode 100644 index 000000000..dc7574620 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/integ.no-arguments.ts @@ -0,0 +1,50 @@ +/** + * Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance + * with the License. A copy of the License is located at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions + * and limitations under the License. + */ + +/// !cdk-integ * +import { App, Stack } from "@aws-cdk/core"; +import { WafwebaclToAlb } from "../lib"; +import { generateIntegStackName } from '@aws-solutions-constructs/core'; +import { CfnSecurityGroup } from "@aws-cdk/aws-ec2"; +import * as defaults from '@aws-solutions-constructs/core'; +import * as elb from "@aws-cdk/aws-elasticloadbalancingv2"; + +const app = new App(); + +// Empty arguments +const stack = new Stack(app, generateIntegStackName(__filename)); + +const myVpc = defaults.buildVpc(stack, { + defaultVpcProps: defaults.DefaultPublicPrivateVpcProps(), + constructVpcProps: { + enableDnsHostnames: true, + enableDnsSupport: true, + cidr: '172.168.0.0/16', + } +}); + +const loadBalancer = new elb.ApplicationLoadBalancer(stack, 'new-lb', { + internetFacing: false, + vpc: myVpc +}); + +// This construct can only be attached to a configured Application Load Balancer. +new WafwebaclToAlb(stack, 'test-wafwebacl-alb', { + existingLoadBalancerObj: loadBalancer +}); + +const newSecurityGroup = loadBalancer.connections.securityGroups[0].node.defaultChild as CfnSecurityGroup; +defaults.addCfnSuppressRules(newSecurityGroup, [{ id: 'W29', reason: 'CDK created rule that blocks all traffic.'}]); +defaults.addCfnSuppressRules(loadBalancer, [{ id: 'W52', reason: 'This test is explicitly to test the no logging case.'}]); + +app.synth(); \ No newline at end of file diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/test.wafwebacl-alb.test.ts b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/test.wafwebacl-alb.test.ts new file mode 100644 index 000000000..4669f3219 --- /dev/null +++ b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/test/test.wafwebacl-alb.test.ts @@ -0,0 +1,317 @@ +/** + * Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance + * with the License. A copy of the License is located at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions + * and limitations under the License. + */ + +// Imports +import * as cdk from "@aws-cdk/core"; +import { WafwebaclToAlb } from "../lib"; +import * as waf from "@aws-cdk/aws-wafv2"; +import * as defaults from '@aws-solutions-constructs/core'; +import * as elb from "@aws-cdk/aws-elasticloadbalancingv2"; +import '@aws-cdk/assert/jest'; + +function deployLoadBalancer(stack: cdk.Stack) { + const myVpc = defaults.buildVpc(stack, { + defaultVpcProps: defaults.DefaultPublicPrivateVpcProps(), + constructVpcProps: { + enableDnsHostnames: true, + enableDnsSupport: true, + cidr: '172.168.0.0/16', + } + }); + + return new elb.ApplicationLoadBalancer(stack, 'new-lb', { + internetFacing: false, + vpc: myVpc + }); +} + +function deployConstruct(stack: cdk.Stack, webaclProps?: waf.CfnWebACLProps, existingWebaclObj?: waf.CfnWebACL) { + const loadBalancer = deployLoadBalancer(stack); + + return new WafwebaclToAlb(stack, 'test-waf-alb', { + existingLoadBalancerObj: loadBalancer, + webaclProps, + existingWebaclObj + }); +} + +// -------------------------------------------------------------- +// Test error handling for existing WAF web ACL and user provided web ACL props +// -------------------------------------------------------------- +test('Test error handling for existing WAF web ACL and user provider web ACL props', () => { + const stack = new cdk.Stack(); + const props: waf.CfnWebACLProps = { + defaultAction: { + allow: {} + }, + scope: 'REGIONAL', + visibilityConfig: { + cloudWatchMetricsEnabled: false, + metricName: 'webACL', + sampledRequestsEnabled: true + }, + }; + + const wafAcl = new waf.CfnWebACL(stack, 'test-waf', props); + const loadBalancer = deployLoadBalancer(stack); + + expect(() => { + new WafwebaclToAlb(stack, 'test-waf-alb', { + existingLoadBalancerObj: loadBalancer, + existingWebaclObj: wafAcl, + webaclProps: props + }); + }).toThrowError(); +}); + +// -------------------------------------------------------------- +// Test default deployment +// -------------------------------------------------------------- +test('Test default deployment', () => { + const stack = new cdk.Stack(); + const construct = deployConstruct(stack); + + expect(construct.webacl !== null); + expect(construct.loadBalancer !== null); + + expect(stack).toHaveResource("AWS::WAFv2::WebACL", { + Rules: [ + { + Name: "AWS-AWSManagedRulesBotControlRuleSet", + OverrideAction: { + None: {} + }, + Priority: 0, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesBotControlRuleSet", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesBotControlRuleSet", + SampledRequestsEnabled: true + } + }, + { + Name: "AWS-AWSManagedRulesKnownBadInputsRuleSet", + OverrideAction: { + None: {} + }, + Priority: 1, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesKnownBadInputsRuleSet", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesKnownBadInputsRuleSet", + SampledRequestsEnabled: true + } + }, + { + Name: "AWS-AWSManagedRulesCommonRuleSet", + OverrideAction: { + None: {} + }, + Priority: 2, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesCommonRuleSet", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesCommonRuleSet", + SampledRequestsEnabled: true + } + }, + { + Name: "AWS-AWSManagedRulesAnonymousIpList", + OverrideAction: { + None: {} + }, + Priority: 3, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesAnonymousIpList", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesAnonymousIpList", + SampledRequestsEnabled: true + } + }, + { + Name: "AWS-AWSManagedRulesAmazonIpReputationList", + OverrideAction: { + None: {} + }, + Priority: 4, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesAmazonIpReputationList", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesAmazonIpReputationList", + SampledRequestsEnabled: true + } + }, + { + Name: "AWS-AWSManagedRulesAdminProtectionRuleSet", + OverrideAction: { + None: {} + }, + Priority: 5, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesAdminProtectionRuleSet", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesAdminProtectionRuleSet", + SampledRequestsEnabled: true + } + }, + { + Name: "AWS-AWSManagedRulesSQLiRuleSet", + OverrideAction: { + None: {} + }, + Priority: 6, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesSQLiRuleSet", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesSQLiRuleSet", + SampledRequestsEnabled: true + } + } + ] + }); +}); + +// -------------------------------------------------------------- +// Test web acl with user provided acl props +// -------------------------------------------------------------- +test('Test user provided acl props', () => { + const stack = new cdk.Stack(); + const webaclProps: waf.CfnWebACLProps = { + defaultAction: { + allow: {} + }, + scope: 'REGIONAL', + visibilityConfig: { + cloudWatchMetricsEnabled: false, + metricName: 'webACL', + sampledRequestsEnabled: true + }, + rules: [ + defaults.wrapManagedRuleSet("AWSManagedRulesCommonRuleSet", "AWS", 0), + defaults.wrapManagedRuleSet("AWSManagedRulesWordPressRuleSet", "AWS", 1), + ] + }; + + deployConstruct(stack, webaclProps); + + expect(stack).toHaveResource("AWS::WAFv2::WebACL", { + VisibilityConfig: { + CloudWatchMetricsEnabled: false, + MetricName: "webACL", + SampledRequestsEnabled: true + }, + Rules: [ + { + Name: "AWS-AWSManagedRulesCommonRuleSet", + OverrideAction: { + None: {} + }, + Priority: 0, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesCommonRuleSet", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesCommonRuleSet", + SampledRequestsEnabled: true + } + }, + { + Name: "AWS-AWSManagedRulesWordPressRuleSet", + OverrideAction: { + None: {} + }, + Priority: 1, + Statement: { + ManagedRuleGroupStatement: { + Name: "AWSManagedRulesWordPressRuleSet", + VendorName: "AWS" + } + }, + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "AWSManagedRulesWordPressRuleSet", + SampledRequestsEnabled: true + } + } + ] + }); +}); + +// -------------------------------------------------------------- +// Test existing web ACL +// -------------------------------------------------------------- +test('Test existing web ACL', () => { + const stack = new cdk.Stack(); + const webacl: waf.CfnWebACL = new waf.CfnWebACL(stack, 'test-webacl', { + defaultAction: { + allow: {} + }, + scope: 'REGIONAL', + visibilityConfig: { + cloudWatchMetricsEnabled: true, + metricName: 'webACL', + sampledRequestsEnabled: true + }, + }); + + deployConstruct(stack, undefined, webacl); + + expect(stack).toHaveResource("AWS::WAFv2::WebACL", { + VisibilityConfig: { + CloudWatchMetricsEnabled: true, + MetricName: "webACL", + SampledRequestsEnabled: true + } + }); + + expect(stack).toCountResources("AWS::WAFv2::WebACL", 1); +}); diff --git a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-apigateway/README.md b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-apigateway/README.md index 6c5ddb9ac..4dda43370 100644 --- a/source/patterns/@aws-solutions-constructs/aws-wafwebacl-apigateway/README.md +++ b/source/patterns/@aws-solutions-constructs/aws-wafwebacl-apigateway/README.md @@ -89,7 +89,7 @@ Out of the box implementation of the Construct without any override will set the * AWSManagedRulesAdminProtectionRuleSet * AWSManagedRulesSQLiRuleSet - *Note that the default rules can be replaced by specifying the rules property of CfnWebACLProps* + *Note that the default rules can be replaced by specifying the rules property of CfnWebACLProps* * Send metrics to Amazon CloudWatch ### Amazon API Gateway