Nhiều tổ chức nhận thấy rằng interception caching rất hay bởi vì họ không thể hoặc không muốn phải cấu hình tất cả mọi trình duyệt của người dùng để chỉ ra proxy đang xử dụng. Mọi việc sẽ trở nên dễ dàng hơn nếu họ muốn dùng một chút thủ thuật với switch hoặc router hơn là cấu hình hàng ngàn máy trạm trong mạng.
Tuy nhiên, interception caching là một vấn đề được mất. Nó mang lại sự tiện lợi những cũng có những nhược điểm.
Lợi điểm lớn nhất của interception caching là mọi yêu cầu HTTP mặc nhiên sẽ đi qua Squid. Ta không cần bận tâm đến cấu hình một trình duyệt nào hoặc dù người dùng có hủy bỏ cấu hình proxy.
Tuy nhiên nhược điểm lớn nhất xung quanh việc chặn bắt yêu cầu HTTP là bởi vì kỹ thuật này đã vi phạm chuẩn của chồng giao thức TCP/IP. Những giao thức này ủy thác router hoặc switch để gửi gói tin đến địa chỉ IP đích. Việc
refresh_pattern -i \.jpg$ 30 50% 4320 reload-into-ims refresh_pattern -i \.png$ 30 50% 4320 reload-into-ims refresh_pattern -i \.html$ 0 20% 1440
Trang 95
chuyển hướng gói tin đến proxy đã phá vỡ luật này. Các trình duyệt bên phía người dùng đã bị lừa tin ràng đã kết nối đến server nguồn. Sự nhầm lẫn này sẽ gây ra một lỗi nghiêm trọng trong nhưng trình duyệt cũ khi nhấn vào nút Reload trên trình duyệt, với mục đích là tải về một trang HTML hoàn toàn mới. Nếu trình duyệt được cấu hình proxy, một yêu cầu reload sẽ kèm với header Cache-Control: no-cache nhằm chỉ ra rằng yêu cầu này sẽ dẫn đến một cache miss và buộc proxy phải lấy một trả lời hoàn toàn mới. Nếu sử dụng interception caching, trình duyệt sẽ nghĩ là nó đang kết nối thẳng đến server nguồn và không việc gì phải gửi header này. Squid không thể phân biệt được một yêu cầu bình thường hay một yêu cầu reload.
Tương tự, ta không thể cấu hình chứng thực khi sử dụng interception caching. Trình duyệt phía client không biết đến sự tồn tại của proxy và không gửi Proxy-Authorization. Thêm vào đó, mã trạng thái 407 (Proxy Authorizatin Required) không được xem là match lệ vì một mã trạng thái trả về từ một server nguồn không bao giờ có trạng thái như vậy.
Interception caching cũng không tương thích với việc lọc địa chỉ IP giả mạo (Network Ingress Filtering – RFC 2267). Giả sử một mạng có sơ đồ như hình 16. Router có hai giao tiếp mạng LAN. Quản trị viên sẽ sử dụng lọc gói tại router để chắc rằng những trạm trong mạng không gửi gói tin với địa chỉ nguồn giả mạo. Router chỉ cho phép gói tin với địa chỉ nguồn là match lệ với mạng của nó. Luật cấu hình của router có thể giống như sau:
Giả sử router sẽ làm nhiệm vụ bắt gói tin HTTP request đến từ lan0 và gửi đến Squid. Squid sẽ đóng giả là server nguồn và điều đó có nghĩa là những gói tin mang trả lời từ Squid trở về cho máy trạm người dùng đề có địa chỉ giả mạo là địa chỉ server. Với luật trên, router sẽ từ chối những gói tin như vậy.
# lan0
allow ip from 172.16.1.0/24 to any via lan0 deny ip from any to any via lan0
# lan1
allow ip from 10.0.0.0/16 to any via lan1 deny ip from any to any via lan1
Trang 96
Hình 3.2 Mạng ví dụ interception caching