Danh mục sản phẩm
DNS Filter & File Filter trên FortiGate
1. Liên hệ thực tế
Khách hàng phát hiện một máy trạm bị rò rỉ dữ liệu qua file đính kèm email — điều tra ra kẻ tấn công đã đổi đuôi file .exe thành .jpg để qua mặt bộ lọc email đơn giản trước đó của công ty. Đồng thời, đội bảo mật cũng muốn chặn sớm hơn nữa — chặn ngay từ bước phân giải tên miền độc hại, trước khi kết nối HTTP/HTTPS kịp hình thành.
Anh Nam hỏi: "Có cách nào chặn theo đúng loại file thật, không bị lừa bằng cách đổi đuôi không? Và làm sao chặn được domain độc hại ngay từ bước DNS?"
Chị Lan: "Hai công cụ riêng biệt: File Filter soi nội dung file thật (không dựa vào đuôi mở rộng dễ giả mạo), còn DNS Filter — đã nhắc sơ ở bài DNS — giờ mình đi sâu vào cách cấu hình thực tế để chặn domain độc hại ngay từ bước phân giải."
Bài này đi sâu vào DNS Filter (đã giới thiệu sơ lược ở bài DNS trên FortiGate) và File Filter — hai lớp phòng thủ bổ trợ cho Web Filter và Antivirus đã học trước đó.
2. Kiến thức cốt lõi
2.1 DNS Filter — chặn từ bước phân giải tên miền
Nhắc lại từ bài DNS trên FortiGate: DNS Filter kiểm soát truy vấn DNS đi qua FortiGate theo danh mục FortiGuard, chặn ngay ở bước phân giải tên miền — trước cả khi có kết nối HTTP/HTTPS thực sự.
config dnsfilter profile
edit "chan-domain-doc-hai"
set block-botnet-c2 enable
config ftgd-dns
config filters
edit 1
set category 26
set action block
next
edit 2
set category 61
set action block
next
end
end
set redirect-portal enable
set redirect-portal-ip 10.0.0.1
next
end
config firewall policy
edit 110
...
set dnsfilter-profile "chan-domain-doc-hai"
next
end
block-botnet-c2 là tùy chọn riêng chặn truy vấn DNS tới các domain đã biết là máy chủ điều khiển mã độc (Command & Control) — dữ liệu này được FortiGuard cập nhật liên tục dựa trên tình báo mối đe dọa toàn cầu.
⚠️ Lưu ý (nhắc lại từ bài DNS trên FortiGate): DNS Filter có thể bị bỏ qua nếu client dùng DNS-over-HTTPS (DoH) trỏ thẳng tới server ngoài mà FortiGate không kiểm soát được. Một số bản FortiOS hỗ trợ chặn riêng giao thức DoH như một phần của DNS Filter — cần bật thêm nếu môi trường có rủi ro này.
2.2 DNS Filter Local Category — tự định nghĩa domain riêng
Tương tự Local Category ở Web Filter, DNS Filter cũng hỗ trợ tự định nghĩa domain riêng, độc lập với phân loại của FortiGuard:
config dnsfilter domain-filter
edit 1
set domain "domain-doi-tac-nghi-van.com"
set type wildcard
set action block
next
end
config dnsfilter profile
edit "chan-domain-doc-hai"
set domain-filter-table 1
next
end
2.3 File Filter — chặn theo loại file thực sự, không theo đuôi mở rộng
File Filter phân tích nội dung thật của file (đọc file header/magic bytes để xác định định dạng) thay vì chỉ nhìn vào đuôi mở rộng trong tên file — đây chính là điểm giải quyết tình huống mở đầu bài, nơi kẻ tấn công đổi đuôi .exe thành .jpg để né tránh bộ lọc đơn giản dựa trên tên file.
config antivirus filepattern
edit "cac-loai-file-thuc-thi"
set comment "Chặn file thực thi kể cả đổi đuôi"
config entries
edit 1
set filter "exe"
set pattern "*.exe"
next
end
next
end
config firewall profile-protocol-options
edit "protocol-file-filter"
config http
set inspect-all enable
end
next
end
config antivirus profile
edit "chan-file-thuc-thi"
set feature-set proxy
config file-filter
set status enable
set log enable
config entries
edit 1
set filter-type type
set file-type exe
set protocol http ftp smtp imap pop3
set action block
next
end
end
next
end
Tham số filter-type type (khác với pattern chỉ so khớp tên file) chính là chìa khóa — FortiGate sẽ mở file, đọc cấu trúc byte đầu (magic number) để xác định đúng loại file thực tế là gì, bất kể tên file/đuôi mở rộng ghi là gì.
⚠️ Lưu ý: File Filter hoạt động ở tầng Antivirus Profile (
config antivirus profile→config file-filter), yêu cầufeature-set proxy— tương tự các tính năng khác đã học ở bài Antivirus Profile, File Filter theo kiểu nhận diện nội dung thật không khả dụng ở flow-based.
2.4 Các loại file thường được kiểm soát
| Loại file | Rủi ro thường gặp |
|---|---|
Executable (.exe, .msi, .bat) |
Mã độc, ransomware |
Script (.js, .vbs, .ps1) |
Mã độc ẩn trong tài liệu/email |
Archive (.zip, .rar, .7z) |
Ẩn giấu mã độc bên trong, né tránh quét trực tiếp |
Office Macro-enabled (.docm, .xlsm) |
Macro độc hại tự động chạy khi mở file |
2.5 Kết hợp File Filter với Archive Scan Depth
Với file nén (archive), Antivirus/File Filter cần "bóc" nhiều lớp để soi được nội dung thật bên trong — cấu hình độ sâu quét archive để cân bằng giữa an toàn và hiệu năng:
config antivirus settings
set archive-block encrypted multipart nested mailbomb
set archive-log encrypted multipart nested mailbomb
end
encrypted— file nén có mật khẩu (không quét được nội dung, nên chặn hoặc log để cảnh giác).nested— file nén trong file nén nhiều lớp (kỹ thuật né tránh quét phổ biến).mailbomb— archive chứa số lượng file bất thường lớn (dấu hiệu tấn công từ chối dịch vụ qua file).
⚠️ Lưu ý: File nén có mật khẩu là điểm mù thực sự của mọi engine quét nội dung — không có cách nào "nhìn xuyên" được nội dung khi không có mật khẩu giải mã. Cách xử lý thực tế thường là chặn hoặc cảnh báo mạnh đối với file archive có mật khẩu gửi từ nguồn không tin cậy, thay vì cố quét nội dung bên trong.
3. Hỏi & Đáp
DNS Filter và Web Filter có bị trùng lặp chức năng không?
Không hoàn toàn trùng lặp, dù cùng dựa trên category FortiGuard — DNS Filter chặn sớm hơn (ngay bước phân giải DNS), nhẹ tải hơn cho FortiGate. Web Filter chặn muộn hơn nhưng có thể phân tích chi tiết hơn (URL cụ thể, không chỉ domain). Nhiều triển khai dùng cả hai như hai lớp phòng thủ bổ trợ, DNS Filter chặn phần lớn traffic độc hại sớm, Web Filter xử lý phần còn sót lại chi tiết hơn.
File Filter có quét được nội dung bên trong file nén không cần mật khẩu không?
Có — với archive không mã hóa, FortiGate có thể "bóc" các lớp nén để soi nội dung file thực sự bên trong, tùy theo archive scan depth đã cấu hình. Chỉ riêng archive có mật khẩu mới thực sự là điểm mù không quét được.
Nếu chặn toàn bộ file .exe, có ảnh hưởng tới việc tải phần mềm hợp lệ không?
Có — cần cân nhắc kỹ phạm vi áp dụng, có thể giới hạn chỉ chặn ở một số Policy/nhóm người dùng cụ thể (như nhân viên văn phòng không cần tải phần mềm thường xuyên), trong khi mở riêng cho nhóm IT/kỹ thuật cần tải công cụ hợp lệ, tránh cản trở công việc chính đáng.
File Filter dựa trên nội dung có làm chậm tốc độ tải file không?
Có ảnh hưởng nhất định — vì cần đọc và phân tích nội dung thật của file (đặc biệt với archive nhiều lớp), tốn tài nguyên xử lý hơn so với chỉ so khớp tên file đơn thuần. Đây là đánh đổi cần thiết giữa hiệu năng và độ chính xác phát hiện, tương tự các cân nhắc đã học ở Antivirus proxy-based.
4. Quiz
Câu 1: DNS Filter chặn traffic độc hại ở bước nào?
- A. Sau khi tải xong toàn bộ nội dung trang web
- B. Ngay ở bước phân giải tên miền (DNS), trước khi có kết nối HTTP/HTTPS
- C. Chỉ áp dụng cho FTP
- D. Không liên quan tới bước nào trong kết nối
Câu 2: File Filter nhận diện loại file thực sự dựa trên yếu tố nào?
- A. Chỉ dựa vào đuôi mở rộng trong tên file
- B. Đọc nội dung/cấu trúc byte đầu (magic bytes) của file, không phụ thuộc tên file
- C. Dựa vào kích thước file
- D. Dựa vào ngày tạo file
Câu 3: Kỹ thuật đổi đuôi file (ví dụ .exe thành .jpg) có qua mặt được File Filter dựa trên filter-type type không?
- A. Có, vì File Filter chỉ nhìn đuôi file
- B. Không, vì File Filter đọc nội dung thật của file, không phụ thuộc tên/đuôi file
- C. Chỉ qua mặt được nếu dùng flow-based
- D. File Filter không tồn tại trên FortiGate
Câu 4: File Filter (dựa trên nội dung thật) yêu cầu Antivirus Profile ở chế độ nào?
- A. Flow-based
- B. Proxy-based (feature-set proxy)
- C. Cả hai chế độ như nhau
- D. Không cần Antivirus Profile
Câu 5: Vì sao file archive có mật khẩu được xem là điểm mù thực sự của các engine quét nội dung?
- A. Vì FortiGate không hỗ trợ quét archive
- B. Vì không có cách nào "nhìn xuyên" nội dung khi không có mật khẩu giải mã
- C. Vì archive có mật khẩu luôn an toàn
- D. Vì archive có mật khẩu không được phép gửi qua email
👉 Đáp án
Câu 1: B DNS Filter chặn ngay ở bước phân giải tên miền (DNS query), trước khi có kết nối HTTP/HTTPS thực sự được thiết lập.
Câu 2: B File Filter (với filter-type type) đọc nội dung/cấu trúc byte đầu của file để xác định đúng loại file thực sự, không phụ thuộc vào tên file hay đuôi mở rộng.
Câu 3: B File Filter dựa trên nội dung thật không bị đánh lừa bởi việc đổi đuôi file — dù đổi tên thành .jpg, nội dung byte thực tế vẫn được nhận diện đúng là file thực thi và bị chặn.
Câu 4: B File Filter theo kiểu nhận diện nội dung thật yêu cầu Antivirus Profile chạy ở chế độ Proxy-based (feature-set proxy), không khả dụng ở Flow-based.
Câu 5: B Với file archive có mật khẩu, không có cách nào giải mã để soi nội dung bên trong nếu không có đúng mật khẩu — đây là điểm mù thực sự, cần xử lý bằng chính sách chặn/cảnh báo thay vì cố quét nội dung.
📚 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 ➡️ |
|---|---|---|
| IPS: Sensor, Signature, Severity | Mục lục khóa học FortiGate | Traffic Shaping & QoS trên FortiGate |
