公司的安全部门要求所有2.0升级到2.2以增强安全防护。我的2.0原来用了NTLM集成winbind来实现用户域帐号登陆认证和跟踪。其实ldap对proxy支持没ntlm好,所以经常需要输入两次用户名和密码,当跳转到被代理的站点时(我的环境是很多项目使用一个sso站点实现单点登陆)。
对应模块的Apache安全配置
AuthName "AAA"
NTLMAuth on
NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
NTLMBasicAuthoritative on
AuthType NTLM
Require valid-user
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
加上ntlm_auth 的Apache模块以及samba+winbind实现linux主机加入域,用户访问可以实现域帐号集中管理。
升到2.2,linux主机加入域需要对应权限,并且需要改成ldap认证方式验证登陆。2.2已经不再采用authz模块,而是改用authnz。所以配置项目改动是必须的:
AuthzLDAPAuthoritative off
AuthBasicProvider ldap
AuthType basic
AuthName "AAA"
AuthLDAPURL "ldap://ldap.aaa.com:389/ uid?"
require valid-user
Apache 2.2编译安装的选项记住必须选上ldap以及authnz_ldap。举例如下:
./configure --prefix=/usr/local/httpd --with-included-apr --with-ldap --enable-proxy --enable-ssl --enable-cgi --enable-rewrite --enable-speling --enable-so --enable-ldap --enable-mods-shared="all ldap authnz_ldap ssl" --enable-authnz-ldap
转载于:https://blog.51cto.com/dannyyuan/756001