← Workflows

阅读中文版本

Network Segmentation Review Workflow

Model intended traffic flows, capture actual flows from telemetry, and reconcile the two to expose unintended paths and over-broad rules.

advanced~40 minsecurity-auditnetworkingzero-trust

Objective

Verify that the network permits only intended flows by reconciling the intended-flow model against observed traffic, shrinking rules to the difference.

Environment

  • Flow logs or packet-level telemetry from the network layer
  • An intended-traffic model (which tiers talk to which)
  • Change access to firewall and security group rules

Steps

1. Model intended flows

Document the intended communication matrix: which services, tiers, and ports should talk, derived from architecture rather than from current rules.

Expected state: An intended-flow matrix exists that architecture owners sign.

2. Capture actual flows

Collect a representative window of flow logs, joining source and destination to service identities rather than bare IPs.

Expected state: An observed-flow dataset exists with service-level identities.

3. Reconcile observed against intended

Diff the two sets: observed-but-unintended flows are either missing documentation or real problems; intended-but-unobserved rules are candidates for removal.

Expected state: The reconciliation names every discrepancy with both endpoints.

4. Tighten rules to the observed need

Rewrite firewall and security-group rules to cover intended flows plus documented exceptions, removing anything never observed in the window and the history window.

Expected state: Rule count drops, and every rule maps to a flow in the matrix or a registered exception.

5. Re-run the reconciliation after tightening

Capture a second window post-change to catch flows that only fire weekly or monthly, iterating until the diff is empty or fully dispositioned.

Expected state: A second reconciliation shows no new breakage and the remaining diff items all dispositioned.

Expected outcome

A network where every permitted flow is either intended and documented or a registered exception, with rule bloat removed and unintended paths closed.

Verification

The final reconciliation shows zero undispositioned flows; rule count dropped measurably; a deliberately blocked unintended path fails in testing.

Rules accrete; flows are the truth

Firewall and security-group rules accumulate from every incident hotfix and every long-gone integration, until the network permits far more than anyone intends. Reconciling intended flows against observed flows replaces archaeology with evidence.

intended matrix (signed by owners):
  web -> api:443        api -> db:5432
  api -> cache:6379     batch -> db:5432

observed (14d window, service identity):
  web -> api:443            OK
  api -> db:5432            OK
  api -> cache:6379         OK
  batch -> db:5432          OK
  api -> legacy-pay:8443    UNINTENDED (rule from 2023)
  admin-pod -> *:ANY        UNINTENDED (over-broad)

rules: 214 -> 96 (118 never observed, removed
  after 14d + 30d history check)
re-run window: 2 monthly flows restored (registered)

Never-observed rules are usually dead weight

A rule with no matching flow across representative windows (plus a monthly-job window) protects nothing and permits everything it describes. Removing it is the cheapest security improvement available — unless it is the break-glass path, which becomes a registered exception with a test.

The second window catches the slow fires

Monthly batch jobs and quarterly integrations do not appear in a two-week capture, so tightening based on one window breaks them. The reconciliation loop — tighten, observe again, disposition the new diff — converges on rules that are both minimal and complete.