4.1.0 • Published 8 months ago

waf-automations-cdk v4.1.0

Weekly downloads
9
License
Apache-2.0
Repository
-
Last release
8 months ago

waf-automations-cdk

Usage

const wafAutomations = new WafSecurityAutomations(this, 'waf-security-automations', {
    stackName: 'waf-security-automations',
    accessLogBucket: myLogBucket,
    options: {
        // See below
    },
});

// Can now use the following:
wafAutomations.webAclName  // string, the name of the created webAcl, will match stackName due to implementation of the cfn template
wafAutomations.webAclArn  // string, arn of the created webAcl, pass this to a Cloudfront distribution
wafAutomations.webAclId   // string
wafAutomations.webAclDescription  // string

This creates a WAFv2 WebACL named matching the stackName.

Options

All are optional

AttributeDefaultDescription
templateVersion'v3.1.0'See releases.
activateSqlInjectionProtectiontrueEnables the component designed to block common SQL injection attacks
activateCrossSiteScriptingProtectiontrueEnables the component designed to block common XSS attacks
activateHttpFloodProtectiontrueEnables the component designed to block HTTP flood attacks
httpFloodProtectionMethod'waf'Alternatives: 'lambda' or 'athena'
activateScannersProbesProtectiontrueEnables the component designed to block scanners and probes
scannersProbesProtectionMethod'lambda'Alternative: 'athena'
activateReputationListsProtectiontrueEnable to block requests from IP addresses on third-party reputation lists (supported lists: spamhaus, torproject, and emergingthreats).
activateBadBotProtectiontrueEnables the component designed to block bad bots and content scrapers
endpointType'cloudfront'Select the type of resource being used, alternative: 'alb' (Note, see https://github.com/isotoma/waf-automations-cdk/issues/14)
errorThresholdPerMinute50If activateScannersProbesProtection is enabled, enter the maximum acceptable bad requests per minute per IP.
requestThresholdPerFiveMinutes100If activateHttpFloodProtection is enabled, enter the maximum acceptable requests per FIVE-minute period per IP address. >=100 if using WAF, >0 if Lambda or Athena.
wafBlockPeriodMinutes240If activateScannersProbesProtection or activateHttpFloodProtection is enabled, enter the period (in minutes) to block applicable IP addresses.
keepDataInOriginalS3LocationfalseBy default log files will be moved from their original location to a partitioned folder structure in s3. Set to true to copy instead.

Development

Releasing a new version

Run

$ npm version (patch|minor|major)
$ git push origin main [tag you just created]
3.0.2

11 months ago

3.0.1

11 months ago

3.0.0

11 months ago

4.1.0

8 months ago

4.0.0

8 months ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.2.0

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.0

4 years ago