使用ntlm_auth的Squid NTLM身份验证配置

时间:2020-01-09 10:43:43  来源:igfitidea点击:

问题:如何为NTLM身份验证配置Squid?

答:
您需要使用Squidntlm_auth帮助程序工具。
它允许外部访问Winbinds NTLM身份验证功能。

ntlm_auth使用winbind访问域的用户和身份验证数据。

确保Winbindd正常工作

winbindd是一个守护程序,它为大多数现代C库中的名称服务切换功能,通过PAM和ntlm_auth的任意应用程序以及Samba本身提供大量服务。
如果不确定winbindd,请参考Samba官方文档进行配置。

配置Squid以进行NTLM身份验证

打开squid配置文件squid.conf,执行:

# vi squid.conf

追加以下配置指令:

auth_param ntlm program /usr/lib/squid/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param basic program /usr/lib/squid/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

要设置ntlm_auth以便由具有"组限制"的squid 2.5使用,请添加:

auth_param ntlm program /usr/lib/squid/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="WORKGROUP\Domain Users"
auth_param basic program /usr/lib/squid/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="WORKGROUP\Domain Users"
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes

或者您也可以传递DOMAIN/PDC名称:

auth_param ntlm program /usr/lib/squid/ntlm_auth DOMAINNAME/PDC
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes

现在为ntlm_auth帮助程序添加ACL配置

acl ntlm_users proxy_auth REQUIRED
http_access allow ntlm_users
http_access deny all

保存并关闭文件。
重启Squid:

# /etc/init.d/squid restart