hoatranlab.io.vn Zalo: 0917516878 Hotline: 0917516878 [email protected] LinkedIn
HoaTranLab Logo HoaTranLab
Trang chủ / Security / PAN-OS Lab 12 Tuần / Tuần 11
PAN-OS Administration Lab · Tuần 11/12

📘 Tuần 11 – Panorama, Backup và Tự động hóa

Trần Văn Hòa 2026 ~15 phút đọc Palo Alto · PAN-OS · PnetLab

📘 Tuần 11 – Panorama, Backup và Tự động hóa


🗺️ Sơ đồ – Panorama Quản lý tập trung

flowchart TD subgraph Panorama_box["🗼 Panorama (Quản lý tập trung) 10.10.20.200"] PM_Mgmt["📊 Management - Dashboard tổng hợp - Policy tập trung - Log aggregation"] PM_DC["📋 Device Groups - DG-Branch (chi nhánh) - DG-DataCenter (DC) - DG-DMZ"] PM_Template["📄 Templates - Cấu hình chung - NTP, DNS, Syslog - Interface template"] end subgraph Firewalls["🔥 Fleet Palo Alto Firewalls"] PA1["PA-HCM-01 (HCMC Branch)"] PA2["PA-HN-01 (Hanoi Branch)"] PA3["PA-DC-01 (Data Center)"] PA4["PA-LAB-01 (Lab)"] end subgraph Backup_box["💾 Backup & Restore"] Local_backup["Local Config Backup Device → Operations → Export"] Schedule_backup["Scheduled Backup Panorama → auto daily"] TFTP_backup["TFTP Backup Script tự động"] end Panorama_box -->|"Push Policy Push Template"| PA1 Panorama_box -->|"Push Policy"| PA2 Panorama_box -->|"Push Policy"| PA3 PA1 & PA2 & PA3 & PA4 -->|"Send Logs"| Panorama_box PA4 --> Backup_box style Panorama_box fill:#e8eaf6,stroke:#3949ab style Firewalls fill:#fff3e0,stroke:#f57c00 style Backup_box fill:#e8f5e9,stroke:#388e3c

📚 Lý thuyết cơ bản

🔰 Panorama là gì?

Panorama = Hệ thống quản lý tập trung nhiều Palo Alto Firewall.

💡 Giống như: Thay vì vào từng cửa hàng (firewall) để kiểm tra, bạn ngồi tại trụ sở (Panorama) và quản lý tất cả. - Push policy đến 100 firewall cùng lúc → chỉ cần cấu hình 1 lần. - Xem log tổng hợp từ tất cả firewall → 1 dashboard duy nhất. - Backup cấu hình tự động theo lịch.

🔰 Khái niệm quan trọng trong Panorama

Khái niệmGiải thích
Device GroupNhóm firewall có chung policy (vd: tất cả chi nhánh)
TemplateCấu hình hệ thống chung (NTP, DNS, Syslog, Interface)
Template StackNhiều Template xếp chồng, áp dụng theo thứ tự ưu tiên
Shared PolicyPolicy áp dụng cho tất cả Device Group
Log CollectorThu thập và lưu trữ log từ các firewall

🔰 Backup trong PAN-OS

3 cấp độ backup:

  1. Running Config: Cấu hình đang chạy hiện tại.
  2. Candidate Config: Bản nháp chưa commit.
  3. Named Snapshots: Bản backup được đặt tên, lưu trên thiết bị.

⚠️ Quy tắc vàng: Luôn backup TRƯỚC khi thay đổi bất kỳ cấu hình nào trong production!


🛠️ Thực hành

Backup cấu hình thủ công

text# Qua GUI: Device → Operations → Export Named Configuration Snapshot
# Qua CLI:
admin@PA-LAB-01> save named-configuration to "backup-before-change-$(date)"

# Export ra file TFTP
admin@PA-LAB-01> tftp export configuration from running-config.xml to 192.168.1.100

# Xem các bản backup đang lưu trên thiết bị
admin@PA-LAB-01> show config saved

Restore cấu hình

text# Restore từ bản backup trên thiết bị
admin@PA-LAB-01> load named-configuration from "backup-before-change"
admin@PA-LAB-01> validate full
admin@PA-LAB-01# commit

# Restore từ TFTP
admin@PA-LAB-01> tftp import configuration from 192.168.1.100/running-config.xml

Script tự động backup (chạy từ Linux server)

bash#!/bin/bash
# Auto backup Palo Alto config via API

PA_IP="192.168.1.1"
API_KEY="LUTRJ571i12Z5..."  # Lấy từ: https://PA_IP/api/?type=keygen&user=admin&password=PASSWORD
DATE=$(date +%Y%m%d_%H%M)
BACKUP_DIR="/backup/paloalto"

mkdir -p $BACKUP_DIR

# Download running config qua API
curl -k -X GET   "https://$PA_IP/api/?type=export&category=configuration"   -H "X-PAN-KEY: $API_KEY"   -o "$BACKUP_DIR/PA-LAB-01_$DATE.xml"

echo "Backup saved: $BACKUP_DIR/PA-LAB-01_$DATE.xml"

# Giữ 30 bản backup gần nhất
ls -t $BACKUP_DIR/*.xml | tail -n +31 | xargs rm -f

Lấy API Key từ Palo Alto

text# Qua browser hoặc curl:
curl -k "https://192.168.1.1/api/?type=keygen&user=admin&password=MatKhau123!"

# Response:
# <response status='success'>
#   <result>
#     <key>LUTRJ571i12Z5...</key>
#   </result>
# </response>

Automation với PAN-OS API (ví dụ)

python# Python script - Tạo address object qua API
import requests
import urllib3
urllib3.disable_warnings()

PA_IP = "192.168.1.1"
API_KEY = "LUTRJ571i12Z5..."

# Thêm address object mới
url = f"https://{PA_IP}/api/"
params = {
    "type": "config",
    "action": "set",
    "key": API_KEY,
    "xpath": "/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/address",
    "element": "<entry name='New-Server'><ip-netmask>10.10.30.100/32</ip-netmask></entry>"
}

response = requests.get(url, params=params, verify=False)
print(response.text)

# Commit thay đổi
params_commit = {
    "type": "commit",
    "cmd": "<commit></commit>",
    "key": API_KEY
}
response = requests.get(url, params=params_commit, verify=False)
print(response.text)

Cấu hình kết nối Panorama (từ Firewall)

textadmin@PA-LAB-01> configure
admin@PA-LAB-01# set deviceconfig system panorama-server 10.10.20.200
admin@PA-LAB-01# commit

🔒 Bảo mật cần nhớ

  • Mã hóa file backup nếu lưu trên file server (chứa toàn bộ cấu hình nhạy cảm!).
  • ✅ Lưu backup ở ít nhất 2 nơi khác nhau (local + remote server).
  • Test restore định kỳ – backup không restore được = không có backup.
  • ✅ API Key có quyền lớn – bảo vệ như mật khẩu admin.

📖 Case thực tế

Kỹ thuật viên cập nhật Security Policy sai, chặn luôn traffic của hệ thống ERP. Nhờ có backup: 1. Restore bản backup 30 phút trước → hệ thống hoạt động lại trong 5 phút. 2. Không có backup → phải ngồi rebuild toàn bộ policy từ đầu (mất vài tiếng). 👉 Backup + Restore test = Bảo hiểm cho hệ thống production.


📅 Tuần 11/12 – PAN-OS Administration Lab trên PnetLab