在ubutnu上設置squid代理認證
為了在Ubuntu上設置Squid代理身份驗證,您需要對Squid配置文件進行以下一些調整:
生成Squid代理身份驗證密碼
htpasswd是兩種可用於生成代理用戶身份驗證密碼的工具。雖然 htpasswd 加密密碼並以混雜格式存儲密碼,但 htdigest 將密碼存儲在純文本中,因此不安全。在此指南中,我們將使用 htpasswd 實用程序。htdigest
為了使用htpasswd,您需要安裝。安裝它:httpd/apache2-utils
sudo apt-get install apache2-utils
sudo yum install httpd-tools
安裝后,運行下面的命令以生成密碼供用戶驗證。
htpasswd -c /etc/squid/.squid_users amos
New password:
Re-type new password:
Adding password for user amos
這為用戶amos創建一個密碼,並將其存儲在。/etc/squid/.squid_users
要添加更多用戶,您需要從htpasswd命令中刪除選項-c:
htpasswd /etc/squid/.squid_users john
New password:
Re-type new password:
Adding password for user john
當您檢查密碼文件時,現在有兩個用戶使用加密密碼:
less /etc/squid/.squid_users
amos:$apr1$IyfTZICg$2fPImX5o14XC2KPF1kZWv/
john:$apr1$5o0XKeto$m6c5B5KK5ZAK/7A/VIgYB/
squid用戶應該能夠閱讀此文件。因此,運行下面的命令以設置適當的權限:
chown squid /etc/squid/.squid_users
驗證用戶名和密碼是否適用於squid代理。對於每一個正確的條目,您應該看到如下所示顯示:OK
/usr/lib64/squid/basic_ncsa_auth /etc/squid/.squid_users
amos password
OK
john password
OK
配置Squid代理身份驗證
由於一切似乎都很好,繼續設置Squid代理基本身份驗證。打開Squid配置文件進行編輯並添加以下行。
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.squid_users
auth_param basic children 5
auth_param basic realm Proxy Authentication Required
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl auth_users proxy_auth amos john
http_access allow auth_users
作為上面所述行的簡要概述:
- 第一行告訴Squid使用幫手程序,並在文件中查找用戶名和密碼。
basic_ncsa_auth/etc/squid/.squid_users
- 該線指定了生成Squid身份驗證器過程的最大數量。
auth_param basic children 5
auth_param basic realm
指定要向客戶報告身份驗證方案的保護范圍。auth_param basic credentialsttl 2 hours
指定Squid假定外部驗證的用戶名有多長:密碼對適用於auth_param basic casesensitive off
指定用戶名是否對案例敏感。acl auth_users proxy_auth amos john
為允許身份驗證的用戶定義Squid身份驗證 ACL。
完成配置后,保存文件並重新啟動Squid。
systemctl restart squid
配置您的客戶端,以使用我們上一篇文章中描述的驗證 vai squid代理服務器。
從客戶端看,如果您嘗試通過瀏覽器訪問互聯網,將提示您進行身份驗證。請參閱下面的屏幕截圖:
當您正確身份驗證時,您將能夠在瀏覽器上訪問互聯網。
如果您嘗試使用wget下載文件,將提示您進行身份驗證:
wget google.com
--2018-12-19 00:38:21-- http://google.com/
Connecting to 192.168.43.69:3128... connected.
Proxy request sent, awaiting response... 407 Proxy Authentication Required
2018-12-19 00:38:21 ERROR 407: Proxy Authentication Required.
因此:
wget --proxy-user=amos --proxy-password=password google.com
--2018-12-19 00:39:36-- http://google.com/
Connecting to 192.168.43.69:3128... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/ [following]
--2018-12-19 00:39:37-- http://www.google.com/
Reusing existing connection to 192.168.43.69:3128.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.8’
index.html.8 [ <=> ] 11.72K --.-KB/s in 0.1s
2018-12-19 00:39:38 (97.6 KB/s) - ‘index.html.8’ saved [12001]
好了,你去吧您已經成功地在Ubuntu上設置了Squid代理身份驗證,並帶有用戶名和密碼。