This is one exact toy policy decision, not a production firewall.

highlighted = computed this step

What this decision shows

This toy example checks one tuple against one ordered firewall rule table.

rule rows=3\text{rule rows}=3
Firewall honesty boundaryThe ordered firewall table is recomputed from the pinned tuple and pinned rules.First matching firewall rule - 192.168.1.10:40000 -> 203.0.113.5:443, winner allow-web allowruleprotosourcedestinationdportactionmatchwinnerdecisiondeny-sshTCP0.0.0.0/00.0.0.0/022denynonoskipallow-webTCP192.168.1.0/24203.0.113.5/32443allowyesyesallowdefault-denyany0.0.0.0/00.0.0.0/0anydenyyesnonot reached

Checked values

The trust boundary recomputes the tuple fields, every row match, the skipped first row, and winner row 2.

winner row=2\text{winner row}=2
Firewall honesty boundaryThe ordered firewall table is recomputed from the pinned tuple and pinned rules.First matching firewall rule - 192.168.1.10:40000 -> 203.0.113.5:443, winner allow-web allowruleprotosourcedestinationdportactionmatchwinnerdecisiondeny-sshTCP0.0.0.0/00.0.0.0/022denynonoskipallow-webTCP192.168.1.0/24203.0.113.5/32443allowyesyesallowdefault-denyany0.0.0.0/00.0.0.0/0anydenyyesnonot reached

What this does not model

NOTE: toy ordered firewall rule example only; not connection tracking, NAT state, zones, interface direction, ephemeral port policy, stateful inspection, rule shadowing analysis, ACL hardware behavior, or production firewall configuration.

tuple bytes=13\text{tuple bytes}=13
Firewall honesty boundaryThe ordered firewall table is recomputed from the pinned tuple and pinned rules.First matching firewall rule - 192.168.1.10:40000 -> 203.0.113.5:443, winner allow-web allowruleprotosourcedestinationdportactionmatchwinnerdecisiondeny-sshTCP0.0.0.0/00.0.0.0/022denynonoskipallow-webTCP192.168.1.0/24203.0.113.5/32443allowyesyesallowdefault-denyany0.0.0.0/00.0.0.0/0anydenyyesnonot reached

Summary

Decode the tuple, test rows in order, and keep the first matching action.

winner row=2\text{winner row}=2
Firewall honesty boundaryThe ordered firewall table is recomputed from the pinned tuple and pinned rules.First matching firewall rule - 192.168.1.10:40000 -> 203.0.113.5:443, winner allow-web allowruleprotosourcedestinationdportactionmatchwinnerdecisiondeny-sshTCP0.0.0.0/00.0.0.0/022denynonoskipallow-webTCP192.168.1.0/24203.0.113.5/32443allowyesyesallowdefault-denyany0.0.0.0/00.0.0.0/0anydenyyesnonot reached