Firewall Palo Alto กับ Cisco FTD และ FortiGate ต่างกันอย่างไร
เทียบ PAN-OS, Cisco FTD และ FortiGate ใน 5 เรื่อง คือ Zone ลำดับการตรวจ Policy NAT การระบุแอปพลิเคชัน และ HA พร้อม Huawei USG โดยสังเขป
ปานกลาง5 นาทีในการอ่าน
● PAN-OS ● FTD ● FortiGate
──────────════─────────────────────════─────────────────────══
▸ POLICY ON zone security zone interface
RULE ORDER top-down rule number By Sequence
NAT pre-NAT IP NAT sections central SNAT
APP ID App-ID app detectors app sensor
HA A/P or A/A failover FGCP
──────────────────═══──────────────────────═══────────────────
same question, different names
ในบทความนี้
Firewall แบบ next-generation ทุกยี่ห้อต้องตอบคำถามชุดเดียวกัน คือ ทราฟฟิกมาจากไหน กฎข้อใดถูกใช้ กฎเห็นที่อยู่แบบใดหลังทำ NAT ทราฟฟิกเป็นแอปพลิเคชันอะไร และจะเกิดอะไรขึ้นเมื่ออุปกรณ์ตัวหนึ่งเสีย แต่ละผู้ผลิตตอบด้วยคำศัพท์ต่างกัน และบางครั้งก็ตอบในลำดับที่ต่างกันด้วยครับ บทความนี้คือบันทึกของผมในห้าหัวข้อ โดยตรวจสอบกับเอกสารทางการของผู้ผลิตแต่ละรายครับ
1. Zone และ interface
- PAN-OS interface ต้องถูกกำหนดให้อยู่ใน security zone ก่อนจึงจะรับส่งทราฟฟิกได้ และหนึ่ง interface อยู่ได้เพียงหนึ่ง zone กฎ security policy อ้างอิง zone ต้นทางและปลายทาง ไม่ได้อ้างอิง interface (Security Zone Overview)
- Cisco Secure Firewall Threat Defense (FTD) แต่ละ interface จัดเข้า security zone, interface group หรือทั้งสองอย่างได้ แต่อยู่ใน security zone ได้เพียงหนึ่ง zone interface group ใช้ได้ใน NAT, prefilter และ QoS policy และ Cisco แนะนำให้ใช้ security zone เป็นค่าตั้งต้น เพราะทุกฟีเจอร์รองรับ (Security zones and interface groups)
- FortiGate firewall policy ระบุ interface ขาเข้าและขาออก (Firewall policy) ส่วน zone เป็นทางเลือก ใช้รวม interface หลายตัวให้ใช้ policy เดียวกันได้ และไม่มีผลต่อการ routing ค่า
intrazoneของ zone จะกำหนดว่าสมาชิกใน zone สื่อสารกันได้โดยไม่ต้องมี policy หรือไม่ (Zone) - Huawei USG ก็สร้าง policy บน security zone เช่นกัน โดยเพิ่ม interface เข้าไปใน zone และมี Local zone ที่หมายถึงตัว Firewall เอง ตัวอย่างเช่น FAQ เรื่อง hot standby ของ Huawei กล่าวถึงคำถามว่าต้องมี policy อนุญาตแพ็กเก็ตระหว่าง Local zone กับ zone ของ heartbeat interface หรือไม่ (FAQ About Hot Standby)
สรุปคือ บน PAN-OS และ FTD หน่วยหลักของ policy คือ zone ส่วนบน FortiGate หน่วยหลักคือ interface และ zone เป็นเครื่องมือช่วยจัดกลุ่มครับ
2. ลำดับการตรวจ policy
ผู้ผลิตหลักทั้งสามรายใช้การตรวจจากบนลงล่างและใช้กฎข้อแรกที่ match ดังนั้นกฎที่เจาะจงต้องอยู่เหนือกฎทั่วไปครับ
- PAN-OS ตรวจ security rule จากบนลงล่างและใช้กฎข้อแรกที่ match กฎ default ที่ระบบกำหนดไว้ด้านล่างสุดจะอนุญาตทราฟฟิกภายใน zone เดียวกัน (intrazone) และปฏิเสธทราฟฟิกระหว่าง zone (interzone) กฎเหล่านี้แก้ไขไม่ได้โดยค่าเริ่มต้น แต่ override ค่าบางอย่างได้ เช่น action, tag, การบันทึก log และ security profile (Security Policy)
- FTD กำหนดหมายเลข access control rule เริ่มจาก 1 และ match ตามลำดับหมายเลขจากน้อยไปมาก ข้อยกเว้นเดียวคือ Monitor rule ซึ่งเมื่อทราฟฟิก match แล้วระบบจะยังตรวจกฎข้อถัดไปต่อ (Access control rule order)
- FortiGate ตรวจ policy ตามลำดับที่แสดงในมุมมอง By Sequence และทราฟฟิกที่ไม่ match policy ใดเลยจะถูกปฏิเสธ (Firewall policy)
3. NAT และความสัมพันธ์กับ security policy
หัวข้อนี้คือที่มาของคำถาม "ทำไมกฎไม่ match" เป็นส่วนใหญ่ครับ
- PAN-OS ตรวจ NAT rule จากบนลงล่าง และแพ็กเก็ตหนึ่ง match NAT rule ได้เพียงข้อเดียว จากนั้น security rule จะ match ด้วยที่อยู่ ก่อน NAT แต่ใช้ zone หลัง NAT (NAT Policy Overview)
- FTD แยก NAT เป็น policy ของตัวเอง เก็บในตารางเดียวที่แบ่งเป็นสามส่วน คือ manual NAT ก่อน ตามด้วย auto NAT (ระบบจัดลำดับให้) แล้วจึงเป็น manual NAT ที่วางไว้หลัง auto NAT และมี Section 0 สำหรับกฎที่ระบบสร้างขึ้นใช้เอง เมื่อกฎข้อใด match แล้ว ส่วนถัดไปจะไม่ถูกตรวจ (NAT rule order)
- FortiGate ทำ source NAT ได้ในแต่ละ firewall policy หรือในตาราง Central SNAT แยกต่างหาก Central NAT ปิดอยู่โดยค่าเริ่มต้น เมื่อเปิดใช้ ตัวเลือก NAT ใน policy จะถูกข้าม ตารางจะถูกอ่านจากบนลงล่าง และ NAT จะถูกใช้หลัง security policy ในโหมด NGFW แบบ policy-based ระบบถือว่าเปิด central SNAT อยู่แล้ว (Central SNAT)
4. การระบุแอปพลิเคชัน
- App-ID ของ PAN-OS ระบุแอปพลิเคชันได้โดยไม่ขึ้นกับพอร์ต โปรโตคอล หรือการเข้ารหัส โดยใช้ signature, protocol decoder และ heuristic สำหรับแอปที่พยายามหลบเลี่ยง ถ้าทราฟฟิกถูกถอดรหัส signature จะถูกตรวจซ้ำบน flow ที่ถอดรหัสแล้ว (App-ID Overview)
- FTD ใช้ application condition ใน access control rule ซึ่งอาศัย application detector ที่ Cisco อัปเดตผ่าน system update และ vulnerability database (VDB) update (Application rule conditions) เอนจินตรวจสอบคือ Snort ซึ่งทำงานบนอุปกรณ์ threat defense (Snort 3) การระบุแอปควรใช้ 3 ถึง 5 แพ็กเก็ต หรือสำหรับทราฟฟิกที่เข้ารหัส จะระบุได้หลังการแลก server certificate ใน SSL handshake ระหว่างนั้นระบบจะปล่อยแพ็กเก็ตผ่านและให้สร้างการเชื่อมต่อได้ แล้วจึงใช้ action ของกฎกับทราฟฟิกที่เหลือของ session (Recommendations for application control)
- Application control ของ FortiGate ใช้ IPS protocol decoder และตรวจพบแอปพลิเคชันที่ใช้พอร์ตไม่มาตรฐานได้ application sensor จะถูกใส่ไว้ใน firewall policy และฟีเจอร์นี้ต้องมี subscription FortiGuard Application Control (Application control) action ของ sensor มี monitor, allow, block และ quarantine (Configuring an application sensor) ส่วนในโหมด NGFW แบบ policy-based จะระบุแอปพลิเคชันลงใน security policy โดยตรง (config firewall security-policy)
จุดร่วมคือ Firewall แทบไม่มีทางรู้จักแอปพลิเคชันได้ตั้งแต่แพ็กเก็ตแรก เพราะ TCP handshake ยังไม่มีข้อมูลของแอปพลิเคชัน ทราฟฟิกบางส่วนจึงผ่านไปก่อน และการตัดสินใจจะเกิดขึ้นอีกครั้งเมื่อรู้แอปพลิเคชันแล้วครับ
5. High availability
- PAN-OS มีโหมด active/passive (virtual wire, Layer 2 และ Layer 3) และ active/active (เฉพาะ virtual wire และ Layer 3) โหมด active/active ไม่ได้กระจายโหลดเอง ต้องอาศัย ECMP, ISP หลายราย หรือ load balancer (HA Modes)
- FTD ทำ high availability แบบ Active/Standby failover คือมีอุปกรณ์หนึ่งตัวส่งทราฟฟิก ทั้งสองตัวเชื่อมกันด้วย failover link และ state link (ถ้ามี) และซิงก์ทั้ง configuration และ state (Threat Defense high availability) ส่วน clustering เป็นอีกฟีเจอร์หนึ่ง
- FortiGate ใช้ FortiGate Clustering Protocol (FGCP) สมาชิกต้องเป็นรุ่นเดียวกันและใช้ firmware เดียวกัน (FGCP) cluster ทำงานได้ทั้งแบบ active-passive และ active-active และ FGCP จะเปลี่ยน MAC address ของ interface เมื่อสร้าง cluster
- Huawei USG เรียกว่า hot standby ใช้ heartbeat ของ HRP และ virtual IP ของ VRRP โดยวางระบบได้ทั้งแบบ active/standby และแบบ load balancing (FAQ About Hot Standby)
สิ่งที่ผมได้จากการเปรียบเทียบ
เวลาย้ายไปทำงานบนอีกแพลตฟอร์มหนึ่ง ผมแปลที่คำถาม ไม่ได้แปลบรรทัด configuration ทีละบรรทัดครับ policy ใช้ zone หรือ interface กฎข้อใดชนะ กฎเห็นที่อยู่แบบใดหลัง NAT และระบบรู้จักแอปพลิเคชันเมื่อใด ผู้ผลิตทุกรายตอบคำถามเหล่านี้ไว้ชัดเจน แต่ตอบไว้ในเอกสารของตัวเองและสำหรับเวอร์ชันของตัวเองเท่านั้น ก่อนแก้กฎ ผมจึงตรวจจากเอกสารเหล่านั้นครับ
อ่านต่อ
บทความที่เกี่ยวข้อง
ความปลอดภัยเครือข่าย
Firewall HA Failover เกิดอะไรขึ้นบ้างในไม่กี่วินาทีที่สลับเครื่อง
เทียบ HA ของ Palo Alto, FortiGate และ Cisco FTD ทั้ง Heartbeat, Session Sync, Virtual MAC, Preemption และวิธีทดสอบ Failover อย่างปลอดภัย
ขั้นสูง11 นาที
- High Availability
- Firewalls
- Palo Alto
- FortiGate
- Cisco FTD
- VRRP
- Change Management
ความปลอดภัยเครือข่าย
Packet Flow ใน PAN-OS ทีละขั้น ทำไม Security Policy ถูกตรวจซ้ำ
ลำดับ 6 ขั้นของ Packet Flow ใน PAN-OS ตั้งแต่ Ingress, Session Lookup, App-ID ถึง Egress และเหตุผลที่ Security Policy อาจถูกตรวจถึงสามครั้งใน Session เดียว
ปานกลาง6 นาที
- Palo Alto
- PAN-OS
- Firewalls
ความปลอดภัยเครือข่าย
TLS 1.3 Handshake ทีละข้อความ อะไรยังอ่านได้เมื่อไม่ถอดรหัส
ไล่ดู TLS 1.3 Handshake ทีละข้อความ ตั้งแต่ ClientHello ถึง Finished ทำไม Firewall ยังเห็น SNI แต่ไม่เห็น Certificate และความเสี่ยงของ 0-RTT
ปานกลาง11 นาที
- TLS
- TLS 1.3
- Decryption
- Firewalls
- Wireshark
- Cryptography