More Info:
Checks if the web ACL is associated with an Application Load Balancer, API Gateway stage, or Amazon CloudFront distributions. When AWS Firewall Manager creates this rule, the FMS policy owner specifies the WebACLId in the FMS policy and can optionally enable remediation.Risk Level
MediumAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- Cloudanix Best Practice
- DPDPA
- Digital Operational Resilience Act (EU)
- Essential 8
- ISO/IEC 27017
- ISO/IEC 27018
- ISO/IEC 27701
- KSA PDPL
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIS2 Directive
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Using Console
Using Console
To remediate the misconfiguration where FMS Policy Owner Specifies WebACLId for an AWS Elastic Load Balancer using the AWS console, follow these step-by-step instructions:
- Login to AWS Console: Go to the AWS Management Console (https://aws.amazon.com/console/) and login with your credentials.
- Navigate to AWS WAF & Shield: In the AWS Management Console, navigate to the AWS WAF & Shield service by typing “WAF” in the search bar and selecting the “AWS WAF & Shield” service.
- Select the Web ACL: In the AWS WAF & Shield dashboard, select the Web ACL that is associated with the FMS Policy Owner Specifies WebACLId misconfiguration.
- Remove Web ACL from FMS Policy: Find the option to remove the Web ACL from the FMS Policy Owner in the Web ACL settings. This will ensure that the FMS Policy Owner no longer specifies the WebACLId for the Elastic Load Balancer.
- Save Changes: Once you have removed the Web ACL from the FMS Policy Owner, save the changes to update the configuration.
- Verify Configuration: Verify that the Web ACL is no longer specified by the FMS Policy Owner for the Elastic Load Balancer. You can do this by checking the configuration settings or testing the Elastic Load Balancer to ensure it is functioning correctly.
Using CLI
Using CLI
To remediate the misconfiguration where the FMS Policy Owner Specifies WebACLId for an AWS Elastic Load Balancer using AWS CLI, you can follow these steps:
- Identify the FMS Policy Owner: First, identify the FMS Policy Owner who has specified the WebACLId for the Elastic Load Balancer.
- Revoke Permissions: The FMS Policy Owner needs to revoke the permission to specify the WebACLId for the Elastic Load Balancer. This can be done by updating the FMS policy or removing the specific permission from the IAM policy attached to the FMS Policy Owner.
-
Update WebACLId for the Elastic Load Balancer: If the WebACLId specified by the FMS Policy Owner is incorrect or causing issues, you can update the WebACLId for the Elastic Load Balancer. Use the following AWS CLI command to update the WebACLId for the Elastic Load Balancer:
Replace
<your-load-balancer-arn>with the ARN of your Elastic Load Balancer and<new-webacl-id>with the correct WebACLId that you want to associate with the Elastic Load Balancer. -
Verify the Changes: After updating the WebACLId for the Elastic Load Balancer, verify the changes by checking the attributes of the Elastic Load Balancer using the following AWS CLI command:
Ensure that the correct WebACLId is now associated with the Elastic Load Balancer.
Using Python
Using Python
To remediate the misconfiguration where the FMS Policy Owner Specifies WebACLId for AWS Elastic Load Balancer using Python, you can follow these steps:
- Identify the Misconfiguration: Check the AWS WAF WebACL associated with the Elastic Load Balancer to ensure that the FMS Policy Owner does not specify a specific WebACLId.
- Update the WebACL: Use the AWS SDK for Python (Boto3) to update the WebACL associated with the Elastic Load Balancer. You can remove the FMS Policy Owner’s specified WebACLId and revert to the default WebACL or a more appropriate one.
-
Install Boto3: If you haven’t already, install the Boto3 library by running the following command:
-
Python Script to Remediate:
Here is a sample Python script that demonstrates how to update the WebACL associated with an Elastic Load Balancer:
-
Replace the placeholders:
- Replace
YOUR_ELB_ARN_HEREwith the ARN of your Elastic Load Balancer. - Replace
YOUR_WEBACL_ARN_HEREwith the ARN of the desired WebACL that you want to associate with the Elastic Load Balancer.
- Replace
- Run the Script: Execute the Python script to update the WebACL associated with the Elastic Load Balancer. This will remediate the misconfiguration where the FMS Policy Owner Specifies WebACLId.
Using Terraform
Using Terraform
aws_fms_policy.FMS_WAFV2_ALB_POLICY in Terraform changes the policy in place (no resource replacement), but it replaces the entire policy definition on the FMS side in the same way as aws fms put-policy, so review carefully to avoid unintended security changes.For verification, terraform plan should show an in-place update of aws_fms_policy.FMS_WAFV2_ALB_POLICY, with changes only to security_service_policy_data[0].managed_service_data (and any new tags/associations) to include the webAclId and any rule group ARNs you configured.
