公司的安所有门要求全部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
加上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