烂泥:squid与openldap集成

本文由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

clip_image001

上述配置文件中,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

clip_image002

通过上图,我们可以很明显的看出,匿名用户无法通过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

clip_image003

通过上图,我们可以很明显的看出,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

clip_image004

上述配置中,我们允许yunweizu和chanpinbu这两个用户组,可以使用squid,其中nginx用户不属于这两个用户组的中任何一个,而ilanni用户属于yunweizu用户组,如下:

clip_image005

clip_image006

现在测试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

clip_image007

通过上图,我们可以很明显的看出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

clip_image008

通过上图,我们可以看出ilanni用户是可以使用squid。这样就达到了,squid和openldap用户组集成的目的。

到此有关squid与openldap集成就已经全部完毕。

未经允许不得转载:烂泥行天下 » 烂泥:squid与openldap集成

赞 (5) 打赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

支付宝扫一扫打赏

微信扫一扫打赏