本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下
IT技术分享QQ群:571981257
上一篇文章,我们介绍了squid的安装,文章链接《烂泥:squid代理服务器安装与配置》。
这篇文章我们再来介绍下squid启用用户认证,Squid的用户认证这块我们使用的是openldap。
有关openldap的安装可以参考《烂泥:OpenLDAP安装与配置(二)》。
Squid与openldap集成分为用户与用户组,下面进行一一介绍。
PS:由于squid与openldap集成比较简单,直接是通过配置进行的,所以配置文件中的相关参数就不一一进行说明。
本文的所有配置文件,点我下载。
一、与openldap用户集成
squid与openldap用户集成,还是比较方便的,我们只需修改squid的配置文件即可。
直接上squid配置文件,如下:
cat > /etc/squid/squid.conf << “EOF”
visible_hostname proxy
acl all src 0.0.0.0/0.0.0.0
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 22
acl CONNECT method CONNECT
http_port 3128
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 1 seconds
auth_param basic casesensitive off
auth_param basic program /usr/lib64/squid/basic_ldap_auth -b “dc=ilanni,dc=com” -D “cn=root,dc=ilanni,dc=com” -w “ilanni” -f “uid=%s” -h 10.10.10.128
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
EOF
上述配置文件中,auth_param basic program项就是squid连接openldap相关的信息,而acl auth_user proxy_auth REQUIRED和http_access allow auth_user主要是定义允许openldap用户使用squid,其他用户默认禁止使用squid。
现在测试openldap用户是否可以使用squid,首先我们先不使用openldap用户,使用匿名用户如下:
wget -e use_proxy=yes -e http_proxy=http://10.10.10.128:3128 http://mirrors.163.com/.help/CentOS7-Base-163.repo
通过上图,我们可以很明显的看出,匿名用户无法通过wget命令使用squid。
我们再来使用openldap用户进行测试,如下:
wget -e use_proxy=yes -e http_proxy=http://nginx:123456@10.10.10.128:3128 http://mirrors.163.com/.help/CentOS7-Base-163.repo
通过上图,我们可以很明显的看出,openldap用户可以通过wget命令使用squid,并且已经正常下载文件。
二、与openldap用户组集成
第一章节中,我们介绍了squid与openldap用户的集成。但是在实际使用过程中,我们不是需要所有的openldap用户都能使用squid,所以需要针对不同的openldap用户组设置使用squid的权限。
直接上squid的配置文件,如下:
cat > /etc/squid/squid.conf << “EOF”
visible_hostname proxy
acl all src 0.0.0.0/0.0.0.0
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 22
acl CONNECT method CONNECT
http_port 3128
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 1 seconds
auth_param basic casesensitive off
auth_param basic program /usr/lib64/squid/basic_ldap_auth -b “dc=ilanni,dc=com” -D “cn=root,dc=ilanni,dc=com” -w “ilanni” -f “uid=%s” -h 10.10.10.128
EOF
上述配置中,我们允许yunweizu和chanpinbu这两个用户组,可以使用squid,其中nginx用户不属于这两个用户组的中任何一个,而ilanni用户属于yunweizu用户组,如下:
现在测试openldap的yunweizu用户组是否可以使用squid,如下:
wget -e use_proxy=yes -e http_proxy=http://nginx:123456@10.10.10.128:3128 http://mirrors.163.com/.help/CentOS7-Base-163.repo
通过上图,我们可以很明显的看出nginx用户不能使用squid。
我们再来使用ilanni用户进行测试,如下:
wget -e use_proxy=yes -e http_proxy=http://ilanni:123456@10.10.10.128:3128 http://mirrors.163.com/.help/CentOS7-Base-163.repo
通过上图,我们可以看出ilanni用户是可以使用squid。这样就达到了,squid和openldap用户组集成的目的。
到此有关squid与openldap集成就已经全部完毕。
未经允许不得转载:烂泥行天下 » 烂泥:squid与openldap集成