[Ubuntu] Cài đặt Squid Proxy trên Ubuntu 22.04
Squid Proxy là một phần mềm proxy server mã nguồn mở được sử dụng để lưu trữ bản sao của các tài nguyên web đã được truy cập trước đó. Khi người dùng yêu cầu truy cập tài nguyên web, Squid Proxy sẽ truy vấn lưu trữ của mình trước khi chuyển tiếp yêu cầu này đến máy chủ web gốc. Nếu Squid Proxy đã lưu trữ bản sao của tài nguyên đó, nó sẽ trả về bản sao đó cho người dùng, giúp giảm tải cho máy chủ gốc và tăng tốc độ truy cập.
Squid Proxy cũng có thể được sử dụng để kiểm soát truy cập vào các tài nguyên web bằng cách thiết lập các chính sách quản lý truy cập. Nó cũng cung cấp các tính năng bảo mật như chứng thực người dùng và mã hóa dữ liệu truyền tải giữa Squid Proxy và máy khách. Squid Proxy là một trong những phần mềm proxy server phổ biến nhất và được sử dụng rộng rãi trong các môi trường doanh nghiệp và hệ thống mạng lớn.
Hôm nay Nhân Hòa sẽ cùng các bạn cài đặt Squid proxy trên Ubuntu 22.04 và đặt một số acl cơ bản trên Squid server
Mở terminal trên Ubuntu 22.04 và cập nhật các gói phần mềm bằng lệnh sau:
apt update -y apt upgrade -y
Cài đặt Squid Proxy Server bằng lệnh sau:
apt install squid -y
Sau khi cài đặt xong, bạn có thể chỉnh sửa cấu hình Squid bằng cách mở file /etc/squid/squid.conf
và sửa các thiết lập theo nhu cầu của bạn. Để tránh làm hỏng cấu hình, bạn có thể sao lưu file cấu hình trước khi chỉnh sửa:
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
Khởi động lại dịch vụ Squid Proxy Server
systemctl restart squid.service systemctl enable squid.service systemctl status squid.service
Nếu Squid Proxy Server đã hoạt động chính xác, bạn sẽ thấy thông báo “active (running)” trong kết quả trả về.
Mặc định squid sẽ lắng nghe ở cổng 3128 ở tất cả các network interfaces trong server
Nếu bạn muốn đổi port cho một interface cụ thể, bạn sẽ tìm dòng bắt đầu bằng http_port
và chỉ định IP của interface và port mới. Nếu không có interface nào được chỉ định thì Squid sẽ lắng nghe ở tất cả các interfaces
Phần lớn người dùng thường chạy Squid ở tất cả các interfaces với port mặc định
Squid cho phép bạn kiểm soát clients truy cập các tài nguyên web sử dụng Access Control Lists (ACLs). Mặc định thì quyền truy cập mặc định là chỉ từ localhost. Nếu tất cả clients mà sử dụng proxy này đều có một địa chỉ IP tĩnh, thì tuỳ chọn đơn giản nhất để kiểm soát truy cập vào proxy server là tạo ra một ACL trong đó có những IP được cho phép. Ngoài ra bạn có thể yêu cầu xác thực khi sử dụng squid
Thay vì thêm các địa chỉ IP vào trong file cấu hình chính, tạo một file riêng lưu trữ các địa chỉ IPs được yêu cầu. Chẳng hạn như files /etc/squid/allowed_ips.txt với nội dung như ở dưới
58.186.44.179 14.248.82.194
Thay địa chỉ trên bằng IP public của bạn.
Sau khi hoàn thành, mở file cấu hình và tạo một ACL mới có tên là allowed_ips và cho phép truy cập vào ACL sử dụng chỉ thị http_access
acl allowed_ips src "/etc/squid/allowed_ips.txt"
http_access allow allowed_ips
Chặn website
Bạn thêm danh sách website vào file
vi etc/squid/website_block.txt
Thêm vào
.facebook.com .youtube.com
Sau đó thêm 1 accesslist như sau
acl block dstdomain "/etc/squid/website_block.txt"
http_access deny block
systemctl restart squid.service
Log thể hiện đã chặn :
Chặn từ khóa trong URL
Tạo từ khóa cần chặn tại
vi /etc/squid/blockedurls.txt
sex port download
Sau đó chúng ta thêm accesslist
acl blockkeyword url_regex -i "/etc/squid/blockedurls.txt" http_access deny blockkeyword systemctl restart squid.service
Các website mà url có chứa các cụm từ trong /etc/squid/blockedurls.txt sẽ bị chặn.
Chặn loại tệp tin
Bạn có thể hạn chế download trực tiếp các tệp cần chặn
vi /etc/squid/externsions.txt
Thêm vào
.mp4 .mp3 .zip .pdf .png .jpg
Tạo acl
acl blockexentions urlpath_regex -i "/etc/squid/externsions.txt"
http_access deny blockexentions
systemctl restart squid.service
Như vậy Nhân Hòa đã giới thiệu đến các bạn cơ bản về Squid Proxy
Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com