Why Panorama exists — the 30-firewall problem
One firewall? CLI is fine. Five? You can still SSH them in parallel. Thirty firewalls across six branches with three admins making changes? You need a control plane that pushes one security policy to many devices, lets each device keep local overrides where required, and shows you a unified log view across all of it. That's Panorama.
Panorama splits config into two orthogonal trees. Templates hold per-device settings — interfaces, zones, virtual routers, NTP, DNS, syslog destinations. Device Groups hold security objects — addresses, services, security rules, NAT rules, decryption profiles. Each managed firewall lives in exactly one template stack and exactly one device group leaf. Mix and match the two trees to get the right config on each firewall.
Per-device settings: interfaces, zones, VRs, NTP, DNS, GP cert, syslog dest. Mix multiple templates into a stack to compose the final config.
Ordered list of templates (up to 8). Top template wins on duplicates. PAN-OS 9+ requires firewalls to be assigned to a stack, never a raw template.
Security objects + rules. Hierarchical (Shared → parent → child). Child inherits from parent unless overridden. One firewall = one leaf device group.
Dedicated log-receiver. M-600 hardware OR Panorama-VM in collector mode. Min 3 per group for quorum, <10ms latency between collectors.
① Templates & Template Stacks — top of stack wins
Priya at HCL has 12 branch firewalls. They share NTP, DNS, syslog (global settings) but each has a unique management IP, hostname, and BGP local-AS. She builds:
- Template
global-base— NTP, DNS, syslog, login banner, admin role profiles. - Template
branch-india— timezone IST, India-specific syslog server. - Template
fw-mumbai-01— interface IPs and BGP AS specific to that one firewall.
Stack order: fw-mumbai-01 → branch-india → global-base. Top of stack wins. So when she changes the NTP server in global-base, all 12 firewalls inherit. But fw-mumbai-01's unique BGP AS overrides anything below.
▶ Watch a setting flow through the template stack
Click Play. See how PAN-OS resolves "what NTP server does fw-mumbai-01 actually use?"
fw-mumbai-01 template — only sets ethernet1/1 IP + BGP AS. No NTP setting. Continue.
branch-india template — defines timezone. No NTP setting. Continue.
global-base template — NTP = time.cloudflare.com. First match wins.
branch-india to a local server, branch-india wins (it's above global-base). global-base value is ignored for this stack.
1. Keep a global-base template that all firewalls inherit (logging, NTP, DNS, admin roles). 2. Add a per-region template (timezone, region-specific log servers). 3. Use template variables for firewall-unique values (BGP AS, mgmt IP, GP gateway public IP) — one template, many firewalls, each gets its own variable substitution. Variables are the single biggest lever for keeping the template count low.
Sneha at Infosys has a template stack ordered top-to-bottom: region-apac → global-base. Both templates define idle-timeout = 30 min in global-base and idle-timeout = 10 min in region-apac. Which value does the managed firewall actually use?
② Device Groups — pre-rules, local, post-rules
Device-group hierarchy mirrors org structure. Common Indian-IT pattern: Shared → corp → corp/india → corp/india/branches → fw-mumbai-01. Security rules can live at every level. When the firewall evaluates a packet, it walks the rules in this order:
- Shared pre-rules — enforced enterprise-wide bans (block known-bad TI feeds).
- Device-group pre-rules (root → leaf) — region/branch-level enforced rules.
- Local rules — rules defined on the firewall itself (rare in Panorama deployments).
- Device-group post-rules (leaf → root) — cleanup / fallback rules.
- Shared post-rules — last-stop catch-alls (log all → deny).
Pre-rules are evaluated FIRST. Use them for things admins must never bypass — Threat Intelligence blocks, executive-VIP-only carve-outs, breakglass deny rules. Post-rules are evaluated LAST. Use them for logging cleanup, "deny all and log" rules at the tail of the policy.
Top of policy. Inheritance Shared → root → leaf DG. Use for non-negotiable blocks (TI feeds, sanctioned-country deny).
Device-local, defined directly on the firewall. Rare in Panorama deployments — most shops keep all rules central for audit.
Bottom of policy. Leaf → root order. Use for cleanup ("deny-all-log"), default-allow templates, and audit-trail catch-alls.
Child device-group inherits rules + objects from parent automatically. Override at child level only when you must — keep the tree shallow.
When a packet hits a Panorama-managed firewall, the actual rulebase on the device is: Shared pre → DG-root pre → DG-leaf pre → Local → DG-leaf post → DG-root post → Shared post → interzone-default. Local admins see only their level. If a packet is allowed and you don't know why, the rule might be a Shared pre-rule defined three levels up — invisible from the device GUI. Always log into Panorama for the truth, not the firewall.
Rahul at TCS wants ALL firewalls in the enterprise to drop traffic to known-bad threat-intel feed IPs, with no local admin able to override. Where should the rule live?
③ Commit & Push — the "out of sync" puzzle
Karthik at Flipkart edits a Panorama device-group, hits Commit to Panorama. It succeeds. He sees a yellow badge on the device summary: Out of sync. Doesn't every commit propagate automatically?
No — Panorama uses a two-step commit model. Commit to Panorama saves the change to Panorama's own running config but doesn't ship it to the devices. Push to Devices ships the device-group / template-stack config to managed firewalls. If you only commit, devices stay out of sync. If you only push without committing, you push the old running config.
▶ The commit-and-push flow — and why one device fails
Same Symptom → Counter → CLI → Fix pattern as Blog 18.
corp/india/branches.
commit successful, in sync. 2 devices: commit failed — invalid reference.
show jobs id <N> on the failed devices → the address object 'finance-saas-edges' references an address-group not yet pushed because of a parallel scope-mismatch.
For mature deployments, prefer Push Selective — push only your administrator scope (your changes), not the entire device-group config. Cuts blast radius. If three admins are working concurrently, your push won't drag in someone else's half-committed change. Available since PAN-OS 8.x, criminally underused.
Aditya at Wipro pushes a Panorama config to 25 firewalls. 23 succeed, 2 fail with "address object 'web-tier' references missing address-group". The address-group exists in Panorama. What's the most likely cause?
④ Log Collectors — the 489-byte math
By default a managed firewall ships logs back to Panorama for indexing. At small scale (≤10 firewalls, ≤500 logs/sec) Panorama itself can absorb the flow. At enterprise scale, you off-load logging to dedicated Log Collectors (M-600 hardware or Panorama-VM in collector mode).
The arithmetic everyone needs to memorise: average PAN-OS log = 489 bytes. Multiply by your logs-per-second × seconds-in-day × retention-days × safety-factor → storage in GB.
logs/day = 1,500 × 86,400 = 129,600,000 bytes/day = 129,600,000 × 489 B = 63,374,400,000 B (~59 GB/day) 30-day total = ~59 GB × 30 = ~1.77 TB + safety 25% = 1.77 × 1.25 = ~2.2 TB
Three Log Collectors per group is the magic number — Palo Alto requires three for quorum, and inter-collector latency must stay under 10 ms. Two collectors leaves you without quorum during one collector's outage; one collector means logging dies if it dies. Hardware-wise, the M-600 takes the bulk of large deployments; Panorama-VM works for small-to-mid sites if you give it ≥16 vCPU + 64 GB RAM + high-IOPS disk.
Priya designs Panorama for an enterprise with 1,800 LPS across the fleet and 45 days log retention. Which Log Collector design is correct?
🤖 Ask the AI Tutor
Tap any question — instant context-aware answer. No login, no waiting.
Pre-curated answers from PAN-OS docs + Live Community. For complex prod issues, paste your Panorama device-summary screenshot into chat.techclick.in.
📝 Wrap-up — six more
You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete.
📚 Sources
- Palo Alto Docs — Templates and Template Stacks (Panorama 11.1). docs.paloaltonetworks.com
- Palo Alto Best Practices — Manage Your Device Group Configurations on Panorama (10.1). docs.paloaltonetworks.com
- Palo Alto Docs — Push Selective Configuration Changes to Managed Devices (Panorama 11.0).
- Palo Alto LIVECommunity — Best Practices for Configuration Management Performance on Panorama (article 1223863) & Reason for out-of-sync message in Panorama (thread 328292).
- Palo Alto Docs — Determine Panorama Log Storage Requirements & Panorama Sizing and Design Guide.
- Palo Alto LIVECommunity — Best Practices with Log Collection Design in Panorama (article 1228363).
- Palo Alto Docs — Role-Based Access Control / Administrative Roles (Panorama 10.1 - 11.0).
What's next?
Panorama gives you the control plane. Next we tackle PAN-OS upgrades and content updates — the operation most likely to break production if you skip steps.