📘 Tuần 5 – Security Policy, NAT và App-ID
📘 Tuần 5 – Security Policy, NAT và App-ID
🗺️ Sơ đồ – Luồng traffic qua Security Policy + NAT
📚 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ụng | Port thực tế |
|---|---|---|
web-browsing | HTTP thông thường | 80 |
ssl | HTTPS | 443 |
facebook-base | 443 | |
youtube | YouTube | 443 |
bittorrent | BitTorrent | Nhiều port |
ssh | SSH | 22 |
ms-rdp | Remote Desktop | 3389 |
🔰 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
anycho 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