Loading...

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.

Các loại Address Object phổ biến Subnet 192.168.1.0 /24 Dải mạng cố định IP Range 192.168.1.10- 192.168.1.50 Dải không chuẩn subnet FQDN example.com Tự phân giải theo DNS, IP có thể đổi Geography Việt Nam Theo quốc gia, dữ liệu FortiGuard Wildcard FQDN *.fortinet.com Khớp toàn bộ domain con (Subdomain) Tất cả đều gán được vào Firewall Policy như nguồn/đích, thay cho việc gõ IP trực tiếp FQDN cần DNS session-helper hoạt động để tự cập nhật IP khi tên miền đổi

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.

Internet Service Database (ISDB): gom nhóm theo dịch vụ thật Address Object thủ công IP 1, IP 2, IP 3... tự gõ tay, dễ lỗi thời khi nhà cung cấp dịch vụ đổi/thêm IP mới ✕ Không tự cập nhật ISDB Object (VD: Microsoft-365) Toàn bộ IP/port của dịch vụ được FortiGuard duy trì sẵn Tự động cập nhật khi nhà cung cấp đổi hạ tầng ✓ Luôn cập nhật qua FortiGuard Dùng trực tiếp trong Firewall Policy như một Address Object đặc biệt

Á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 — ministandardfull, hoặc on-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ùng on-demand để tránh chiếm quá nhiều tài nguyên hệ thống. Kiểm tra và điều chỉnh qua config 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ểmAddress 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ọcBà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