AWS Firewall Manager is a centralized security management service that configures and deploys 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.
Firewall Manager enforces security policies across all accounts in an AWS Organization. Policies are automatically applied to new accounts and resources. The FMS administrator account has authority to create, modify, and delete policies affecting every member account.
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.
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. The blast radius is the entire AWS Organization.
aws fms get-admin-accountaws fms list-policiesaws fms get-policy \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111aws fms list-member-accountsaws fms list-compliance-status \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111aws fms get-notification-channelKey insight: fms:PutPolicy is the most dangerous single permission — it can silently weaken security across the entire organization without triggering obvious alerts.
aws fms list-admin-accounts-for-organizationaws fms get-compliance-detail \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
--member-account 123456789012aws fms get-violation-details \
--policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
--member-account 123456789012 \
--resource-id sg-0123456789abcdef0 \
--resource-type AWS::EC2::SecurityGroupaws fms list-resource-sets{
"PolicyName": "WAFPolicy",
"SecurityServicePolicyData": {
"Type": "WAFV2",
"ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"ALLOW\"}}"
},
"ResourceType": "AWS::ElasticLoadBalancingV2::LoadBalancer",
"ExcludeResourceTags": true,
"RemediationEnabled": false,
"ExcludeMap": {
"ACCOUNT": ["111111111111", "222222222222"]
}
}Default action is ALLOW, remediation disabled, two accounts excluded, Dev-tagged resources excluded. Non-compliant resources will never be fixed.
{
"PolicyName": "WAFPolicy-AllAccounts",
"SecurityServicePolicyData": {
"Type": "WAFV2",
"ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"BLOCK\"}}"
},
"ResourceTypeList": [
"AWS::ElasticLoadBalancingV2::LoadBalancer",
"AWS::CloudFront::Distribution",
"AWS::ApiGateway::Stage"
],
"ExcludeResourceTags": false,
"RemediationEnabled": true,
"DeleteUnusedFMManagedResources": true,
"IncludeMap": {}
}Default action BLOCK, AWS Managed Rules enforced, remediation enabled, no exclusions, multiple resource types covered, orphaned resources cleaned up.
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 rollout, but production policies must enforce compliance automatically.
Send compliance findings to an SNS topic monitored by your security team. Without this, policy violations are only visible in the FMS console.
aws fms put-notification-channel --sns-topic-arn SNS_TOPIC_ARN --sns-role-name FMS_SNS_ROLEFirewall Manager depends on AWS Config to detect resource compliance. If Config is not enabled, FMS cannot evaluate or remediate resources.
Alert on fms:PutPolicy, fms:DeletePolicy, fms:AssociateAdminAccount, fms:DisassociateAdminAccount, fms:PutAdminAccount, and fms:DeleteNotificationChannel.
FMS policies are Regional. Create policies in every Region where you have resources, or use SCPs to deny resource creation in Regions without FMS policies.
Leave IncludeMap empty (all accounts) rather than listing specific accounts. Use ExcludeMap only for well-justified exceptions and audit exclusions regularly.
Deploy SCPs to prevent member accounts from calling FMS write actions or modifying policies outside the designated admin account.
AWS Firewall Manager Security Card • Toc Consulting
Always obtain proper authorization before testing