คู่มือการตั้งค่า SSL Inspection แบบ Step-by-Step CISCO FIREPOWER SSL/TLS Decryption
1. ภาพรวม SSL/TLS Decryption บน Cisco Firepower
ปัจจุบันการรับส่งข้อมูลบนอินเทอร์เน็ตมากกว่า 90% ถูกเข้ารหัสด้วย TLS/SSL ทำให้ระบบป้องกันภัย Next-Generation Firewall (NGFW) ทั่วไปไม่สามารถตรวจสอบเนื้อหาภายใน Encrypted Traffic ได้ Cisco Firepower Threat Defense (FTD) มีความสามารถในการทำ SSL Decryption เพื่อให้ Intrusion Prevention System (IPS), Malware Detection และ Application Visibility สามารถวิเคราะห์ traffic ที่เข้ารหัสได้อย่างเต็มประสิทธิภาพ
1.1 ประเภทของ SSL Policy
Firepower รองรับ SSL Decryption 2 โหมดหลัก:
| โหมด | Decrypt – Resign (Outbound) | Decrypt – Known Key (Inbound) |
| Use Case | ผู้ใช้ภายในองค์กรเข้าถึงเว็บภายนอก (Egress) | ปกป้อง Web Server ภายในองค์กร (Ingress) |
| Certificate ที่ใช้ | Internal CA Certificate (ต้องติดตั้งใน Client) | Private Key ของ Server Certificate จริง |
| ความซับซ้อน | สูง — ต้องเตรียม CA และ Trust Chain | กลาง — ต้องมี Private Key ของ Server |
| ℹ หมายเหตุ: บทความนี้จะเน้นการตั้งค่าแบบ Decrypt – Resign (Outbound) ซึ่งเป็นโหมดที่ใช้งานบ่อยที่สุดในองค์กร |
2. สิ่งที่ต้องเตรียมก่อนการตั้งค่า
2.1 ข้อกำหนดด้านระบบ
| FTD Version | 7.0 ขึ้นไป (แนะนำ 7.2+) |
| FMC Version | ต้องตรงกับหรือสูงกว่า FTD Version |
| License | Base + Threat + URL Filtering (สำหรับ URL-based bypass) |
| Hardware | CPU และ RAM เพียงพอ — SSL Decryption ใช้ทรัพยากรสูง |
| สิทธิ์ใน FMC | Admin หรือ Network Admin |
2.2 สิ่งที่ต้องเตรียม
- Internal CA Certificate หรือ Sub-CA Certificate (PEM/PFX format)
- Private Key ของ CA Certificate
- แผน Bypass List: รายการ Domain/Category ที่ไม่ต้องการ Decrypt เช่น Banking, Health
- กระบวนการ Trust CA ใน Client Device (Group Policy / MDM / Browser)
- แผน Change Management และช่วงเวลา Maintenance
| ⚠ คำเตือน: การทำ SSL Decryption อาจกระทบบริการที่ใช้ Certificate Pinning เช่น บางแอปพลิเคชันมือถือ ควรทดสอบใน Lab ก่อนเสมอ |
3. ขั้นตอนการตั้งค่า SSL Decryption
STEP 1 นำเข้า CA Certificate เข้า FMC
CA Certificate คือหัวใจของ SSL Decryption Firepower จะใช้ CA นี้ในการ Re-sign Certificate ของเว็บปลายทางแทน เพื่อให้ Client เชื่อถือการเชื่อมต่อที่ Firepower ดักฟังอยู่
3.1.1 วิธีสร้าง Self-Signed CA (กรณีไม่มี CA ขององค์กร)
รันคำสั่งต่อไปนี้บน Linux/OpenSSL เพื่อสร้าง CA Certificate:

3.1.2 นำเข้า Certificate ใน FMC
- เข้าสู่ FMC Web UI แล้วไปที่ Objects > Object Management
- เลือก PKI > Internal CAs จากเมนูด้านซ้าย
- คลิกปุ่ม Import CA
- กรอกข้อมูล:
- Name: ตั้งชื่อที่จดจำได้ เช่น SSL-Decrypt-CA
- Certificate: วาง PEM content ของ firepower-ca.crt
- Private Key: วาง PEM content ของ firepower-ca.key
- Encrypted: เลือก Yes หากมี Passphrase แล้วกรอก Passphrase
- คลิก Save
- ตรวจสอบว่า Certificate แสดงสถานะ Valid และมี Expiration Date ที่ถูกต้อง
| ℹ หมายเหตุ: หลังจาก Import CA แล้ว ต้องนำ CA Certificate (ไม่ใช่ Private Key) ไปติดตั้งเป็น Trusted Root CA บน Client Device ทุกเครื่องก่อน หากไม่ทำ Browser จะแสดง Certificate Error |
STEP 2สร้าง SSL Policy
SSL Policy คือชุดของกฎที่กำหนดว่า Traffic ใดควร Decrypt, ควร Block หรือควรข้ามการตรวจสอบ (Do Not Decrypt) การออกแบบ Policy ที่ดีจะช่วยลดผลกระทบต่อ Performance และ User Experience
3.2.1 สร้าง SSL Policy ใหม่
- ไปที่ Policies > SSL
- คลิก New Policy
- กรอก Name: เช่น Outbound-SSL-Decrypt-Policy
- ตั้งค่า Default Action: Do Not Decrypt (แนะนำให้เริ่มแบบ Conservative)
- คลิก Save
3.2.2 เพิ่ม Rule: Do Not Decrypt (Bypass List)
สร้างกฎ Bypass ก่อนเสมอ เพื่อป้องกันปัญหากับบริการที่ไม่รองรับ MITM:
- ภายใน SSL Policy คลิก Add Rule
- กรอก Name: Do-Not-Decrypt-Sensitive
- Action: Do Not Decrypt
- ตั้งค่า Conditions:
- Category: Financial Services, Health and Medicine, Government
- เพิ่ม URL Objects สำหรับ Domain เฉพาะที่มีปัญหา เช่น *.gov.th
- Order: ตั้งเป็น Rule แรก (ลำดับ 1)
- คลิก Save
3.2.3 เพิ่ม Rule: Decrypt – Resign
- คลิก Add Rule
- กรอก Name: Decrypt-All-Outbound
- Action: Decrypt – Resign
- ใน With CA field: เลือก SSL-Decrypt-CA ที่ Import ไว้
- Conditions: ตั้งค่า Traffic Direction = Outbound
- Order: ตั้งเป็น Rule ลำดับถัดจาก Bypass Rules
- คลิก Save
| ⚠ คำเตือน: ลำดับ Rule มีความสำคัญมาก — Firepower จะประมวลผล Rule จากบนลงล่าง กฎ Do Not Decrypt ต้องอยู่เหนือกฎ Decrypt เสมอ |
STEP 3 ผูก SSL Policy กับ Access Control Policy
SSL Policy จะไม่ทำงานจนกว่าจะถูกผูกเข้ากับ Access Control Policy (ACP) ซึ่งเป็น Policy หลักที่ใช้บังคับกับ Traffic บน FTD
- ไปที่ Policies > Access Control
- เปิด Access Control Policy ที่ต้องการ
- คลิกแท็บ SSL Policy ด้านบน
- จากเมนู Dropdown ให้เลือก Outbound-SSL-Decrypt-Policy
- คลิก Save
- ตรวจสอบให้แน่ใจว่า ACP ถูก Deploy ไปยัง FTD อุปกรณ์ที่ต้องการ
STEP 4 ตั้งค่า TLS Server Identity Discovery (แนะนำ)
TLS Server Identity Discovery ช่วยให้ Firepower ระบุชื่อ Server (SNI) ใน Encrypted Traffic ได้ก่อนตัดสินใจ Decrypt ทำให้การทำ Bypass ตาม Domain แม่นยำขึ้น
- ไปที่ Policies > Access Control
- คลิก Advanced Settings บน ACP
- เปิดใช้งาน TLS/SSL Application and URL Detection
- เปิดใช้งาน Early Application Detection
- คลิก OK และ Save
- Deploy การเปลี่ยนแปลง
STEP 5 Deploy การตั้งค่าไปยัง FTD
ทุกการเปลี่ยนแปลงใน FMC จะไม่มีผลจนกว่าจะทำการ Deploy ไปยัง FTD Sensor ขั้นตอนนี้มีความสำคัญและควรทำในช่วงเวลาที่มีผลกระทบต่อการใช้งานน้อยที่สุด
- คลิกปุ่ม Deploy ด้านบนขวาของ FMC
- เลือก FTD Device ที่ต้องการ Deploy
- ตรวจสอบ Summary ของการเปลี่ยนแปลงใน Preview
- คลิก Deploy
- รอจนกว่าสถานะเปลี่ยนเป็น Deployment Successful
- ตรวจสอบ Deployment Status ใน Message Center
| ⚠ คำเตือน: ระหว่าง Deploy อาจมี Traffic Interruption สั้นๆ ประมาณ 5-30 วินาที ขึ้นอยู่กับขนาดของ Policy และ Hardware |
4. การตรวจสอบและ Verification
4.1 ตรวจสอบผ่าน Connection Events
หลัง Deploy เสร็จแล้ว ให้ตรวจสอบว่า SSL Decryption ทำงานถูกต้อง:
- ไปที่ Analysis > Connections > Events
- เพิ่ม Column: SSL Status, SSL Cipher Suite, SSL Version
- กรอง Filter: SSL Status = Decrypted
- ตรวจสอบว่ามี Event แสดง Traffic ที่ถูก Decrypt
4.2 ตรวจสอบผ่าน Browser
ทดสอบจาก Client ที่ติดตั้ง CA Certificate แล้ว:
- เปิด Browser แล้วเข้าเว็บที่ใช้ HTTPS เช่น https://www.google.com
- คลิก Lock Icon ที่ Address Bar แล้วดู Certificate
- Issuer ควรเป็น SSL-Decrypt-CA (CA ที่เราสร้าง) ไม่ใช่ CA ของ Google
- หากเห็น CA ที่ถูกต้อง แสดงว่า Decryption ทำงานสำเร็จ
4.3 ตรวจสอบผ่าน CLI ของ FTD
สามารถตรวจสอบสถิติ SSL ผ่าน FTD CLI ได้:

5. การแก้ปัญหาที่พบบ่อย
| ปัญหา | สาเหตุที่น่าจะเป็น | วิธีแก้ไข |
| Browser แสดง Certificate Error (NET::ERR_CERT_AUTHORITY_INVALID) | CA Certificate ยังไม่ได้ถูก Trust ใน Client | นำ CA Certificate ไปติดตั้งใน Trusted Root CA Store ของ Client |
| บางเว็บใช้ไม่ได้หลัง Enable Decryption | Certificate Pinning หรือ Mutual TLS | เพิ่ม Domain/Category ใน Do Not Decrypt Rule |
| Performance ช้าลงมาก | Hardware ไม่พอรองรับ SSL Offload | เพิ่ม Bypass Rule สำหรับ Trusted Sites, ตรวจสอบ CPU/Memory |
| SSL Status แสดง ‘Not Decrypted’ | Traffic ตรงกับ Do Not Decrypt Rule | ตรวจสอบลำดับ Rule และ Conditions ใน SSL Policy |
| Decryption ไม่ทำงานกับ TLS 1.3 | FTD Version เก่าไม่รองรับ TLS 1.3 Decrypt | อัปเกรด FTD เป็น 7.0+ และ Enable TLS 1.3 Decryption |
6. Best Practices และคำแนะนำ
6.1 ด้านความปลอดภัย
- ใช้ Sub-CA แทน Root CA ในการ Sign — ป้องกันความเสียหายหาก Private Key รั่วไหล
- ตั้ง Key Size ไม่ต่ำกว่า 2048 bits (แนะนำ 4096 bits)
- กำหนด Expiration Date ของ CA ไม่เกิน 5 ปี และวางแผน Renewal
- เก็บ Private Key ใน HSM (Hardware Security Module) ถ้าเป็นไปได้
- Audit Log การ Decrypt อย่างสม่ำเสมอ
6.2 ด้าน Performance
- Bypass Traffic ที่ไม่จำเป็นต้อง Inspect เช่น Windows Update, Office 365
- ใช้ Hardware ที่มี SSL Acceleration (Crypto ASIC) เช่น Firepower 4100 series
- Monitor CPU/Memory หลัง Enable Decryption อย่างน้อย 1 สัปดาห์
- พิจารณา Offload Traffic บาง Category ที่เชื่อถือได้สูง
6.3 ด้านการบริหารจัดการ
- สร้าง Policy แบบ Staged — เริ่มจาก Monitor Mode ก่อน Block
- แจ้ง User ล่วงหน้าก่อน Enable Decryption เพื่อความโปร่งใส
- กำหนด Exception Process สำหรับ Business Application ที่มีปัญหา
- ทดสอบกับ User กลุ่มเล็กก่อน Roll out ทั้งองค์กร
7. สรุปขั้นตอนทั้งหมด
| # | ขั้นตอน | รายละเอียด |
| 1 | เตรียม CA Certificate | สร้างหรือนำ Internal CA มาใช้งาน |
| 2 | Import CA ใน FMC | Objects > PKI > Internal CAs > Import CA |
| 3 | Trust CA บน Client | Group Policy / MDM / Browser Policy |
| 4 | สร้าง SSL Policy | Policies > SSL > New Policy |
| 5 | เพิ่ม Do Not Decrypt Rules | Bypass Financial, Health, Pinning Sites |
| 6 | เพิ่ม Decrypt – Resign Rule | เลือก CA ที่ Import ไว้ |
| 7 | ผูก SSL Policy กับ ACP | Policies > Access Control > SSL Policy Tab |
| 8 | Enable TLS Identity Discovery | ACP > Advanced Settings |
| 9 | Deploy ไปยัง FTD | Deploy Button > Select Device > Deploy |
| 10 | Verify และ Monitor | Analysis > Events > Connection Events |
8. แหล่งอ้างอิงและเอกสารเพิ่มเติม
- Cisco Firepower Management Center Configuration Guide, Version 7.4
- Cisco Secure Firewall Threat Defense SSL Configuration — Cisco Official Documentation
- Cisco Firepower SSL Best Practices White Paper
- RFC 8446 — The Transport Layer Security (TLS) Protocol Version 1.3
- NIST SP 800-52 — Guidelines for TLS Implementation
เอกสารนี้จัดทำโดย AbleNet Compay Limited | ข้อมูลถูกต้อง ณ วันที่ 21 มีนาคม 2025