Hướng dẫn cài đặt Squid Proxy Server trên Ubuntu 22.04

Hướng dẫn chi tiết cách cài đặt Squid Proxy Server trên Ubuntu 22.04. Tăng tốc mạng, bảo mật truy cập và quản lý lưu lượng với các bước cài đặt đơn giản.

Squid là một proxy server mã nguồn mở phổ biến dựa trên Linux được sử dụng để kiểm soát truy cập, tăng tốc độ tải trang web và cải thiện bảo mật cho mạng nội bộ. Squid có thể hoạt động như một proxy caching, lọc truy cập và cân bằng tải, giúp tối ưu hóa việc sử dụng băng thông và tăng cường hiệu suất mạng. Trong bài viết này, Suncloud sẽ hướng dẫn bạn cách cài đặt và cấu hình cơ bản Squid Proxy Server trên Ubuntu 22.04.

1. Squid Proxy Server là gì?

Squid Proxy Server là một phần mềm mã nguồn mở dùng để cung cấp dịch vụ proxy caching và web caching. Squid thường được sử dụng để giảm băng thông và cải thiện hiệu suất bằng cách lưu trữ các nội dung web được truy cập thường xuyên. Ngoài ra, Squid còn hỗ trợ nhiều giao thức mạng như HTTP, HTTPS, FTP, và một số giao thức khác. Nó cũng có thể được cấu hình để làm proxy ngược (reverse proxy), bảo mật truy cập mạng và kiểm soát lưu lượng truy cập.

Squid Proxy Server là gì?

2. Cài đặt Squid Proxy Server trên Ubuntu 22.04

2.1. Cài đặt Squid

Đảm bảo hệ thống được cập nhật trước khi cài đặt.

apt -y update

Tiến hành cài đặt Squid

apt -y install squid

Tiến hành cài đặt Squid

Kiểm tra trạng thái dịch vụ

systemctl status squid

Kiểm tra trạng thái dịch vụ

Start và enable dịch vụ

systemctl start squid

systemctl enable squid

2.2. Cấu hình kiểm soát truy cập vào proxy bằng địa chỉ IP

Mặc định, file cấu hình chính của squid tại /etc/squid/squid.conf

Tiến hành sao lưu file cấu hình gốc trước khi thực hiện bất kỳ thay đổi nào

cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

Ta có thể thiết lập quyền truy cập trên Squid bằng các tạo một file chứa các địa chỉ IP hoặc dải IP mà bạn muốn cho phép sử dụng proxy hoặc thêm trực tiếp IP vào file cấu hình của squid.

Tạo 1 file chứa danh sách các địa chỉ IP

vi /etc/squid/list_ips.txt

Thêm các địa chỉ ip vào file. Ví dụ:

192.168.99.99

192.168.77.0/24

Chỉnh sửa file cấu hình Squid để sử dụng danh sách IP

vi /etc/squid/squid.conf

Tạo một ACL có tên Allow_IPs và allow http_access

acl Allow_IPs src "/etc/squid/list_ips.txt"

http_access allow Allow_IPs

Cấu hình cơ bản của squid:

#list ACL

acl Allow_IPs src "/etc/squid/list_ips.txt"

#port use HTTPS

acl SSL_ports port 443

#Port allow access

acl Safe_ports port 80          # http

acl Safe_ports port 21          # ftp

acl Safe_ports port 443         # https

acl Safe_ports port 70          # gopher

acl Safe_ports port 210         # wais

acl Safe_ports port 1025-65535  # unregistered ports

acl Safe_ports port 280         # http-mgmt

acl Safe_ports port 488         # gss-http

acl Safe_ports port 591         # filemaker

acl Safe_ports port 777         # multiling http

#Deny all port khong duoc list trong Safe_ports

http_access deny !Safe_ports

#Deny all yeu cau 'connect' den cac port khong duoc liet ke trong SSL_ports

http_access deny CONNECT !SSL_ports

#Allow access den Squid Manager tu 'localhost'

http_access allow localhost manager

#Deny all tu ben ngoai

http_access deny manager

#comment out and add the line (apply ACL for internal network)

#http_access allow localhost

http_access allow Allow_IPs

include /etc/squid/conf.d/*.conf

#Deny all

http_access deny all

#listen port

http_port 3128

#Vi tri luu cac file coredump khi xay ra error

coredump_dir /var/spool/squid

#Config cache and refresh patterns

refresh_pattern ^ftp:           1440    20%     10080

refresh_pattern ^gopher:        1440    0%      1440

refresh_pattern -i (/cgi-bin/|\\?) 0     0%      0

refresh_pattern \\/(Packages|Sources)(|\\.bz2|\\.gz|\\.xz)$ 0 0% 0 refresh-ims

refresh_pattern \\/Release(|\\.gpg)$ 0 0% 0 refresh-ims

refresh_pattern \\/InRelease$ 0 0% 0 refresh-ims

refresh_pattern \\/(Translation-.*)(|\\.bz2|\\.gz|\\.xz)$ 0 0% 0 refresh-ims

refresh_pattern .               0       20%     4320

#Rule manager or deny cac header HTTP trong request

request_header_access Referer deny all

request_header_access X-Forwarded-For deny all

request_header_access Via deny all

request_header_access Cache-Control deny all

#Show or hiden ip client

forwarded_for off

Lưu ý: Để ẩn IP của client, ta sử dụng forwarded_for off

Cấu hình Squid cơ bản trên Ubuntu 22.04

Khởi động lại dịch vụ để áp dụng các thay đổi

systemctl restart squid 

Tổng kết

Tóm lại, Squid là một phần mềm mã nguồn mở mạnh mẽ, dễ cấu hình để quản lý, kiểm soát truy cập an toàn Internet, tăng cường bảo mật cho hệ thống mạng của bạn. Hy vọng hướng dẫn này sẽ giúp bạn triển khai thành công Squid trong hệ thống của mình. Nếu gặp phải khó khăn cần được giải đáp, hãy liên hệ với chúng tôi ngay để được tư vấn, hỗ trợ nhanh nhất nhé. Chúc bạn thành công!

Tác giả:
author avatar
Mình là Huy, hiện mình đang là kỹ sư hệ thống tại SunCloud. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn về mạng, hệ thống, điện toán mây và an ninh bảo mật. Mình đã triển khai và vận hành rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số chứng chỉ quốc tế như CCNP, LPI, VCP, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.

Tin tức nổi bật
Tin tức khác