您的位置:首页 > 运维架构 > 反向代理

Linux系统Squid代理添加用户、密码认证

2015-02-15 20:27 1376 查看
安装了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


至于浏览器端配置代理的时候是不用配置用户名的密码的,用户名和密码是在打开网页的时候自动弹出窗口让用户输入的。因为前面配置的问题导致我在这个地方懊恼了很久,以为是这里出错了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: