12/08/2018, 15:48

Xây dựng một Transparent Proxy để Filter HTTP và HTTPS với Squid trên Centos7

Tutorial này là những kinh nghiệm của bản thân mình trong lúc tìm hiểu về Squid proxy, do đó các config này nọ chỉ ở mức cơ bản vừa đủ dùng chứ cũng không tối ưu lắm. Nên kính mong các tiền bối nào có lỡ đi qua thì góp ý giúp mình để hoàn thiện hơn (bow) Squid là một caching và forwarding ...

Tutorial này là những kinh nghiệm của bản thân mình trong lúc tìm hiểu về Squid proxy, do đó các config này nọ chỉ ở mức cơ bản vừa đủ dùng chứ cũng không tối ưu lắm. Nên kính mong các tiền bối nào có lỡ đi qua thì góp ý giúp mình để hoàn thiện hơn (bow)

Squid là một caching và forwarding HTTP web proxy ,phiên bản đầu tiên của Squid được ra đời tháng 7 năm 1996. Nó có nhiều cách sử dụng cho nhiều mục đích khác nhau. Trong khuông khổ bài viết này, mình sẽ chỉ đề cập đến chế độ hoạt động gọi là Interception mode của Squid. Để có thể tìm hiểu thêm về Squid, các bạn có thể google với từ khóa Squid proxy

Transparent Proxy (proxy trong suốt) , đối với Squid thì Transparent Proxy là tên gọi của một Squid proxy khi nó hoạt động ở chế độ Interception Mode. Sở dĩ nó có tên gọi là Proxy trong suốt vì khi ở chế độ này, thì các request từ client đến các web server sẽ phải "đi xuyên" qua thằng Proxy này mà client không hề hay biết . Nghe thì có vẻ rỗi hơi, vì tự dưng tốn công cài cắm, setup các thứ các thứ chỉ để client đi xuyên qua mà không làm gì cả thì vô dụng kinh ! Mục đích của các Transparent Proxy nói chung để đáp ứng các nguyện vọng sau của nhà quản trị :

  • Tăng tốc độ kết nối và giảm lưu lượng xử lý cho router bằng cách cache các nội dung tĩnh, ít thay đổi. Lúc này thay vì user phải lặn lội lên server load lại từ đầu thì chỉ cần request là Proxy trả về nội dung luôn.
  • Tracking, monitor các kết nối http, https của user. Tất nhiên là vì mục đích an ninh chứ ko phải ghét ông nào thì mò IP của ông đó và ... block :v

Mô hình logic :

Nhìn vào mô hình trên, ta sẽ liệt kê các bước cần phải làm để triển khai một transparent proxy :

  • Forward các request http, https từ user về Squid proxy server. ( trong các trường hợp squid proxy đồng thời cũng là một router mềm đóng vai trò routing traffic thì bỏ qua bước này luôn, vì traffic mặc định nó đi vào squid rồi             </div>
            
            <div class=
0