Skip to main content

Cấu hình squid proxy clamav pfSense trên VMware - Phần 3

16,April 2017
Cấu hình squid proxy clamav trên pfSense 2.3

I. Lý thuyết

1. Proxy là gì ?

- Proxy tiếng anh có nghĩa là "người được ủy nhiệm, ủy quyền". 

- Proxy là một Internet server làm nhiệm vụ chuyển tiếp thông tin và kiểm soát tạo sự an toàn cho việc truy cập Internet của các máy khách, còn gọi là khách hàng sử dụng dịch vụ Internet. Trạm cài đặt proxy gọi là proxy server. Proxy hay trạm cài đặt proxy có địa chỉ IP và một cổng truy cập cố định. Ví dụ: 123.234.111.222:80. Địa chỉ IP của proxy trong ví dụ là 123.234.111.222 và cổng truy cập là 80 (theo wikipedia.org). Proxy server giống cầu nối trung gian giữa server và client.

Proxy là gì

b. Mục đích sử dụng Proxy: 

  • Lướt web nhanh hơn (do proxy có sử dụng cache đệm) 
  • Có thể lợi dụng proxy để vào 1 số web mà ISP của bạn không cho vào. (vượt tường lửa – Firewall) 
  • Lướt web an toàn hơn. Ví dụ để mua hàng ở 1 website nào đó.

c. Các loại proxy và chức năng

Phân biệt Proxy theo chức năng, thì có rất  nhiều kiểu chức năng (caching  proxy server, web proxy, Content Filtering Web Proxy, Anonymizing proxy server, Intercepting proxy server..) . Ở ví dụ trong phần đầu, sau khi tìm kiếm được danh sách một loạt các Proxy server, tại mục Proxy type, có những loại sau: Anonymous, Transparent, High Anonymity, phân biệt các kiểu Proxy này nhự thế nào

Anonymous:

- Đôi khi còn được gọi là web proxy, giúp người dùng ẩn danh (giấu IP), khi lướt Web. HTTP Proxy server không gửi thông số cụ thể của biến HTTP_X_FORWARDED_FOR tới Host đang truy cập, do vậy có thể che dấu IP của bạn. tuy nhiên, điều đó không có nghĩa giúp bạn ẩn dấu hoàn toàn, vì các website  có thể sử dụng các site script để thu thập thông tin về việc bạn đang truy cập Host của họ thông qua một Proxy nào đó đang..phục vụ cho bạn

High Anonymity:

- Mức độ che dấu tung tích cao hơn anonymous. Http Proxy hoàn toàn không gửi đi bất kì thông số nào của các biến HTTP_X_FORWARDED_FOR, HTTP_VIA và HTTP_PROXY_CONNECTION. Do vậy Internet Host không thể biết bạn đang dùng Proxy server, cũng như không detect được real IP của bạn

Transparent:

- Proxy xuyên suốt, Đôi khi còn được gọi là Intercepting proxy, khác với 2 loại trên, transparent là sự kết hợp 1 proxy server và 1 gateway.

- Đây là phương thức thường được các Network Admin “ép” User trong mạng Lan, User không nhận thức được mình đang truy cập internet qua một “cổng giám sát”

- Yêu cầu truy cập của Client đước chuyển đến gateway sau đó gateway chuyển sang Proxy server xử lý. Khi user dùng loại proxy này, thì họ không biết được rằng họ đang dùng 1 proxy và bị..kiểm soát. User chỉ cần thiết lập địa chỉ IP của gateway do Admin cung cấp, mà không phải xác lập các thông số Proxy trong trình duyệt cũng như Internet applications khác..

- Thường được các Admin trong công ty triển khai, họ muốn các chính sách của Policy được áp đặt lên user, nhưng user hầu như không biết mình đang qua 1..proxy

2. SOCKS là gì?

- SOCKS có thể hiểu đơn giản là 1 dạng Proxy cấp cao hơn. SOCKS là 1 dạng giao thức/ protocol mà Proxy Server sử dụng để chấp nhận các yêu cầu /request từ phía client. Về bản chất, SOCKS sử dụng các socket để quản lý và theo dõi từng kết nối. Và SOCKS có thể chia ra làm 2 loại: Client được tích hợp trực tiếp vào các trình duyệt Web, còn phía Server được thêm vào Proxy Server.

SOCKS là gì

- Server Sock sẽ xử lý các yêu cầu - Request từ phía client, đằng sau lớp tường lừa của hệ thống mạng doanh nghiệp, công ty, đồng thời có nhiệm vụ cho phép hoặc từ chối các Request, dựa vào điểm tới cuối cùng của các Request đó, hoặc thông tin nhận diện tài khoản của User. Một khi kết nối và tần suất các Request được thiết lập, các tín hiệu trả về từ phía server sẽ theo các giao thức bình thường và hiển thị trên máy tính của người dùng.

3. Sự khác nhau giữa Proxy và SOCKS

- Server SOCKS chủ yếu phục vụ server Proxy với mục đích tạo, thiết lập kết nối dạngTCP đến 1 hoặc nhiều server khác, thay cho client, sau đó chuyển hướng toàn bộ dữ liệu - traffic quay ngược trở lại giữa client và server. Và SOCKS hoạt động với bất kỳ giao thức mạng nào, trên tất cả các cổng. SOCKS Version 5 còn có thêm khả năng bảo mật cao và hỗ trợ UDP (User Datagram Protocol). Và về bản chất, SOCKS không hề biên dịch chút dữ liệu nào giữa client và server, mà chỉ được sử dụng trong trường hợp hệ thống client đang được bảo vệ bởi Firewall, đồng thời những client đó không thể tạo được kết nối chuẩn TCP tới server (bên ngoài Firewall), trừ khi chúng được thực hiện qua server SOCKS.

Hầu hết tất cả các trình duyệt web hiện nay đề hỗ trợ khả năng kết nối qua các server SOCKS. Bởi vì, trước tiên client phải tạo được kết nối đến server SOCKS, và thông báo với server rằng client đó muốn kết nối đến host nào.

- Còn HTTP Proxy  thì cũng tương tự như vậy, được sử dụng với cùng mục đích vớiServer SOCKS, nhưng trong những trường hợp client ở đằng sau lớp Firewall, đồng thời bị ngăn chặn khi tạo kết nối TCP ra ngoài - outgoing ở phía ngoài của Firewall. Tuy nhiên, không giống như server SOCKS, HTTP Proxy có thể hiểu được, đồng thời biên dịch các luồng dữ liệu - traffic được chuyển giữa client và server, mà chúng ta hay gọi là giao thứcHTTP. Và cũng vì vậy mà HTTP Proxy cũng chỉ được dùng để xử lý dữ liệu trên HTTP. Cụ thể hơn, HTTP Proxy có thể dễ dàng nhận ra các tín hiệu với tình trạng lặp đi lặp lại nhiều lần, lưu những yêu cầu đó vào bộ nhớ đệm để cải thiện hiệu suất hệ thống. Và cũng vì lý do đó mà rất nhiều nhà cung cấp dịch vụ Internet - ISP đã sử dụng HTTP Proxy, bất kể các trình duyệt được thiết lập, cấu hình thế nào đi nữa, vì lẽ đơn giản là tất cả traffic đều được điều hướng qua cổng 80 trên Server Proxy.

II. Thực hành 

1. Cấu hình squid proxy trên pfSense 

Bước 1: Cài đặt squid package.

- Chọn "System > Package Manager > chọn Tab Available Packages" , các bạn gõ "squid" vào ô tìm kiếm -> Nhấn "Install" để cài đặt "squid & squidGuard"

Cấu hình squid proxy trên pfSense

 

Cấu hình squid proxy trên pfSense

 

Bước 2: Cấu hình squid proxy 

- Cấu hình Local Cache . Vào "Services > Squid Proxy > Local Cache Tab" .Mục  Cache Replacement: Heap LFUDA, Hard Disk Cache Size: 2048, Maximum Object Size: 512, Memory Cache size: 512 -> Click "Save" để lưu cấu hình

Cấu hình squid proxy trên pfSense

 

- Cấu hình tích hợp antivirus.Chọn "Services > Squid Proxy > Antivirus Tab" .Tích vào "Enable Squid antivirus check using ClamAV" , Tích "Enable Google Safe Browsing support", "ClamAV Database Update : every 1 hour"  -> Click "Save" để lưu cấu hình

Cấu hình squid proxy antivirus clamav trên pfSense

 

- Enable Squid Proxy: Chọn "Services > Squid Proxy > General Tab" .Tích vào "Check to enable the Squid Proxy" , Proxy interface(s): LAN, Tích vào "Allow Users on Interface", Tích vào "Transparent HTTP Proxy", Transparent Proxy Interface(s): LAN, Tích "Enable Access Logging", Log Store Directory: /var/squid/logs  -> Click "Save" để lưu cấu hình

Cấu hình squid proxy antivirus clamav trên pfSense

 

- Để restart hoặc stop service. Chọn "Status > Services" -> Click vào biểu tượng "restart hoặc stop" như hình dưới

Cấu hình squid proxy trên pfSense

Bước 3: Kiểm tra squid proxy trên client.

- Chúng ta bật máy ảo "Window" để card mạng cùng dải LAN của pfSense (VMnet8). Sau đó truy cập địa chỉ "http://whatismyipaddress.com/proxy-check"  để kiểm tra xem squid proxy có enable trên client hay không như hình dưới ta thấy "Proxy server detected" 

Cấu hình squid proxy trên pfSense