Category: MANAGEMENT
AWS Firewall Manager is a centralized security management service that lets you configure and deploy firewall rules and protections across multiple accounts and resources in an AWS Organization. It manages WAF, Shield Advanced, VPC Security Groups, Network ACLs, Network Firewall, Route 53 Resolver DNS Firewall, and third-party firewalls (Palo Alto Networks Cloud NGFW, Fortigate CNF).
| Risk Level | Scope | Policy Types | Requires |
|---|---|---|---|
| HIGH | Org-wide | WAF/SG/NF/DNS/Shield/NACL | Organizations + Config |
Firewall Manager enforces security policies across all accounts in an AWS Organization. Policies are automatically applied to new accounts and resources as they are added. The FMS administrator account has the authority to create, modify, and delete policies that affect every member account in scope.
Attack note: Compromising the FMS administrator account grants the ability to weaken or delete security policies across the entire organization in a single operation
Policies can automatically remediate non-compliant resources. Scope is controlled via account inclusion/exclusion maps, resource tags, and resource types. Disabling auto-remediation or narrowing scope silently removes protections.
Attack note: An attacker with fms:PutPolicy can modify a policy's scope or disable remediation, leaving resources unprotected without triggering obvious alerts
████████░░ 7.5/10 (HIGH)
Firewall Manager is an organization-wide security control plane. Compromise of the FMS administrator account or misconfiguration of policies can silently remove WAF rules, security group restrictions, and Network Firewall protections across every account in the organization. The blast radius is the entire AWS Organization.
- Modify existing policy to disable RemediationEnabled, stopping auto-fix of non-compliant resources
- Change IncludeMap/ExcludeMap to remove accounts from policy scope
- Switch SecurityServiceType policy rules to permissive configurations via ManagedServiceData
- Delete critical policies with fms:DeletePolicy, removing organization-wide protections
- Narrow admin scope via
fms:PutAdminAccountto push policies intoOUT_OF_ADMIN_SCOPEstatus, effectively disabling their enforcement
- Use fms:PutAdminAccount to register a rogue administrator account (requires compromise of the Organizations management account -- the highest-privilege account in the organization)
- Use fms:AssociateAdminAccount to designate attacker-controlled account as FMS admin
- Modify admin scope via fms:PutAdminAccount to limit legitimate admin visibility
- Delete notification channel with fms:DeleteNotificationChannel to suppress compliance alerts
- Disassociate the legitimate admin account with fms:DisassociateAdminAccount
- RemediationEnabled set to false -- non-compliant resources are reported but never fixed
- ExcludeResourceTags set to true with overly broad tag exclusions, leaving critical resources unprotected
- IncludeMap limited to a subset of accounts, leaving other member accounts without protection
- Policies created only in one Region while resources exist in multiple Regions
- DeleteUnusedFMManagedResources set to false, leaving orphaned security resources after policy deletion
- AWS Config not enabled in all accounts and Regions, preventing Firewall Manager from detecting non-compliance
- No SNS notification channel configured (PutNotificationChannel never called), so compliance violations go unnoticed
- Security group policies in audit mode only (SECURITY_GROUPS_USAGE_AUDIT) without corresponding enforcement policies
- WAF policies using COUNT action instead of BLOCK in managed rule groups
- Third-party firewall integration enabled without verifying the third-party tenant configuration
Identify FMS Administrator Account
aws fms get-admin-accountList All FMS Policies
aws fms list-policiesGet Full Policy Details
aws fms get-policy \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111List Member Accounts Under FMS
aws fms list-member-accountsCheck Compliance Status for a Policy
aws fms list-compliance-status \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111Get Detailed Compliance for Specific Account
aws fms get-compliance-detail \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
--member-account 123456789012Get Violation Details for a Resource
aws fms get-violation-details \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
--member-account 123456789012 \
--resource-id sg-0123456789abcdef0 \
--resource-type AWS::EC2::SecurityGroupCheck Notification Channel Configuration
aws fms get-notification-channelList Resource Sets
aws fms list-resource-setsList All FMS Administrators in the Organization
aws fms list-admin-accounts-for-organizationAn attacker with fms:PutPolicy can modify existing Firewall Manager policies to disable remediation, narrow scope, or change the managed service data to permissive rules. This effectively removes security controls across all in-scope accounts without needing direct access to those accounts.
The fms:AssociateAdminAccount action (callable from the Organizations management account) designates the FMS administrator. The fms:PutAdminAccount action creates or updates additional FMS administrator accounts. An attacker with access to the management account and these permissions can install their own account as FMS administrator, gaining full control over all security policies in the organization.
An attacker with fms:DeletePolicy can delete Firewall Manager policies, which removes the centrally managed WAF rules, security group rules, or Network Firewall configurations from all accounts in scope. Combined with fms:DeleteNotificationChannel, the deletion can go unnoticed.
{
"Policy": {
"PolicyName": "WAFPolicy",
"SecurityServicePolicyData": {
"Type": "WAFV2",
"ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"ALLOW\"}}"
},
"ResourceType": "AWS::ElasticLoadBalancingV2::LoadBalancer",
"ExcludeResourceTags": true,
"ResourceTags": [
{
"Key": "Environment",
"Value": "Dev"
}
],
"RemediationEnabled": false,
"ExcludeMap": {
"ACCOUNT": ["111111111111", "222222222222"]
}
}
}Default action is ALLOW, remediation is disabled, two accounts are excluded, and all Dev-tagged resources are excluded. Non-compliant resources will never be fixed and large portions of the organization are left unprotected.
{
"Policy": {
"PolicyName": "WAFPolicy-AllAccounts",
"SecurityServicePolicyData": {
"Type": "WAFV2",
"ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"BLOCK\"},\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesCommonRuleSet\"},\"overrideAction\":{\"type\":\"NONE\"},\"ruleGroupType\":\"ManagedRuleGroup\",\"excludeRules\":[]}],\"postProcessRuleGroups\":[]}"
},
"ResourceType": "AWS::ElasticLoadBalancingV2::LoadBalancer",
"ResourceTypeList": [
"AWS::ElasticLoadBalancingV2::LoadBalancer",
"AWS::CloudFront::Distribution",
"AWS::ApiGateway::Stage"
],
"ExcludeResourceTags": false,
"ResourceTags": [],
"RemediationEnabled": true,
"DeleteUnusedFMManagedResources": true,
"IncludeMap": {}
}
}Default action is BLOCK, AWS Managed Rules Common Rule Set is enforced, remediation is enabled, no accounts or tags are excluded, multiple resource types are covered, and orphaned resources are cleaned up on policy deletion.
Limit fms:PutPolicy, fms:DeletePolicy, fms:AssociateAdminAccount, and fms:PutAdminAccount to the absolute minimum number of principals. Use SCPs to prevent member accounts from calling FMS write actions.
Set RemediationEnabled: true on every Firewall Manager policy. Audit-only mode is useful during initial rollout, but production policies must enforce compliance automatically.
Use aws fms put-notification-channel to send compliance findings to an SNS topic monitored by your security team. Without this, policy violations are only visible in the FMS console.
Firewall Manager depends on AWS Config to detect resource compliance. If Config is not enabled in an account or Region, FMS cannot evaluate or remediate resources there. Use an AWS Config conformance pack or Organizations delegated administrator to ensure full coverage.
Create CloudTrail alerts for fms:PutPolicy, fms:DeletePolicy, fms:AssociateAdminAccount, fms:DisassociateAdminAccount, fms:PutAdminAccount, and fms:DeleteNotificationChannel. These are high-impact actions that should trigger immediate investigation.
Firewall Manager policies are Regional. Create policies in every Region where you have resources, or use SCPs to deny resource creation in Regions where FMS policies are not deployed.
Leave IncludeMap empty (which means all accounts) rather than listing specific accounts. Use ExcludeMap only for well-justified exceptions, and audit exclusions regularly.
AWS Firewall Manager Security Card
Always obtain proper authorization before testing
