Creating a Regex Pattern Set in AWS WAF

[post-views]
December 23, 2024 · 3 min read
Creating a Regex Pattern Set in AWS WAF

AWS Web Application Firewall (WAF) is a powerful tool for protecting your web applications from various types of attacks. A Regex Pattern Set in AWS WAF enables you to match complex string patterns, helping to filter malicious requests or enforce specific rules. Here’s a step-by-step guide on creating a Regex Pattern Set in AWS WAF.

Understand Your Use Case

Before creating a Regex Pattern Set, identify the specific patterns you want to match. For instance, you might want to block requests containing certain SQL injection strings, email addresses, or file extensions.
 
Access the AWS WAF Console:
 
  • Log in to your AWS Management Console.
  • Navigate to WAF & Shield from the Services menu.
Create a Regex Pattern Set:
 
  • Choose Regex Pattern Sets:
    • In the AWS WAF console, click on Regex Pattern Sets under the navigation pane.
  • Create New Set:
    • Click on Create Regex Pattern Set.
    • Provide a meaningful name (e.g., BlockSQLPatterns) and an optional description.
Add Patterns:

  • Define the regex patterns you want to match. For example:
    • .*(UNION SELECT).* (detects potential SQL injection patterns).
    • ^.*\.exe$ (matches strings ending with .exe).
    • ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ (matches email addresses).
  • Add each regex pattern one at a time, ensuring accuracy and proper testing.
Save the Set:
 
  • Review the added patterns.
  • Click Create Regex Pattern Set to save.

Associate the Regex Pattern Set with a Rule

Create or Edit a Rule:

    • Go to the Web ACLs section and select the Web ACL where you want to apply the Regex Pattern Set.
    • Add a new rule or edit an existing one.

Define a Match Condition:

    • In the rule editor, choose the Regex Pattern Set match condition.
    • Select your newly created Regex Pattern Set.
    • Specify which part of the request to inspect (e.g., URI, headers, body).

Set the Action:

    • Configure the rule to allow, block, or count matching requests.

Save and Deploy:

    • Save the rule and deploy the updated Web ACL.

Test the Regex Pattern Set

  • Use test requests to ensure the patterns match as expected.
  • Adjust patterns if false positives or negatives occur.

Best Practices

  • Keep Patterns Simple: Complex regex patterns can be computationally expensive.
  • Test Thoroughly: Validate patterns against sample inputs to avoid unintended matches.
  • Update Regularly: As threats evolve, regularly update your Regex Pattern Set to stay protected.
By leveraging Regex Pattern Sets in AWS WAF, you can create highly customized rules to secure your web applications against specific threats.

Table of Contents

Was this article helpful?

Like and share it with your peers.
Join SOC Prime's Detection as Code platform to improve visibility into threats most relevant to your business. To help you get started and drive immediate value, book a meeting now with SOC Prime experts.

Related Posts