Danh mục sản phẩm
Address Object, Address Group, Internet Service Database (ISDB) trên FortiGate
1. Liên hệ thực tế
Anh Nam nhận yêu cầu: chặn toàn bộ truy cập tới Microsoft 365 từ một nhóm máy trạm cụ thể, để công ty ép người dùng chỉ được truy cập qua VPN riêng. Theo thói quen cũ, anh định tự tra cứu và gõ tay danh sách IP của Microsoft 365 vào một Address Object.
Chị Lan can lại: "Đừng làm vậy — IP của Microsoft 365 thay đổi liên tục, danh sách anh gõ tay hôm nay có thể sai hoàn toàn sau vài tuần. FortiGate có sẵn Internet Service Database (ISDB) — object Microsoft-365 đã được Fortinet duy trì và tự động cập nhật qua FortiGuard, anh chỉ cần chọn thẳng object đó vào Policy, không cần tự quản lý danh sách IP."
Anh Nam thắc mắc thêm: "Vậy Address Object với ISDB khác nhau ở điểm nào, khi nào dùng cái nào?"
Bài này làm rõ Address Object (các loại địa chỉ tự định nghĩa), Address Group (gom nhóm nhiều Address Object), và Internet Service Database (ISDB) — ba công cụ định danh nguồn/đích không thể thiếu khi viết Firewall Policy.
2. Kiến thức cốt lõi
2.1 Address Object — các loại địa chỉ phổ biến
Address Object là một object đặt tên đại diện cho một hoặc nhiều địa chỉ IP, dùng thay cho việc gõ trực tiếp IP vào Firewall Policy — giúp Policy dễ đọc, dễ bảo trì, và tái sử dụng được ở nhiều Policy khác nhau.
Subnet — loại phổ biến nhất, khai báo bằng địa chỉ mạng và subnet mask:
config firewall address
edit "LAN-Ke-toan"
set subnet 192.168.10.0 255.255.255.0
next
end
IP Range — dải địa chỉ liên tục không theo ranh giới subnet chuẩn, linh hoạt hơn khi chỉ cần một phần của dải mạng:
config firewall address
edit "May-in-dai"
set type iprange
set start-ip 192.168.10.100
set end-ip 192.168.10.120
next
end
FQDN — địa chỉ theo tên miền, FortiGate tự phân giải và cập nhật IP theo phản hồi DNS thực tế:
config firewall address
edit "Website-doi-tac"
set type fqdn
set fqdn "partner.example.com"
next
end
Wildcard FQDN — mở rộng FQDN với ký tự đại diện, khớp toàn bộ subdomain:
config firewall address
edit "Toan-bo-fortinet"
set type wildcard-fqdn
set wildcard-fqdn "*.fortinet.com"
next
end
Geography — địa chỉ theo quốc gia, dữ liệu duy trì bởi FortiGuard, thường dùng để chặn/cho phép truy cập theo vùng địa lý:
config firewall address
edit "Chi-Viet-Nam"
set type geography
set country "VN"
next
end
⚠️ Lưu ý: Với Address Object loại FQDN, FortiGate cần có DNS session-helper hoạt động để bắt và phân tích phản hồi DNS thực tế đi qua nó — nếu traffic DNS không đi qua FortiGate (ví dụ client dùng DNS-over-HTTPS bỏ qua FortiGate), object FQDN có thể không tự cập nhật đúng IP, dẫn đến Policy tưởng đã đúng nhưng vẫn chặn/cho phép sai địa chỉ.
2.2 Address Group — gom nhiều Address Object
Address Group gom nhiều Address Object (hoặc cả Address Group khác) thành một nhóm duy nhất, dùng làm nguồn/đích trong Policy — giúp giảm số lượng entry cần khai báo lặp lại khi nhiều Policy cùng cần chung một tập hợp địa chỉ.
config firewall addrgrp
edit "Toan-bo-phong-ban"
set member "LAN-Ke-toan" "LAN-Kinh-doanh" "LAN-Ky-thuat"
next
end
Address Group cũng hỗ trợ khai báo loại trừ (exclusion) — cho phép gồm cả một nhóm lớn nhưng loại bỏ một vài địa chỉ cụ thể ra khỏi nhóm đó, tiện khi cần "toàn bộ trừ một vài ngoại lệ" thay vì liệt kê thủ công từng địa chỉ còn lại.
⚠️ Lưu ý: Address Group không được để trống hoàn toàn trong hầu hết các phiên bản mặc định (phải có ít nhất 1 member) — trừ khi tính năng cho phép nhóm rỗng được bật riêng. Một Address Group trống có thể khiến Policy tham chiếu nó hoạt động không như mong đợi, tùy hành vi cụ thể của từng phiên bản FortiOS.
2.3 Internet Service Database (ISDB) — object dịch vụ do FortiGuard duy trì
ISDB là cơ sở dữ liệu công cộng chứa dải IP, port, và độ tin cậy bảo mật (reputation) của hàng nghìn dịch vụ Internet phổ biến — dữ liệu này được FortiGuard cập nhật thường xuyên, khác hẳn với Address Object tự tạo phải bảo trì thủ công.
Áp dụng ISDB trực tiếp vào Firewall Policy:
config firewall policy
edit 40
set name "chan-microsoft365"
set srcintf "internal"
set dstintf "wan1"
set srcaddr "LAN-Ke-toan"
set dstaddr "all"
set internet-service enable
set internet-service-name "Microsoft-Office365"
set action deny
set schedule "always"
next
end
Từ FortiOS 6.0 trở lên, Internet Service dùng được cho cả nguồn lẫn đích trong Policy (trước đó chỉ dùng được cho đích). ISDB cũng hỗ trợ thêm dạng ISDB FQDN Group — nhóm các dịch vụ theo domain thay vì chỉ theo IP thuần túy, hữu ích cho các dịch vụ có hạ tầng IP thay đổi thường xuyên (như CDN lớn).
⚠️ Lưu ý: ISDB được lưu trên FortiGate ở nhiều cấp độ dung lượng khác nhau —
mini,standard,full, hoặcon-demand(chỉ tải khi cần) — tùy theo bộ nhớ của model. Model có ít RAM thường được khuyến nghị dùngon-demandđể tránh chiếm quá nhiều tài nguyên hệ thống. Kiểm tra và điều chỉnh quaconfig system global→set internet-service-database.
2.4 ISDB khác gì so với Address Object FQDN
Đây là điểm dễ nhầm lẫn nhất giữa hai công cụ có vẻ giống nhau:
| Đặc điểm | Address Object (FQDN) | ISDB |
|---|---|---|
| Nguồn dữ liệu | Tự phân giải qua DNS FortiGate thấy được | Fortinet thu thập & duy trì sẵn |
| Cập nhật | Chỉ khi có truy vấn DNS đi qua FortiGate | Định kỳ qua FortiGuard, không cần traffic thật |
| Phạm vi | Một tên miền cụ thể | Toàn bộ hạ tầng của một dịch vụ (nhiều domain/IP) |
| Yêu cầu license | Không cần thêm gì | Cần tài khoản FortiCare hoạt động để cập nhật |
⚠️ Lưu ý: Với các dịch vụ lớn có hạ tầng IP thay đổi liên tục và không đoán trước được (như Microsoft 365, Google Workspace), luôn ưu tiên dùng ISDB thay vì tự tạo Address Object FQDN — vì FQDN Object chỉ học được IP khi có truy vấn DNS thực tế đi qua, dễ bị sót nếu dịch vụ dùng nhiều domain con khác nhau mà FortiGate chưa từng thấy truy vấn tới.
3. Hỏi & Đáp
Address Object loại Subnet và IP Range, nên dùng loại nào khi cả hai đều mô tả được cùng một dải địa chỉ?
Nên ưu tiên Subnet khi dải địa chỉ khớp đúng ranh giới subnet chuẩn (dễ đọc, dễ đối chiếu với sơ đồ mạng). Chỉ dùng IP Range khi dải cần khai báo không khớp ranh giới subnet chuẩn — ví dụ chỉ một phần của một subnet lớn, hoặc dải trải qua nhiều subnet nhỏ liên tiếp.
Có thể trộn Address Object và ISDB trong cùng một Address Group không?
Không — Address Group chỉ chứa các Address Object (subnet, iprange, fqdn...) hoặc Address Group khác, không gộp chung được với ISDB object. ISDB được chọn riêng biệt trong Policy thông qua tham số internet-service, không đi qua cơ chế Address Group thông thường.
Wildcard FQDN có áp dụng được cho mọi loại Policy không?
Không hoàn toàn — theo tài liệu Fortinet, Wildcard FQDN được hỗ trợ trên các loại Policy IPv4, IPv6, ACL, shaping, NAT64, NAT46, và NGFW policy, nhưng cần đảm bảo FortiGate cho phép traffic DNS đi qua để cơ chế phân giải hoạt động đúng.
Nếu dùng Geography Address để chặn theo quốc gia, độ chính xác dữ liệu ra sao?
Dữ liệu geography dựa trên cơ sở dữ liệu địa lý IP do FortiGuard duy trì, độ chính xác tương đối cao với đa số địa chỉ nhưng không tuyệt đối 100% — một số IP (đặc biệt IP thuộc dịch vụ CDN/cloud toàn cầu) có thể không phản ánh đúng vị trí địa lý thực tế của người dùng cuối. Không nên xem đây là biện pháp bảo mật duy nhất cho các yêu cầu tuân thủ nghiêm ngặt về địa lý.
4. Quiz
Câu 1: Loại Address Object nào phù hợp nhất khi cần khai báo một dải địa chỉ liên tục nhưng không khớp ranh giới subnet chuẩn?
- A. Subnet
- B. IP Range
- C. FQDN
- D. Geography
Câu 2: Vì sao nên ưu tiên dùng ISDB thay vì tự tạo Address Object FQDN cho các dịch vụ lớn như Microsoft 365?
- A. ISDB miễn phí còn FQDN Object tốn phí
- B. ISDB được FortiGuard duy trì và cập nhật định kỳ, không phụ thuộc việc FortiGate có thấy được truy vấn DNS thực tế hay không
- C. FQDN Object không hoạt động được với HTTPS
- D. Không có sự khác biệt thực sự nào
Câu 3: Address Group trên FortiGate có thể chứa thành phần nào sau đây?
- A. Chỉ Address Object, không được chứa Address Group khác
- B. Address Object và cả Address Group khác
- C. Chỉ ISDB object
- D. Chỉ địa chỉ IPv6
Câu 4: Điều kiện nào cần thiết để Address Object loại FQDN tự cập nhật đúng địa chỉ IP?
- A. Không cần điều kiện gì, luôn tự động đúng
- B. Cần có DNS session-helper hoạt động, và truy vấn DNS thực tế phải đi qua FortiGate
- C. Chỉ hoạt động khi bật IPv6
- D. Chỉ cập nhật khi khởi động lại thiết bị
Câu 5: Tham số nào trong config system global dùng để điều chỉnh dung lượng ISDB lưu trên FortiGate?
- A.
set isdb-size - B.
set internet-service-database - C.
set fortiguard-db-mode - D.
set service-database-cache
👉 Đáp án
Câu 1: B IP Range mô tả được dải địa chỉ liên tục không khớp ranh giới subnet chuẩn, linh hoạt hơn Subnet trong trường hợp này.
Câu 2: B ISDB được FortiGuard thu thập và cập nhật định kỳ cho toàn bộ hạ tầng dịch vụ, trong khi Address Object FQDN chỉ học được IP khi có truy vấn DNS thực tế đi qua FortiGate, dễ sót nếu dịch vụ dùng nhiều domain con khác nhau.
Câu 3: B Address Group có thể chứa cả Address Object lẫn Address Group khác, cho phép xây dựng cấu trúc nhóm lồng nhau khi cần.
Câu 4: B Address Object FQDN cần DNS session-helper hoạt động và truy vấn DNS thực tế phải đi qua FortiGate để FortiGate phân tích được phản hồi DNS và cập nhật đúng địa chỉ IP tương ứng.
Câu 5: B config system global → set internet-service-database điều chỉnh dung lượng ISDB lưu trên thiết bị (mini/standard/full/on-demand) tùy theo tài nguyên phần cứng của model.
📚 Bài viết thuộc khóa học FortiGate của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Firewall Policy: cấu trúc, thứ tự xử lý, implicit deny, Policy Lookup | Mục lục khóa học FortiGate | Service Object & Schedule trên FortiGate |
