🗺️ Sơ đồ – Certificate và SSL/TLS
graph TD
Browser["Trinh duyet\nhttps://192.168.1.1"]
subgraph FGT["FortiGate VM 7.6.6"]
Cert["Certificate\nSelf-signed (lab)\nCA-signed (doanh nghiep)\nLet's Encrypt (public)"]
GUI["GUI HTTPS\nQuan tri admin"]
SSLVPN["SSL VPN\nRemote access tu xa"]
SSLInspect["SSL Inspection\nQuat traffic HTTPS"]
end
subgraph CA["Certificate Authority"]
AD_CS["AD CS - noi bo\nWindows Server CA"]
LE["Let's Encrypt\npublic - mien phi"]
FCA["Fortinet CA\ntich hop san"]
end
Browser -->|"HTTPS - TLS ma hoa"| GUI
Cert --> GUI
Cert --> SSLVPN
Cert --> SSLInspect
AD_CS -->|"Ky cert"| Cert
LE -->|"Ky cert"| Cert
FCA -->|"Ky cert"| Cert
📚 Lý thuyết cơ bản
🔰 Certificate (Chứng chỉ số) là gì?
Certificate = "CMND kỹ thuật số" của thiết bị trên mạng.
💡 Khi bạn mở
https://192.168.1.1:- Trình duyệt hỏi FortiGate: "Bạn là ai? Chứng minh đi!"
- FortiGate xuất trình Certificate để chứng minh danh tính.
- Nếu certificate hợp lệ (được CA ký) → trình duyệt tin tưởng → kết nối an toàn 🔒
- Nếu certificate tự ký (self-signed) → trình duyệt cảnh báo đỏ "Not Secure"
🔰 TLS là gì?
TLS (Transport Layer Security) = Giao thức mã hóa dữ liệu khi truyền qua mạng.
💡 Giống như phong bì bịt kín khi gửi thư:
- Không có TLS: gói tin đi qua mạng như bưu thiếp – ai cũng đọc được.
- Có TLS: gói tin được đặt trong phong bì mã hóa – chỉ người nhận mới mở được.
🔰 Các loại Certificate
| Loại | Giải thích | Khi nào dùng |
|---|---|---|
| Self-signed | FortiGate tự ký cho mình | Lab, thử nghiệm |
| CA-signed nội bộ | Được CA nội bộ (AD CS) ký | Doanh nghiệp có Windows domain |
| Let's Encrypt | CA công khai miễn phí | Khi FortiGate có domain public |
🔰 SSL Inspection là gì?
💡 Phần lớn traffic web hiện nay dùng HTTPS (mã hóa). FortiGate không thể quét nội dung traffic mã hóa → kẻ tấn công ẩn malware trong HTTPS.
SSL Inspection = FortiGate "đứng giữa" để giải mã, kiểm tra, rồi mã hóa lại. Cần import Fortinet CA certificate vào trình duyệt của user để tránh cảnh báo.
🛠️ Thực hành
Tạo Certificate Local cho GUI
config vpn certificate local
edit "lab-gui-cert"
set comments "GUI cert for lab"
next
end
# Đặt GUI dùng cert vừa tạo
config system global
set admin-server-cert "lab-gui-cert"
end
Import CA Certificate từ TFTP
execute vpn certificate ca import tftp ca-cert.crt 192.168.1.100
Kiểm tra certificate hiện tại
show vpn certificate local
show vpn certificate ca
diagnose vpn certificate list
🔒 Bảo mật cần nhớ
- ✅ Không để certificate hết hạn trong production – đặt lịch nhắc nhở.
- ✅ Dùng CA nội bộ (AD CS) cho môi trường domain để trình duyệt tin tưởng.
- ✅ Không dùng self-signed cert mặc định trên production.
- ✅ Kiểm tra expiry date định kỳ:
diagnose vpn certificate list.
📖 Case thực tế
FortiGate mới dùng self-signed certificate mặc định. Mọi người dùng khi mở GUI đều thấy cảnh báo "Your connection is not private" → mất niềm tin, gọi IT liên tục.
👉 Giải pháp: Import certificate từ Windows AD CS nội bộ, phân phối CA root cert qua Group Policy → trình duyệt tự động tin tưởng.
📅 Tuần 8/12 – FortiOS 7.6.6 Administration Lab
