首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Squid代理认证-最无痛的方式

Squid代理认证-最无痛的方式
EN

Server Fault用户
提问于 2009-11-16 18:47:22
回答 1查看 4.5K关注 0票数 2

好吧,标题说的都是真的。

最终目标是为最终用户实现代理认证。用户的系统大多(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版本域上运行此操作?浏览器的支持如何?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2009-11-16 19:50:40

我假设您使用的是服务器。我们做了类似的事情,最简单的方法是像这样使用ntlm_auth助手(我的squid.conf的一部分):

代码语言:javascript
复制
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必须使用以下设置:

代码语言:javascript
复制
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。

代码语言:javascript
复制
[libdefaults]
default_realm = your-dns-domain

[realms]
your-dns-domain = {
kdc = your-ad-server
}

然后,您应该能够加入您的Windows域:

net加入-S PDC -U管理员

最后,您应该有一个安装程序,使用来自Windows的单签名登录。Internet (万一您应该认真使用它)和Firefox都知道如何发送身份验证凭证。

对于不了解NTLM的应用程序,您可能也需要在基本身份验证中添加一个后备项。我还没测试过呢。

链接:

  • http://acd.ucar.edu/~fredrick/linux/samba3/
  • http://wiki.squid-cache.org/ConfigExamples/Authenticate/Ntlm
票数 7
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/85252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档