好吧,标题说的都是真的。
最终目标是为最终用户实现代理认证。用户的系统大多(95%)是基于windows的,代理是Debian Lenny运行的squid 2.7。
我已经研究了实现它的可能方法,首先使用了ntlm_auth助手,它在Lenny中随squid2.7一起提供,但失败了--一些用户可以很好地进行身份验证,而有些用户由于某些原因而没有得到验证。我找不到相关,我甚至检查了实际的smb数据包流与wireshark,但没有任何效果-它似乎完全随机。我已经在不同的物理机器/帐户上试过了,所以这是不可能的。
然后,似乎有两条可能的路线可用。使用winbind (使用samba)和使用ldap+kerberos。
我个人反对使用samba,因为它首先要求您跳过某些圈,比如加入域等等,其次(这是cruncher) --我不需要samba提供的所有功能,在机器上拥有所有这些功能(比如windows--比如共享等等)是不可取的。如果我不得不使用samba,我真的希望只使用尽可能少的特性子集--只需获得samba的ntlm_auth (带有winbind)来对用户进行身份验证。有人对这种设置有任何经验吗?
我读过这个问题 (不是一个问题:P),我真的很喜欢我所看到的,- kerberos似乎是一个可能的解决方案,而且占用的空间也没有那么大。问题是,是否有可能在windows-2000版本域上运行此操作?浏览器的支持如何?
发布于 2009-11-16 19:50:40
我假设您使用的是服务器。我们做了类似的事情,最简单的方法是像这样使用ntlm_auth助手(我的squid.conf的一部分):
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 10
auth_param ntlm keep_alive on您必须安装Samba并加入您的Windows域。您的smb.conf必须使用以下设置:
security = ADS
realm = your-dns-domain
password server = your-active-directory-server
winbind enum groups = yes
winbind enum users = yes
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind use default domain = yes我认为也有必要修改/etc/krb5。
[libdefaults]
default_realm = your-dns-domain
[realms]
your-dns-domain = {
kdc = your-ad-server
}然后,您应该能够加入您的Windows域:
net加入-S PDC -U管理员
最后,您应该有一个安装程序,使用来自Windows的单签名登录。Internet (万一您应该认真使用它)和Firefox都知道如何发送身份验证凭证。
对于不了解NTLM的应用程序,您可能也需要在基本身份验证中添加一个后备项。我还没测试过呢。
链接:
https://serverfault.com/questions/85252
复制相似问题