Firewall Policy

Firewall Access Requests

Describe the access you need — source, destination, service — and Versus computes which firewalls sit in the path, designs the exact rule change, verifies it against policy, and (once approved) provisions and confirms it. No manual rule authoring.

Overview

Firewalls → Access Requests is Versus's automated access-provisioning pipeline. Rather than asking a network engineer to find the right firewall and hand-write a rule, a requester submits what they need in business terms, and Versus works out the rest: which firewalls enforce that traffic path, whether an existing rule already permits it, what a new rule would need to look like, whether it's safe to add, and — after approval — pushing and confirming it.

The list view shows every request with its current state, justification, source/destination/service summary, requester, business owner, linked change (CHG) reference, SLA due date, and last-updated time.

Firewall Access Requests list
Firewalls → Access Requests — every request with its state, justification, SRC/DST/SVC summary, and SLA due date

The Pipeline: Ingest → Design → Provision → Verify

Every request runs through the same automated pipeline, visible as tabs on the request detail page: Overview, Path, Design, Verification, Scanner Risk, Provisioning, and Timeline. The stages run in this order:

1Ingest — refresh the live rulebase

Before Versus can decide anything, it needs an up-to-date copy of each candidate firewall's rules. If a device's last-ingested rulebase snapshot is older than the configured freshness window (24 hours by default), Versus re-pulls it live from the device before proceeding. This check is fail-closed: if a live re-ingest also fails, the request cannot proceed and is blocked (see Blocked – Topology below) rather than designed against stale data.

2Path — find which firewalls are in scope

Versus resolves the set of firewalls (policy enforcement points, or PEPs) that should enforce this request. The Path tab lists each resolved firewall with its vendor, ingress zone, and egress zone. If path resolution fails — no active firewall devices found, or the device couldn't be reached to confirm its rulebase — the tab shows the failure reason and a Manual Firewall Override panel: tick the firewall(s) that should enforce the policy yourself, or click Retry auto-discovery to re-run path resolution.

Path tab showing a failed path computation with manual override
Path tab after an automatic path computation failure — the exact connection error, plus a manual firewall override and Retry auto-discovery
3Design — compute the exact rule change

For every firewall in the resolved path, Versus checks whether an existing enabled allow rule already covers the requested source, destination, and service. If one does, that firewall needs no change — the Design tab shows which existing rule already permits it. If nothing covers it, Versus builds a candidate new rule: it computes source/destination zones from the device's configuration, sets the action to allow, tags it versus-automated, and — importantly — sequences it just above the firewall's first deny/drop rule, so the new rule can never be silently shadowed by an existing broader deny.

If every firewall in the path already permits the flow, the whole request short-circuits to No Change Required — there is nothing to provision.

4Verification — simulate the change against policy

Before anything reaches a human for approval, each candidate rule is checked against five policy simulations on the Verification tab:

CheckWhat It CatchesCan Block?
Policy complianceBaseline check that the proposed action is allowNo
ConflictAn existing higher-priority deny/drop rule would shadow the new rule and block the intended trafficYes — Fail
ShadowingAn existing allow-any rule already makes this rule redundantWarn only
Overly permissiveSource or destination on the candidate rule is "any"Warn only
Risk scoreComposite 0–100 score from scope breadth (any-source, any-destination, any-service)Warn only if > 70

If any firewall's verification comes back with a hard conflict, the whole request moves to Verification Failed and stops — it will not reach approval until re-submitted or the conflicting rule is resolved. If a vulnerability scanner is connected, an additional Scanner Risk gate runs after verification passes — a failing risk assessment also routes the request to Verification Failed. Passing all checks (warnings are allowed) moves the request to Verified and it now sits, ready, awaiting approval.

Approval

A Verified request is approved either by a user clicking Approve in Versus, or automatically when a linked ServiceNow change ticket reports its approval event back to Versus. Only requests in the Verified state can be approved — approving is otherwise rejected.


Provisioning, Commit, and Realization

Once approved, the Provisioning tab tracks the push to real devices, one entry per firewall in the path:

  • Provisioning — the candidate rule is pushed to each device in turn. If any push fails partway through, Versus automatically rolls back every change it already made on the other devices in this request, rather than leaving a partial change in place.
  • Committing — on platforms that require an explicit commit (e.g. Panorama), the candidate config is committed.
  • Realizing — Versus re-checks the live device to confirm the new flow is actually permitted end to end — a synthetic realization check, not just "the API call returned success." A realization check that hasn't confirmed yet doesn't fail the request; it's noted so you know a commit may still be propagating.

A successful run ends in Completed. Any unrecoverable failure mid-provisioning ends in Rolled Back (partial changes undone) or, for a hard pipeline crash, Failed.

Request States

Every state visible in the UI, in the order a healthy request normally passes through them:

StateMeaning
SubmittedRequest created; pipeline is starting
Blocked – TopologyPath resolution or a required rulebase refresh failed — needs a manual firewall override or a retry
Path ResolvedThe firewalls in scope have been determined
DesignedA concrete rule change (or "already permitted") has been computed for every firewall in the path
No Change RequiredTerminal — every firewall in the path already permits the requested flow
Verification FailedA conflict check failed, or a connected vulnerability scanner’s risk gate failed
VerifiedAll firewalls passed verification — awaiting approval
ApprovedA human or ServiceNow approved the request; provisioning is about to start
RejectedTerminal — the request was explicitly rejected
ProvisioningRule changes are being pushed to devices
CompletedTerminal — provisioning, commit, and realization all finished successfully
Rolled BackTerminal — a mid-provisioning failure triggered an automatic rollback of already-applied changes
FailedTerminal — an unhandled pipeline error, distinct from a graceful rollback
A freshly submitted access request in the Submitted state
Overview tab of a request still in the Submitted state — sources, destinations, and services are populated but the pipeline hasn't resolved a path yet
CautionBlocked – Topology is the most common dead end in a sparse or newly-deployed environment: if Versus has no reachable active firewall devices, or a device's rulebase can't be freshly ingested (for example the management IP is unreachable), the request stops here until you either add/fix the device or use the Path tab's manual override to pick firewalls yourself.
Access request detail Overview tab in the Blocked – Topology state
A request in Blocked – Topology — Overview tab showing request details, sources, destinations, and services

Timeline

The Timeline tab is the full audit trail for the request — every pipeline transition (path_computed, blocked, and so on), who or what triggered it (a user, or system), and the structured detail recorded at that moment, newest first.

Timeline tab showing pipeline audit events
Timeline tab — path_computed and blocked events with their recorded detail and timestamps

Submitting a New Request

Click New Request from the list view to open the request form.

New Firewall Access Request form
The New Firewall Access Request form — justification, sources, destinations, services, ServiceNow linkage, SLA, and Demo Mode
  • Justification* — required free-text business reason for the request
  • Business Owner / Requested By — who owns and who is asking for this access
  • Sources* / Destinations* — one or more entries, each with a type (e.g. ip) and a value such as a CIDR or hostname; click + Add for additional entries
  • Services* — protocol (e.g. tcp) and port or port range
  • ServiceNow Instance / CHG Reference — link this request to an existing or new ServiceNow change record so approvals and work notes flow through SNOW
  • SLA Due Date — optional deadline shown on the list view
  • Demo Mode — runs the entire pipeline without making any real device API calls, useful for testing the flow end to end against non-production topology

Click Submit Request to create it in the Submitted state and kick off the pipeline.

NoteAccess Requests are for provisioning new access across one or more firewalls via the full ingest/path/design/verify/provision pipeline. To modify, enable/disable, or push an already-edited rule on a single device, use Change Requests instead — a lighter-weight, ServiceNow-gated workflow with no path computation or design step.