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

📘 Tuần 5 – Security Policy, NAT và App-ID

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

📘 Tuần 5 – Security Policy, NAT và App-ID


🗺️ Sơ đồ – Luồng traffic qua Security Policy + NAT

flowchart LR PC["💻 PC-Client VLAN10 10.10.10.100"] SRV["🖥️ Server VLAN20 10.10.20.100"] Internet(["🌐 Internet"]) subgraph PAN["🔥 Palo Alto – Security + NAT"] subgraph NAT_rules["📋 NAT Policy (Dịch IP)"] N1["NAT Rule 1 Trust→Untrust Source NAT 10.10.10.0/24 → IP WAN"] end subgraph SP["📜 Security Policy (Cho phép/Chặn)"] P1["Rule 1: Trust→Untrust ✅ Allow App: web-browsing, ssl Log: yes"] P2["Rule 2: Trust→Trust ✅ Allow VLAN10→VLAN20 App: web-browsing, ssh"] P_deny["Rule LAST: any→any ❌ Deny Log: yes"] end Note["⚠️ Thứ tự xử lý: 1. NAT lookup (dùng Pre-NAT IP) 2. Security Policy check 3. Apply NAT translation 4. Forward traffic"] end PC -->|"Pre-NAT 10.10.10.100"| P1 P1 -->|"Post-NAT IP WAN"| Internet PC --> P2 --> SRV N1 -.->|"Dịch IP"| P1

📚 Lý thuyết cơ bản

🔰 Security Policy là gì?

Security Policy = Quy tắc kiểm soát traffic (tương tự Firewall Policy của FortiGate).

Điểm KHÁC BIỆT lớn so với firewall truyền thống:

💡 Firewall cũ: "Cho phép port 80" → bất kỳ ứng dụng nào dùng port 80 đều qua. Palo Alto dùng App-ID: "Cho phép facebook-base" → chỉ Facebook đi qua, dù nó dùng port 443 giống hàng ngàn app khác.

🔰 App-ID là gì? (Tính năng độc đáo nhất của Palo Alto)

App-ID = Hệ thống nhận dạng ứng dụng thông minh.

💡 Giống như chuyên gia nhận diện người qua khuôn mặt thay vì chỉ xem quần áo: - Firewall cũ: Nhìn "quần áo" (port 80/443) → không phân biệt được Facebook, YouTube, malware dùng cùng port. - App-ID: Nhìn "khuôn mặt" (pattern của ứng dụng) → biết chính xác là Facebook, YouTube, hay BitTorrent.

Một số App-ID phổ biến:

App-IDỨng dụngPort thực tế
web-browsingHTTP thông thường80
sslHTTPS443
facebook-baseFacebook443
youtubeYouTube443
bittorrentBitTorrentNhiều port
sshSSH22
ms-rdpRemote Desktop3389

🔰 Thứ tự xử lý NAT trong Palo Alto (QUAN TRỌNG!)

⚠️ Khác với FortiGate: Palo Alto xử lý NAT TRƯỚC khi kiểm tra Security Policy, nhưng Security Policy dùng địa chỉ Pre-NAT (địa chỉ gốc, chưa dịch).

Gói tin vào → Xác định Zone → NAT lookup → Security Policy check (dùng Pre-NAT IP, Post-NAT Zone) → Apply NAT → Forward

🛠️ Thực hành

Tạo Address Objects (Địa chỉ đối tượng)

textadmin@PA-LAB-01> configure

# Tạo address object cho VLAN10
admin@PA-LAB-01# set address VLAN10-CLIENT ip-netmask 10.10.10.0/24

# Tạo address object cho VLAN20
admin@PA-LAB-01# set address VLAN20-SERVER ip-netmask 10.10.20.0/24

Tạo NAT Policy (Source NAT)

text# NAT rule cho VLAN10 ra Internet
admin@PA-LAB-01# set rulebase nat rules "Trust-to-Internet-NAT" from Trust
admin@PA-LAB-01# set rulebase nat rules "Trust-to-Internet-NAT" to Untrust
admin@PA-LAB-01# set rulebase nat rules "Trust-to-Internet-NAT" source VLAN10-CLIENT
admin@PA-LAB-01# set rulebase nat rules "Trust-to-Internet-NAT" destination any
admin@PA-LAB-01# set rulebase nat rules "Trust-to-Internet-NAT" service any
admin@PA-LAB-01# set rulebase nat rules "Trust-to-Internet-NAT" nat-type ipv4
admin@PA-LAB-01# set rulebase nat rules "Trust-to-Internet-NAT" source-translation dynamic-ip-and-port interface-address interface ethernet1/1

Tạo Security Policy

text# Rule 1: Client ra Internet (dùng App-ID)
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" from Trust
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" to Untrust
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" source any
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" destination any
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" application web-browsing ssl
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" service application-default
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" action allow
admin@PA-LAB-01# set rulebase security rules "Allow-Trust-to-Internet" log-setting default

# Rule 2: Client đến Server
admin@PA-LAB-01# set rulebase security rules "Allow-VLAN10-to-VLAN20" from Trust
admin@PA-LAB-01# set rulebase security rules "Allow-VLAN10-to-VLAN20" to Trust
admin@PA-LAB-01# set rulebase security rules "Allow-VLAN10-to-VLAN20" source VLAN10-CLIENT
admin@PA-LAB-01# set rulebase security rules "Allow-VLAN10-to-VLAN20" destination VLAN20-SERVER
admin@PA-LAB-01# set rulebase security rules "Allow-VLAN10-to-VLAN20" application web-browsing ssl ssh
admin@PA-LAB-01# set rulebase security rules "Allow-VLAN10-to-VLAN20" action allow

admin@PA-LAB-01# commit

Kiểm tra Policy và NAT

text# Xem security policy
admin@PA-LAB-01> show running security-policy

# Xem NAT policy
admin@PA-LAB-01> show running nat-policy

# Test policy lookup
admin@PA-LAB-01> test security-policy-match from Trust to Untrust source 10.10.10.100 destination 8.8.8.8 protocol 6 destination-port 443 application ssl

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

  • ✅ Dùng App-ID thay vì chỉ dùng port → kiểm soát ứng dụng chính xác hơn.
  • Không dùng any cho application nếu không cần thiết.
  • ✅ Luôn có rule Deny-All ở cuối danh sách policy.
  • ✅ Bật Log at session end cho tất cả rule quan trọng.

📖 Case thực tế

User phàn nàn "không vào được YouTube". Admin kiểm tra: - Security Policy cho phép ssl → HTTPS đi qua. - Nhưng App-ID youtube bị chặn bởi một rule riêng phía trên. Palo Alto nhận dạng YouTube dù nó chạy trên cổng 443 giống web thông thường! 👉 App-ID giúp kiểm soát ứng dụng chính xác, không phụ thuộc port.


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