From 5,000 Security Hub Findings to a Backlog Your Team Can Finish

Turning on Security Hub across an AWS organisation produces thousands of findings on day one. How we triage them into a short backlog, fixed mostly at the account level rather than one resource at a time.

Turn on Security Hub with the AWS Foundational Security Best Practices and CIS AWS Foundations Benchmark standards across a real AWS organisation and the first dashboard is demoralising: thousands of failed checks, a security score in the low double digits, and no obvious place to start. Most teams react in one of two ways. They try to fix findings one resource at a time and give up after a sprint, or they stop looking. Neither improves security. This post is how we turn that first dashboard into a backlog a team can actually finish.

Set it up so the numbers mean something

Triage is pointless if the data is incomplete or duplicated. Before reading a single finding:

After this, the finding count usually drops noticeably without fixing anything, and what remains is real.

Triage by control, not by finding

The key move: stop counting findings and start counting controls. Five thousand findings typically come from a few dozen failing controls, each repeated across hundreds of resources. One decision per control, applied everywhere, is the only approach that scales.

For each failing control, record four things:

ColumnQuestion
SeverityWhat does Security Hub rate it, and do we agree in our context?
ExposureIs any affected resource internet-facing or in production?
Fix levelCan it be fixed once at the account or organisation level?
OwnerPlatform team, or the workload teams who own the resources?

Then sort. Our ordering is consistent across most estates:

  1. High severity, exposed, fixable at the account level. Do these this week.
  2. High severity, exposed, per-resource. Fix the exposed resources first, then the rest.
  3. Anything fixable at the account or organisation level, regardless of severity, because one change closes hundreds of findings.
  4. Per-resource findings in non-production, handed to workload teams with a deadline.
  5. Accepted risks, suppressed with a documented reason and a review date.

The controls that fail almost everywhere

Every estate is different, but the same controls dominate first runs. Many of them are fixed with a single account-level setting:

Settings like these also belong in your account baseline, applied automatically when an account is created, so the findings do not come back with every new account. AWS Organizations declarative policies can enforce some of them, such as IMDSv2 defaults and blocking public sharing of AMIs and snapshots, across the whole organisation in a way member accounts cannot override.

Prevent instead of detect

Security Hub tells you what is wrong after it is deployed. For the high-severity controls, add prevention so the finding cannot recur:

A finding that is prevented never needs triage again.

Handle exceptions honestly

Some findings are acceptable risks: a bucket that is public on purpose to host a website, a legacy system that cannot run IMDSv2 until it is replaced. Hiding them, or leaving them failing forever, both erode trust in the dashboard.

Use Security Hub automation rules to suppress or change the workflow status of specific findings based on resource tags or IDs, and require each suppression to carry a reason, an owner and a review date, ideally as tags on the resource itself. Review the suppression list quarterly. An exception with no owner is just an unfixed finding.

Route findings to owners

The platform team cannot fix every workload's resources, and should not try. Once the account-level fixes are done:

What good looks like after one quarter

What this looks like at ccX

This is the core of our Cloud Security Posture Review: a gap analysis against the CIS AWS Foundations Benchmark and AWS Foundational Security Best Practices, triaged into a prioritised remediation plan, with IAM and guardrail standards and a Terraform baseline your team can apply to every account. We delivered this baseline on an EU institution's multi-account programme before taking on its cost optimisation. One to two weeks, fixed fee.

If your Security Hub score has not moved in months, book a 30-minute scoping call.

Where to go from here

Security Hub control IDs, standards and organisation-level features change as AWS updates them. Check the current Security Hub controls reference before applying these fixes.


Sitemap