{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

{{ badge.label }} {{ badge.value }}

{{ summaryAnnouncement }}

Firewall rule matrix controls
Headers and quoted cells are supported. Raw policy text stays in this browser and out of the page URL.
{{ sourceMeta }}
{{ sourceHint }}

{{ parseMessages[0] }}

Choose the review surface closest to the eventual policy handoff.
The platform model changes every handoff row and platform-specific finding.
Expanded mode treats opaque object names as incomplete review evidence.
Pick the team expected to resolve findings or translate the matrix.
Balanced is the neutral general-review posture.
Unmatched traffic is still assumed denied by the eventual policy.
Session-end logging is the neutral handoff default.
Use 1-16 letters, numbers, dashes, or underscores; unsupported characters normalize to underscores.
The default keeps the submitted row order unchanged.
Blank is neutral and keeps missing owners visibly unassigned.
Thirty days is the neutral near-expiry review window.
days
Defaults to today; changing it evaluates the same rows as of another review date.
{{ exportAnnouncement }}
{{ header }}Copy
{{ cell }}
{{ exportAnnouncement }}
{{ header }}Copy
{{ cell }}
{{ exportAnnouncement }}
{{ header }}Copy
{{ cell }}
{{ exportAnnouncement }}
{{ header }}Copy
{{ cell }}
{{ exportAnnouncement }}
{{ exportAnnouncement }}
{{ markdownText }}

A firewall request is easiest to review when it describes a permitted or denied flow rather than a vendor command. The essential statement identifies where traffic starts, where it goes, which protocol or service it uses, and what action should apply. Ownership, justification, approval, logging, and expiry turn that technical tuple into a governable policy decision.

Broad entries save time during drafting but create uncertainty during enforcement. “Any source” can expose a service far beyond its intended clients. “Any service” hides the actual protocol and port boundary. Named objects can look narrow while concealing large or stale member lists. A useful rule matrix keeps those ambiguities visible before the policy is translated into a firewall, cloud control, or host rule.

Parts of a reviewable firewall flow
Part Question it answers Why it can still be incomplete
Source and destinationWhich hosts, networks, zones, or groups communicate?A name may hide membership, and a CIDR may cover more addresses than intended.
Protocol, port, or applicationWhich traffic is permitted, denied, or observed?A service name needs translation, while an application may use dynamic or multiple ports.
Action and loggingWhat happens on a match, and what evidence is recorded?Platform defaults, state tracking, and log volume can change the operational result.
Owner, reason, ticket, and expiryWho approved the access and when should it be revisited?Filled text does not prove that approval is current or that the owner still exists.

Translation is platform-specific. An AWS security group expresses allows and relies on the absence of an allow for denial, while an Azure network security group has ordered priorities and explicit allow or deny actions. Zone firewalls, access lists, host firewalls, and application-aware policies each add their own ordering, direction, object, state, and inspection semantics.

A matrix is therefore a review and handoff artifact, not a deployed policy. It cannot see routing, network address translation, inherited rules, live object membership, application identity, or the effective order already installed on a device. Those checks remain necessary even when every row looks narrow and the review score is clear.

How to Use This Tool:

Describe the intended flows first, then select the review assumptions that match the eventual policy owner and platform.

  1. Paste CSV Flow rows with a header and quoted cells where needed, or load a small CSV or TXT file. Start from the sample when you need the canonical column order.
  2. Choose the Matrix lens, Target platform, Object treatment, review audience, and enforcement posture. These settings change findings and handoff guidance; they do not generate deployable vendor syntax.
  3. Set defaults for blank action and logging fields. Open Advanced to choose display order, a rule ID prefix, a fallback owner, the expiry window, and an explicit reference date.
  4. Read the first parse warning if one appears. Correct invalid CIDR or date text and expand opaque objects when the chosen review mode requires literal membership.
  5. Work through the Rule audit queue from Critical to Clear, then compare each row with the Platform handoff.
  6. Verify order, objects, routes, NAT, management access, and rollback details in the real target before implementation.

Interpreting Results:

The percentage shown for a row is a review priority from a repository-authored heuristic. Findings do not add together; the row keeps the highest score that fired. A value of 70 can therefore mean one broad sensitive-service finding, not that 70% of a formal security standard has failed.

Firewall review score bands
Derived band Score rule Meaning
Critical85 to 100Stop and narrow or redesign the row before handoff.
High60 to 84Resolve a broad, conflicting, expired, or platform-incompatible condition.
Medium35 to 59Add missing context or correct a consequential review gap.
Low1 to 34Record and clean up a smaller governance or specificity issue.
Clear0No built-in finding fired for the supplied row and selected assumptions.

A finding explicitly named High or Critical keeps that severity even when its numeric score falls below the ordinary band boundary. For example, high-visibility logging can create a High finding scored at 58. This preserves the rule's stated severity instead of silently downgrading it through the numeric bands.

Clear is not an approval and does not prove reachability, isolation, or correct enforcement. Compare the normalized row with the request, expand object membership, and test the effective policy path. For a remote firewall change, preserve and verify the management path before applying or removing rules.

Technical Details:

The review model parses up to 600 non-comment flow rows from at most 512 KiB of text. A header is recognized when at least two cells match known firewall-field aliases. Without a header, rows follow one of two fixed positional layouts. Quoted CSV cells and doubled quote characters are supported.

The canonical flow covers source zone, source name and CIDR, destination zone, destination name and CIDR, protocol, ports, action, application, reason, owner, ticket, expiry, and logging. Missing zones become Unspecified. Blank action and logging values use the selected defaults; explicit row values always take precedence.

Rule Core:

Address, service, governance, duplication, ordering, and platform checks are evaluated independently. Each finding carries a fixed severity and score, and the row risk is the maximum score rather than a sum.

Core firewall review findings and scores
Condition Finding severity Score
Allow from any source to any destination for any serviceCritical96
Allow any source to a bounded destination for any serviceHigh74
Any-service allow with a bounded sourceHigh64
Any source or IPv4 prefix of /8 or shorter on an allowHigh62
Other broad source on an allow: IPv4 /16 or shorter, or IPv6 /48 or shorterMedium38
Any destination on an allowHigh58
Sensitive service from an any or broad sourceHigh70
Port rangeLow18
Port outside 1 to 65535 or reversed rangeMedium36
Missing reasonMedium32
Missing ownerLow18
Missing ticketLow16
Logging off or unspecified on an allowMedium, or High under high-visibility posture34 or 58
Logging off or unspecified on a non-allow rowLow18
High-visibility posture without start-and-end loggingLow20
Temporary-exception allow without expiryMedium40
Strict-enforcement posture with a log-only rowMedium36
Expired review dateHigh66
Review date from 0 days through the selected warning windowMedium38
Invalid review dateLow14
Duplicate tuple with conflicting actionsHigh68
Duplicate tuple with the same actionMedium34
Possible shadow by an earlier any-source or any-destination row with the same protocol and portsMedium42

The duplicate tuple consists of normalized source, destination, protocol, ports, and application. Zones, action, reason, owner, ticket, expiry, and logging do not distinguish duplicate tuples. The shadow check is intentionally narrow: it detects an earlier row using any source or any destination under the same protocol-port conditions, not full CIDR containment or vendor-specific policy evaluation.

Sensitive-port review covers FTP data and control, SSH, Telnet, SMTP, DNS, RPC, NetBIOS, IMAP, LDAP, SMB, MSSQL, Oracle, NFS, MySQL, RDP, PostgreSQL, VNC, WinRM, Redis, Elasticsearch, Memcached, and MongoDB on ports 20, 21, 22, 23, 25, 53, 135, 139, 143, 389, 445, 1433, 1521, 2049, 3306, 3389, 5432, 5900, 5985, 5986, 6379, 9200, 9300, 11211, and 27017. A named service is mapped to its listed port before the broad-source check.

Platform Rules:

Platform and object-treatment findings in the firewall review model
Selected context Additional finding Severity and score
AWS security groupExplicit deny row; public ingress to any or sensitive serviceHigh 62; High 72
Cloud-security-group lens on another platformExplicit deny rowMedium 40
Azure NSGSource or destination zone missingMedium 38
Google Cloud VPC firewallAny-source allow to any or sensitive serviceHigh 68
Cisco ASAAny-service allowHigh 64
FortiGateAllow without loggingMedium 36
Palo AltoAllow without an application nameMedium 36
Linux or Windows host firewallAllow with any destinationMedium 42
Expanded members requiredOpaque source or destination objectHigh 60
Inline values onlyOpaque address object or application label remainsLow 18
Monitor before enforceAn allow row has already reached risk 60 or higherMedium 36

Address text such as blank, any, all, *, 0.0.0.0/0, or ::/0 is normalized to any. Valid IPv4 and IPv6 prefixes are retained. Text that resembles an address but fails validation is kept as an opaque named object and produces a parse warning instead of being discarded.

Display ordering does not change the original normalized CSV. Input order preserves source parity, risk-first sorts by descending score, and specific-first favors longer address prefixes plus bounded ports and named zones. Generated rule IDs reflect the selected display order, so choose the order before handing the matrix to another reviewer.

Responsible Use and Privacy:

The matrix is a deterministic review aid, not a firewall compiler, vulnerability scanner, or authorization decision. Its scores are locally authored priorities and must not be presented as NIST, vendor, regulatory, or compliance ratings.

  • Raw policy text is processed in the browser and is not placed in the page URL.
  • Opaque object names are not expanded automatically. Verify their live members and ownership.
  • Platform handoff text does not model every default rule, inherited policy, NAT stage, route, identity control, or stateful return path.
  • Validate proposed changes in the target platform and preserve a tested management and rollback path before enforcement.

Worked Examples:

Unrestricted allow request

An allow row with any source, any destination, and any service receives the built-in Critical finding at 96. The useful next step is not to polish the row's ticket text; it is to replace the three unbounded fields with the smallest approved sources, destinations, and services.

Scoped application flow

A Palo Alto row from one /32 application host to one /32 database host over TCP 443 can remain Clear when the application, reason, owner, ticket, expiry, and logging are all supplied. Clear still requires checking policy order, App-ID behavior, NAT zones, routing, and the live device configuration.

References: