Squid Proxy là gì?
Squid là một ứng dụng proxy HTTP ổn định, phổ biến dựa trên Linux. Trong khi đó, Máy chủ Proxy Squid được sử dụng để lọc lưu lượng truy cập, bảo mật và tra cứu DNS.
Squid Proxy cho phép máy chủ lưu vào bộ đệm những website thường xuyên truy cập. Khi người dùng yêu cầu một trang web hoặc tệp thì yêu cầu đó sẽ chuyển trực tiếp đến Proxy Server – là thiết bị trung gian giữa người dùng và internet. Máy chủ proxy lấy tài nguyên và chuyển tiếp chúng cho người dùng.
Trong bài viết này, LANIT sẽ hướng dẫn bạn cách cài đặt và cấu hình Squid Proxy trên máy chủ Ubuntu 20.04 chi tiết.
Điều kiện để cài đặt Squid Proxy trên Ubuntu 20.04
Để thực hiện theo hướng dẫn này, bạn sẽ cần đáp ứng đủ các điều kiện sau:
- Máy chủ Hệ điều hành Ubuntu 20.04
- Người dùng không phải Root có đặc quyền Sudo
- Bạn nên sử dụng tên miền your_domain của mình (tên miền hoặc địa chỉ IP của riêng bạn)
Hướng dẫn cài đặt Squid Proxy trên Ubuntu 20.04
Bước 1: Cài đặt Squid Proxy
Với tư cách là người dùng không phải Root để cập nhật danh sách gói của bạn và cài đặt Squid Proxy, bạn cần bắt đầu chạy các lệnh sau:
apt update
apt upgrade
Cài đặt squid
apt install squid
Squid sẽ tự động thiết lập một dịch vụ nền và sẽ bắt đầu sau khi kết thúc cài đặt. Sau đó, kiểm tra xem dịch vụ có đang chạy đúng không.
systemctl status squid.service
Output
Đọc thêm: Cách Cấp quyền Root trong Linux
Bước 2: Kích hoạt tính năng kết nối cho client
Mặc định, Squid không cho phép máy khách nào kết nối với nó từ bên ngoài máy chủ. Để kích hoạt tính năng đó, bạn cần thay đổi tệp cấu hình của nó, được lưu trữ ở định dạng /etc/squid/squid.conf. Mở nó trong nano hoặc trình soạn thảo văn bản yêu thích của bạn:
sudo nano /etc/squid/squid.conf
Lưu ý: Tệp cấu hình mặc định của Squid rất dài và chứa lượng lớn các tùy chọn đã tạm thời bị vô hiệu hóa bằng cách thêm dấu # ở đầu dòng. Giúp cho việc tìm kiếm các tệp chỉnh sửa được dễ dàng hơn. Trong nano, bạn có thể nhấn Ctrl+W, nhập cụm từ tìm kiếm =>nhấn Enter => nhấn Alt+W để tìm phiên bản tiếp theo của cụm từ đó khi cần.
Bắt đầu tìm kiếm đến dòng chứa cụm từ http_access deny all là bạn sẽ thấy một đoạn giải thích các quy tắc truy cập mặc định của Squid.
Lúc này, bạn có thể thấy localhost được cho phép còn các kết nối khác thì không.
Lưu ý: Các quy tắc này được phân tích cú pháp theo trình tự, bạn nên giữ quy tắc từ chối tất cả ở cuối khối cấu hình này. Bạn có thể thay đổi quy tắc để cho phép tất cả, cho phép mọi người kết nối với máy chủ proxy của bạn, nhưng điều đó là không nên. Thay vào đó, bạn có thể thêm một dòng phía trên http_access allow localhost bao gồm địa chỉ IP của riêng bạn, như sau:
acl localnet src your_ip_address
Note:
- acl: Danh sách kiểm soát truy cập
- Src : Nơi yêu cầu sẽ bắt nguồn từ bên dưới acl này (IP của bạn)
- localnet: tên ACL của bạn.
Sau khi thực hiện các thay đổi hãy Lưu và Đóng tệp. Nếu bạn đang sử dụng nano, hãy nhấn Ctrl + X => nhấn Y và Enter.
Sau đó, bạn có thể khởi động lại Squid và kết nối nó. Tuy nhiên, bạn cần thực hiện các bước tiếp theo dưới đây để bảo mật nó trước.
Bước 3: Bảo mật Squid
Squid cho phép bạn tạo các cặp tên người dùng – mật khẩu thông qua việc sử dụng chức năng Linux tích hợp. Giúp hạn chế quyền truy cập vào proxy của bạn theo địa chỉ IP. Bạn cần tạo một tệp có tên là /etc/squid/passwords và trỏ cấu hình của Squid tới tệp đó.
Đầu tiên, cần cài đặt một số tiện ích từ Apache để có quyền truy cập vào trình tạo mật khẩu mà Squid cho phép.
apt install apache2-utils
Bạn có thể sử dụng tên đã đăng nhập. Bạn cũng sẽ được thông báo thêm mật khẩu:
htpasswd -c /etc/squid/passwords your_squid_username
Thao tác này sẽ lưu trữ tên người dùng cùng với mật khẩu mới của bạn trong /etc/squid/passwords, mật khẩu này sẽ được Squid sử dụng làm nguồn xác thực. Sau đó, bạn có thể CAT tệp để xem nó trông như thế nào:
cat /etc/squid/passwords
Tiếp đến cập nhật cấu hình của Squid để sử dụng tệp /etc/squid/passwords mới của mình. Sử dụng nano hoặc trình soạn thảo văn bản mở lại tệp cấu hình Squid và thêm các dòng được đánh dấu sau:
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
…
http_access allow authenticated
nano /etc/squid/squid.conf
Các chỉ thị bổ sung này yêu cầu Squid kiểm tra tệp mật khẩu mới để biết các hàm mật khẩu có thể được phân tích cú pháp bằng cơ chế basic_ncsa_auth và yêu cầu xác thực để truy cập vào proxy của bạn.
Cuối cùng, khởi động lại Squid sau khi đã thay đổi cấu hình.
systemctl restart squid.service
Mở port 3128 trong tường lửa nếu bạn đang sử dụng ufw:
apt install ufw
ufw allow 3128
Cuối cùng bạn sẽ kết nối với proxy của mình.
Bước 4: Kết nối thông qua Squid
Để minh họa máy chủ Squid bạn sẽ sử dụng dòng lệnh có tên là curl. Bạn sử dụng curl trên máy cục bộ để thực hiện việc này.
curl -v -x http://your_squid_username:your_squid_password@your_server_ip:3128 http://www.google.com/
Đối số -x chuyển một máy chủ proxy tới cuộn tròn, bạn đang sử dụng giao thức http://, chỉ định tên người dùng và mật khẩu cho máy chủ này. Sau đó kết nối với một web quen thuộc nào đó đang hoạt động như google.com.
Như vậy bạn đã thực hiện thành công các bước cài đặt Squid Proxy.
Các lệnh khi làm việc với Squid Service
- Để kiểm tra trạng thái của phần mềm Squid của bạn, hãy nhập: sudo systemctl status squid
- Để bắt đầu dịch vụ, hãy nhập: sudo systemctl start squid
- Đặt dịch vụ Squid khởi chạy khi hệ thống khởi động bằng cách nhập: sudo systemctl enable squid
- Để dừng dịch vụ, sử dụng lệnh: sudo systemctl stop squid
- Để ngăn Squid khởi chạy khi khởi động, hãy nhập: sudo systemctl disable squid
Kết luận
Trên đây, LANIT đã chia sẻ chi tiết đến bạn đọc các khái niệm về Squid Proxy cũng như cách cài đặt Squid Proxy và các câu lệnh liên quan. Chúng tôi hy vọng rằng với các bước cài đặt chi tiết trên sẽ giúp bạn thực hiện nhanh chóng việc cài đặt Squid Proxy trên Ubuntu 20.04 thành công. Ngoài ra, nếu bạn có nhu cầu mua VPS giá rẻ, liên hệ ngay LANIT để được tư vấn chi tiết!
Chúc bạn thành công!