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


至于浏览器端配置代理的时候是不用配置用户名的密码的,用户名和密码是在打开网页的时候自动弹出窗口让用户输入的。因为前面配置的问题导致我在这个地方懊恼了很久,以为是这里出错了。


阅读更多

没有更多推荐了,返回首页