Giới thiệu
Squid là một phần mềm proxy server dùng cho việc lưu trữ cache và lọc nội dung web. Squid hỗ trợ các giao thức HTTP, HTTPS, FTP,… giúp bạn tiết kiệm băng thông và tăng tốc độ truy cập web.
Nguyên tắc hoạt động của Squid là khi người dùng truy vấn đến 1 website thông qua Squid thì Squid sẽ kiểm tra xem nội dung trang web đó có được lưu trữ và có thay đổi không? Nếu đã có lưu trữ và không thay đổi thì Squid sẽ trả luôn nội dung đó cho người dùng mà không cần phải truy vấn đến địa chỉ website kia nữa. Điều này giúp quá trình duyệt web nhanh hơn rất nhiều.
Cài đặt Squid ubuntu
Các tính năng chính :
- Addiptoserver
- Showavailableproxies
- Adduser
- Assigniptouser
- Showsusersexpiredate
- Modifyusersexpirydate
- Showusersproxyinfo
- Deleteipfromserver
- Deleteuserproxy
- Deleteuser
- Shutdownproxy
- Startproxy
- Exportavailableproxy
- Exportusersproxy
- Addblacklist
- Showblacklist
- Deleteblacklist
- Exit
- Randomproxies
- Changeip-multiplier
apt-get update sudo apt install git git clone https://github.com/khacnam/squid.git cd squid chmod 0755 initialize.sh chmod 0755 proxy.sh ./initialize.sh
Manager proxy :
./proxy.sh
Cài đặt Squid trên CentOS
Bước 1: Cài đặt Squid
yum install -y squid
Bước 2: start squid
service squid start
Bước 3: Thiết lập file cấu hình squid.conf
Backup /etc/squid/squid.conf .
cp /etc/squid/squid.conf /etc/squid/squid.conf-backup
Tiến hành thay thế file trên bằng nội dung sau đây là file cấu hình Onet sử dụng.
http_port 3128 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 acl localnet src 10.0.0.0/22 # RFC 1918 possible internal network acl localnet src 172.16.0.0/22 # RFC 1918 possible internal network acl localnet src 192.168.0.0/22 # RFC 1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 # https 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 acl CONNECT method CONNECT #http_access allow Safe_ports #http_access allow CONNECT SSL_ports http_access allow localhost manager http_access deny manager http_access allow localnet http_access allow localhost auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid Basic Authentication auth_param basic credentialsttl 2 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users http_access allow all
Bước 4 :Xác thực squid client authentication
yum -y install httpd-tools
touch /etc/squid/passwd chown squid: /etc/squid/passwd
Tiếp theo chúng ta cần tạo một user mới có tên blogdclient và đặt password cho nó:
htpasswd /etc/squid/passwd onetidc
Khởi động lại 1 lần nữa :
systemctl restart squid
Bước 5 : Block website với squid proxy
Chúng ta chỉ cần thêm tên miền vào file .
touch /etc/squid/blacklist_site.acl
Sau đó chúng ta thêm các domain cần block:
.test1.com .test2.vn .test3.net
Trong đó dấu chấm dầu tiên giúp chúng ta loại bỏ www, cũng như các subdomain của domain đó.