1. 程式人生 > >Linux系統Squid代理新增使用者、密碼認證

Linux系統Squid代理新增使用者、密碼認證

安裝了Squid後會有一些不明的流量和CPU佔用95%以上,估計是因為沒加密碼,被掃描到埠後被濫用。

我們給Squid代理新增使用者、密碼認證。

1、密碼用apache2自帶的NCSA 

先做個密碼檔,然後設為任何人可讀:

sudo touch /etc/squid3/squid_passwd
sudo chmod -R 777 /etc/squid3/squid_passwd
// 這些路徑可以自定義,只要下面的配置能對應上就行。
給密碼檔案授權
sudo htpasswd /etc/squid3/squid_passwd testname

testname 是使用者名稱。然後系統會要求輸入密碼。


2、修改squid_conf


在 337行左右 加入
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd

// 上面這行需要注意,我搞了很久才發現這裡出問題的,ncsa_auth的路徑要找到自己安裝的地方。一般在/usr/lib/squid/或者/usr/lib/squid3/視版本而定。

在 720 行左右加入
acl ncsa_users proxy_auth REQUIRED

在 793行左右 加入
http_acecss allow ncsa_users

把843,844行的
http_access allow localnet , http_access allos localhost遮蔽掉。

3、重新啟動squid3
sudo service squid3 --full-restart 或者 <span style="font-family: monospace; line-height: 18px; background-color: rgb(239, 243, 251);">sudo /etc/init.d/squid restart</span>

或者讓配置生效就行

sudo service squid3 -k reconfig

4、進階
一些更完善的引數,當然不是必須的可以不需要
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

至於瀏覽器端配置代理的時候是不用配置使用者名稱的密碼的,使用者名稱和密碼是在開啟網頁的時候自動彈出視窗讓使用者輸入的。因為前面配置的問題導致我在這個地方懊惱了很久,以為是這裡出錯了。