Template variable used with no declaration
At a glance
Base severity
Area
Platform
Evidence level
Benchmark reference
Reads the export, not the device
ConfigProof reads a configuration export. This control is evaluated against the objects in that file, and it reports what the file says. It does not connect to the device and sees no traffic, so a finding here describes the configuration, not what the firewall is doing right now.
Why it matters
A variable with no declaration has no value to substitute, so the setting that uses it is not the setting that reaches the device. In a stack that serves several devices, the gap appears on all of them at once.
How to fix it
Web interface
The steps below are written for the web interface. A finding raised on your own export carries the same steps with your object names filled in.
- Declare the variable on the template, or on each stack that includes it.
- Where the variable is per device, declare it on the stack so each device can carry its own value.
- Commit and confirm the push validates before applying it to the estate.
Command line
Panorama CLI
set template-stack <template-stack> variable <variable-name> type ip-netmask <variable-value>An example. Values in angle brackets are yours to supply; a finding on your own export fills in the names it read. Nothing here commits or pushes. Review, commit, then push to your devices yourself.
Read it back
show template-stack <template-stack> variableValues to fill in3
- <template-stack>
- The template stack
- <variable-name>
- The variable's name
- <variable-value>
- The value this variable should hold
Before you type it1
- The managed devices keep running their current policy until you push.
How to confirm the fix
- Confirm the variable is not supplied by a stack defined outside this file.
- Read the affected setting back from one device the template serves.
Limits
- A variable is treated as used when its name appears anywhere in the configuration. That is deliberately generous, so a name reported as undeclared really has no declaration.
Compliance references
No benchmark recommendation is mapped to this control in this version.
More in Panorama Advanced
- PAN-MGT-007Object redefined in a device group that inherits one with the same name
- PAN-MGT-008Templates in one stack set the same value differently
- PAN-MGT-009Template stack member whose settings are all supplied above it
- PAN-MGT-010Template stack names a template that does not exist
- PAN-MGT-012Template variable declared and never used
- PAN-MGT-013Device group with no managed devices assigned
- PAN-MGT-014Managed device in a device group but in no template stack
- PAN-MGT-015Rule names a zone the template stack of its firewalls does not define
See it on your own firewall
One complete analysis of one firewall costs nothing. A card is required and nothing is charged.