Danh mục sản phẩm
Application Control trên FortiGate: Sensor, Category, Override
1. Liên hệ thực tế
Bộ phận IT nhận phản ánh: nhân viên vẫn dùng Zoom cá nhân để họp trong giờ làm, trong khi công ty đã có Microsoft Teams chính thức, gây lãng phí băng thông và rủi ro bảo mật. Anh Nam thử chặn bằng Service Object — nhưng Zoom cũng chạy trên cổng 443 giống hệt hàng trăm dịch vụ khác, chặn cổng 443 đồng nghĩa chặn luôn cả Internet.
Chị Lan giải thích: "Firewall Policy dựa vào Service Object chỉ biết đến số port — không phân biệt được Zoom hay Facebook hay Google Drive nếu tất cả đều chạy HTTPS trên 443. Muốn chặn đúng một ứng dụng cụ thể mà không ảnh hưởng ứng dụng khác cùng port, cần Application Control — soi vào pattern đặc trưng riêng của từng ứng dụng."
Bài này giới thiệu Application Control — công cụ nhận diện ứng dụng vượt ra ngoài giới hạn số port truyền thống, cùng cách xây dựng Application Sensor theo category và override riêng từng app.
2. Kiến thức cốt lõi
2.1 Vì sao Service Object không đủ để phân biệt ứng dụng
Application Control dùng cơ sở dữ liệu chữ ký ứng dụng (Application Signature Database) do FortiGuard duy trì, phân tích pattern đặc trưng trong traffic (không chỉ port) để xác định chính xác ứng dụng nào đang chạy — dù nhiều ứng dụng khác nhau cùng dùng chung port 443.
⚠️ Lưu ý: Với traffic HTTPS, để Application Control nhận diện chính xác ứng dụng cụ thể bên trong (không chỉ dựa vào SNI ở mức domain), cần kết hợp với SSL Deep Inspection đã học ở bài SSL Inspection — nếu chỉ dùng Certificate Inspection, độ chính xác nhận diện app sẽ hạn chế hơn, chủ yếu dựa vào tên miền quan sát được trong handshake.
2.2 Application Sensor — tập luật kiểm soát ứng dụng
Application Sensor là một profile gồm tập hợp luật xác định hành động cho từng category hoặc ứng dụng cụ thể, tương tự cách Web Filter Profile hoạt động với category website.
config application list
edit "chan-video-conference-ca-nhan"
config entries
edit 1
set category 23
set action block
next
edit 2
set application 15832
set action block
next
end
set unknown-application-action pass
set other-application-action pass
next
end
config firewall policy
edit 90
...
set application-list "chan-video-conference-ca-nhan"
next
end
⚠️ Lưu ý: Đừng nhớ thuộc lòng số
categoryhayapplication(ví dụcategory 23trong bài này là "Video/Audio",application 15832là một ứng dụng cụ thể nào đó) — hai loại ID này độc lập với nhau (category nhóm nhiều app lại, application là ID riêng của từng app cụ thể), và số liệu có thể thay đổi theo các bản cập nhật Application Signature Database. Cách tra cứu đúng:
- Qua GUI (khuyến nghị): vào Security Profiles > Application Control, mở một Sensor bất kỳ — danh sách hiển thị đầy đủ theo tên category (Video/Audio, Social.Media, P2P...) dạng cây, mở rộng mỗi category sẽ thấy danh sách tên từng ứng dụng cụ thể bên trong kèm icon riêng biệt. Tick chọn action trực tiếp theo tên, không cần biết số ID.
- Qua CLI: gõ
?tại đúng vị trí cần khai để FortiGate liệt kê toàn bộ, kèm cả ID lẫn tên:Đọc tên trong danh sách để tìm đúng ứng dụng/category cần, rồi gõ lại đúng số ID tương ứng.config application list edit "chan-video-conference-ca-nhan" config entries edit 1 set category ? 23 Video/Audio ... set application ? 15832 Zoom 40568 Microsoft.Teams ...- Tra cứu nhanh 1 ứng dụng cụ thể: dùng FortiGuard Application Control Database tại
https://www.fortiguard.com/appcontrol— tìm theo tên ứng dụng, hệ thống trả về App ID, category, và mô tả hành vi mạng của ứng dụng đó.Ngoài ra, category ID của Application Control là hệ thống mã số hoàn toàn riêng biệt với category ID của Web Filter đã học ở bài Web Filter — dù cùng dùng số
23, ở Web Filter đó là "Social Media" nhưng ở Application Control lại là "Video/Audio". Hai bảng category này không liên quan và không dùng chung được cho nhau.
category— chặn/cho phép theo cả nhóm ứng dụng (ví dụ "Video/Audio", "Social Media", "P2P"...).application— chặn/cho phép theo đúng một ứng dụng cụ thể bằng App ID, override lại hành động mặc định của category chứa nó.unknown-application-action— hành động cho traffic không xác định được là ứng dụng gì (thường đặtpassđể tránh chặn nhầm traffic hợp lệ chưa có signature).other-application-action— hành động mặc định cho các ứng dụng đã nhận diện được nhưng không có rule riêng trong sensor.
2.3 Override theo ứng dụng cụ thể — mở ngoại lệ trong category bị chặn
Tương tự Local Category ở Web Filter, Application Control cho phép override một ứng dụng cụ thể khác với hành động mặc định của cả category chứa nó — đúng nhu cầu tình huống đầu bài: chặn nhóm "Video/Audio cá nhân" nói chung, nhưng vẫn cho phép riêng Microsoft Teams.
config application list
edit "chan-video-ca-nhan-tru-teams"
config entries
edit 1
set category 23
set action block
next
edit 2
set application 40568
set action pass
next
end
next
end
⚠️ Lưu ý: Entry càng cụ thể (theo
applicationriêng lẻ) nên đặt sau entry chung (theocategory) trong danh sách — nhưng khác với Firewall Policy Lookup (nơi thứ tự từ trên xuống quyết định), Application Sensor áp dụng theo nguyên tắc cụ thể hơn luôn thắng chung hơn, không phụ thuộc thứ tự entry trong danh sách.
2.4 Application Control còn dùng để kiểm soát hành vi con (sub-application)
Nhiều ứng dụng hiện đại có nhiều "hành vi con" khác nhau — ví dụ Facebook có thể tách riêng "Facebook Chat", "Facebook Video", "Facebook Post" như các App ID riêng biệt trong signature database. Điều này cho phép kiểm soát tinh vi hơn: chặn tính năng chat nhưng vẫn cho phép xem trang chủ, hoặc ngược lại.
config application list
edit "facebook-chi-cho-xem"
config entries
edit 1
set application 15877 15878
set action block
next
end
set other-application-action pass
next
end
2.5 Application Control và Traffic Shaping — kết hợp giới hạn băng thông
Ngoài block/pass, Application Control còn tích hợp được với Traffic Shaping (sẽ học chi tiết ở bài sau) để giới hạn băng thông riêng cho từng ứng dụng thay vì chặn hẳn — ví dụ cho phép Zoom hoạt động nhưng giới hạn băng thông để không chiếm hết đường truyền công ty trong giờ cao điểm.
2.6 Bảng tổng hợp
| Thành phần | Vai trò |
|---|---|
| Application Signature Database | Cơ sở dữ liệu FortiGuard nhận diện ứng dụng qua pattern |
Application Sensor (application list) |
Tập luật block/pass theo category hoặc app cụ thể |
unknown-application-action |
Hành động cho traffic chưa nhận diện được |
other-application-action |
Hành động mặc định cho app không có rule riêng |
Override theo application |
Ngoại lệ cụ thể hơn category, luôn được ưu tiên |
3. Hỏi & Đáp
Application Control có cần SSL Deep Inspection cho mọi trường hợp không?
Không tuyệt đối bắt buộc — với traffic không mã hóa (HTTP thuần) hoặc một số giao thức có thể nhận diện qua handshake ban đầu, Application Control vẫn hoạt động ở mức độ nhất định mà không cần Deep Inspection. Tuy nhiên với phần lớn traffic HTTPS hiện đại, Deep Inspection giúp tăng đáng kể độ chính xác nhận diện, đặc biệt để phân biệt các sub-application bên trong cùng một domain.
Nếu một ứng dụng mới ra mắt chưa có trong Application Signature Database, Application Control có chặn được không?
Không chặn được theo tên ứng dụng cụ thể, vì chưa có chữ ký nhận diện — traffic đó sẽ rơi vào unknown-application-action. FortiGuard cập nhật database định kỳ, nên các ứng dụng phổ biến thường được thêm vào sau một thời gian ra mắt.
Application Control có thay thế được Web Filter không?
Không thay thế hoàn toàn — hai công cụ bổ trợ nhau. Web Filter kiểm soát theo domain/category website, còn Application Control kiểm soát theo chính ứng dụng/giao thức đang chạy, kể cả các ứng dụng không phải trình duyệt (như ứng dụng desktop, giao thức P2P). Nhiều tổ chức dùng kết hợp cả hai trong cùng một Policy.
Có nên đặt unknown-application-action là block để chặt chẽ hơn không?
Cần cân nhắc kỹ — đặt block cho unknown application có thể chặn nhầm traffic hợp lệ nhưng chưa được FortiGuard phân loại kịp thời, gây gián đoạn dịch vụ ngoài ý muốn. Đa số triển khai thực tế giữ pass cho unknown, chỉ chặn tường minh theo category/application đã xác định rõ.
4. Quiz
Câu 1: Vì sao Firewall Policy dựa trên Service Object không đủ để phân biệt Zoom và Facebook nếu cả hai cùng chạy HTTPS?
- A. Vì cả hai đều không dùng TCP
- B. Vì Service Object chỉ biết đến port, không phân biệt được ứng dụng cụ thể chạy trên cùng port đó
- C. Vì Zoom và Facebook dùng chung 1 địa chỉ IP
- D. Vì Firewall Policy không hỗ trợ HTTPS
Câu 2: Application Sensor trong FortiGate được cấu hình qua lệnh CLI nào?
- A.
config webfilter profile - B.
config application list - C.
config antivirus profile - D.
config firewall service custom
Câu 3: Nếu một category bị chặn nhưng có 1 ứng dụng cụ thể trong đó được đặt action pass riêng, kết quả là gì?
- A. Toàn bộ category vẫn bị chặn, không có ngoại lệ
- B. Ứng dụng cụ thể đó được phép, vì entry cụ thể hơn được ưu tiên hơn entry theo category
- C. FortiGate báo lỗi cấu hình xung đột
- D. Chỉ hoạt động nếu đặt entry ứng dụng lên đầu danh sách
Câu 4: unknown-application-action dùng để xử lý loại traffic nào?
- A. Traffic đã được nhận diện chính xác là ứng dụng gì
- B. Traffic Application Control chưa xác định được là ứng dụng cụ thể nào
- C. Chỉ áp dụng cho traffic UDP
- D. Không có tác dụng thực tế
Câu 5: Để tăng độ chính xác nhận diện ứng dụng bên trong traffic HTTPS, nên kết hợp Application Control với tính năng nào?
- A. DHCP Relay
- B. SSL Deep Inspection
- C. OSPF
- D. VDOM
👉 Đáp án
Câu 1: B Service Object chỉ định danh dựa trên giao thức và số port, không có khả năng phân tích pattern đặc trưng bên trong traffic để phân biệt các ứng dụng khác nhau cùng chạy trên một port.
Câu 2: B Application Sensor được cấu hình qua config application list, chứa tập luật xác định hành động cho từng category hoặc ứng dụng cụ thể.
Câu 3: B Entry cụ thể theo application luôn được ưu tiên hơn entry chung theo category, nên ứng dụng đó được pass dù category chứa nó đang bị block.
Câu 4: B unknown-application-action xử lý traffic mà Application Control chưa xác định được là ứng dụng cụ thể nào, thường đặt pass để tránh chặn nhầm traffic hợp lệ chưa có signature.
Câu 5: B SSL Deep Inspection giải mã được nội dung traffic HTTPS, giúp Application Control phân tích chính xác hơn pattern đặc trưng của từng ứng dụng, thay vì chỉ dựa vào thông tin domain quan sát được từ handshake.
📚 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 ➡️ |
|---|---|---|
| Web Filter: FortiGuard Category, URL Filter, Override | Mục lục khóa học FortiGate | IPS: Sensor, Signature, Severity |
