公司的安全部门要求所有2.0升级到2.2以增强安全防护。我的2.0原来用了NTLM集成winbind来实现用户域帐号登陆认证和跟踪。其实ldapproxy支持没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
 
加上ntlm_auth Apache模块以及samba+winbind实现linux主机加入域,用户访问可以实现域帐号集中管理。
升到2.2linux主机加入域需要对应权限,并且需要改成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