Hướng Dẫn Cấu Hình Squid Proxy Cho Pfsense - Nguyen Manh Dung

I. Lý thuyết

1. Proxy là gì ?

ProxyServer Proxy hay Proxy Server (cũng là 1), chúng ta có thể hiểu nôm na là 1 chiếc máy tính khác có nhiệm vụ xử lý dữ liệu, giống như 1 bộ chuyển đổi thông tin của tín hiệu Internet. Bằng việc kết nối qua 1 hoặc nhiều những chiếc server như trên, ban đầu máy tính của người dùng – bạn sẽ gửi đi những tín hiệu yêu cầu – requestqua proxy server, tại đây những thông tin đó sẽ được xử lý và trả lại những gì bạn thấy mỗi khi truy cập vào Internet.

Theo cách hiểu này, thì Proxy đóng vai trò trung gian giữa chiếc máy tính bạn đang sử dụng với toàn bộ môi trường Internet bên ngoài. Bên cạnh đó, Proxy còn được dùng để lọc, ngăn chặn các website, hoặc chính xác hơn là những nội dung website tùy theo nhu cầu của chính phú, các nhà cung cấp dịch vụ…

proxy-server-la-gi.png
Proxy Server “nằm giữa” người dùng và Internet

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.

SOCKS5-Proxy-vs-VPN-Whats-the-Difference.png

– 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”

axabdbabdbad.png

xxxxxxxxxxxxxxxxxxxxxxxxxxxx.png

xxxxxxxxxxxxxxxxxxxxxxx.png

Squid: chức năng  làm Proxy Server

SquidGuard: cho phép ta cấu hình để lọc các đối tượng  hay nói cách khác là tạo các Access List cho Proxy để cấm user  truy cập vào website.

LightSquid: để tạo các Report.

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

 Cấu hình Local Cache . Vào “Services > Squid Proxy ServerLocal 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

cai-dat-va-cau-hinh-pfsense-11.JPG

Góc giải thích: 

Mục Cache Replacement có 4 lựa chọn :

cahereplacement.png

Heap LFUDA : Giữ các đối tượng phổ biến trong bộ nhớ cache bất kể kích thước của chúng nhờ đó tối ưu hóa tốc độ truy cập website của user

Heal GDSF : Tối ưu tốc độ truy cập website bằng cách lưu cache cho các đối tượng có dung lượng nhỏ hơn.

LRU: Giữ các đối tượng được truy cập gần nhất , các đối tượng có thời gian truy cập lâu nhất sẽ bị xóa bớt khỏi cache

Tiếp theo 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

cai-dat-va-cau-hinh-pfsense-14.JPG

ClamAV là một mã nguồn mở (GPL), bộ công cụ chống virus, đặc biệt là cho thư điện tử quét trên cổng email. Phát hiện hơn 750.000 virus, worms, trojan, bao gồm cả Microsoft Office virus macro, phần mềm độc hại di động và mối đe dọa khác.Mdaemon các bạn cũng sẽ thấy nó dùng ClamAV để quét mail 🙂

– Tiếp theo 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

cai-dat-va-cau-hinh-pfsense-12.JPG

– Để 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

cai-dat-va-cau-hinh-pfsense-15.JPG

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”

cai-dat-va-cau-hinh-pfsense-13.JPG

2. Cấu hình squid Guard trên pfSense 

Squid Guard có tính năng chính để lọc web đen,web cấm, facebook các kiểu 😀  , để thực hiện việc này thì nó tạo ra access list rồi kết hợp với Squid Proxy để các user bên trong pfsense không truy cập được các website bị cấm.

Truy cập Services -> SquidGuard Proxy Filter ->General Settings bật Enable ->Apply

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Phần Logging check cả 3 Options

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.png

Enable BlackList và nhập địa chỉ http://www.shallalist.de/Downloads/shallalist.tar.gz vào ô Blacklist URL , đây là địa chỉ update các list web đen , web bạo lực , web máu me … các thể loại web.

Trong trường hợp muốn thay trang hiện lên báo web bị chặn bởi con bạch tuộc bằng trang web trắng thì các bạn check vào ô Clean Advertising , mình để mặc định nên không check vào 🙂

xxw1.png

Tiếp theo Services -> SquidGuard Proxy Filter -> Blacklist -> Download 

xxxb1.png

xxxva.png

xxxvaaa.png
Muốn deny các website Film heo thì chọn mục [blk_BL_porn] bấm deny

Chúc các bạn thao tác thành công!

Share this:

  • X
  • Facebook
Like Loading...

Từ khóa » Cài đặt Proxy Pfsense