Giải thuật lọc nội dung (text/html) cho cổng Internet của một mạng LAN (hiện đang được công ty Điện toán và Truyền số liệu áp dụng triển khai trên 20.000 đại lý Internet công cộng):
Module WebFilter sẽ lắng nghe kết nối tại port 8080, nếu nhận được kết nối và request HTTP từ client thì nó sẽ kiểm tra xem có phải kết nối này tới Proxy (người dùng tự thiết lập thông số Proxy bằng tay, hoặc Firewall tự động chuyển kết nối port 80 sang port 8080) nếu sai thì hủy kết nối, nếu đúng kiểm tra URL. Chi tiết giải thuật được mô tả trong hình. Các bước chính thực hiện của giải thuật gồm:
o WebFilter thực hiện kiểm tra xác định nhận dạng của người dùng bằng cách thử: xác thực header proxy, NTLM, nhận dạng server.
o Kiểm tra URL có chứa nội dung hợp lệ hay không?
o Bộ lọc tạm thời có cho qua hay không?
o IP của client, username, domain request hoặc URL có nằm trong danh sách được phép hay không?
o Có cần quét nội dung trang web tương ứng với URL không?
o Có phải trang web là ngoại lệ hoặc trong chế độ cookie bypass và request không phải là banned hoặc trong chế độ quét nội dung không? Nếu đúng thì chuyển yêu cầu header của client tới proxy, nếu sai thì kiểm tra tiếp: cho phép banner hoặc HTTPS request và không trong chế độ bypass/exception? Nếu đúng thì kiểm tra xem request có phải banned không và kiểm tra HTTPS. Nếu sai thì chuyển yêu cầu header của client tới proxy, nhận các header trả lại từ proxy (chuyển sang sơ đồ giải thuật tiếp theo).
Hình 2.2. Sơ đồ giải thuật lọc cho mạng LAN 2
o Có trong chế độ bypass?
o Có trong chế độ exception?
o Kiểm tra MIME type trả lại.
o Kiểm tra phần mở rộng trả lại.
o Kiểm tra Proxy header
Hình 2.3. Sơ đồ giải thuật lọc cho mạng LAN 3
o Kiểm tra: cache URL là enabled và không trong chế độ scanning; hoặc cache URL được quét là enabled. Nếu đúng, kiểm tra xem URL có nằm trong clean cache không? Nếu URL nằm trong clean cache thì chuyển sang sơ đồ giải thuật tiếp theo.
o Tải body từ Proxy
o Có trong chế độ scanning? Nếu có: thực hiện quét nội dung.
o Có trong chế độ bypass hoặc exception? Nếu không: thực hiện lọc nội dung nếu kiểu MIME là plaintext.
Hình 2.4. Sơ đồ giải thuật lọc cho mạng LAN 4
o Tải phần còn lại của body từ proxy (nếu có).
o Nếu URL không có trong cache, header phù hợp, và nội dung dạng text hoặc caching URL đã được search, thì thêm URL vào cache.
o Forward header từ Proxy tới client.
o Kiểm tra xem phần body đã được tải xuống và lưu trữ hay chưa. Nếu rồi thì gửi cho client phần nội dung bypass. Nếu chưa thì forward body từ proxy tới client