免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 15849 | 回复: 13
打印 上一主题 下一主题

[ldap] LDAP验证域帐号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-12 16:58 |只看该作者 |倒序浏览
需要做如下的一个项目:
环境概述:windows 2003域环境,客户端xp
公司内部网络需建立linux squid代理服务器,通过squid进行上网。希望linux squid实现Winodws域用户验证进行上网操作,并记录日志,记录每个用户都浏览了哪些网页

思路:可以用linux下的LDAP来做。

问题:squid如何验证windows的域用户信息?
查了些资料,有介绍说linux 下建立LDAP + squid ,windows下用微软的ADAM(Active Directory Application Mode),用它来进行帐号的验证。
windows 2003安装的是sp1,据说windows 2003 R2版本有自带,sp1没有也可以另外安装。问题是windows 2003 Active Directory本身不就是个LDAP吗?各位觉得是不是一定要安装配置它呢?

LDAP本身是个轻量级目录协议,可以存储管理帐号。此处的用途是怎么通过它对windows 域帐号进行验证?

还请各位建议好的方案,先谢谢了!

论坛徽章:
0
2 [报告]
发表于 2009-05-13 16:26 |只看该作者
在此先谢谢各位的关注.
要实现如上功能,网上大部分都是用Samba and Winbind结合做的,当然也是可以实现,但是觉得很麻烦,所以不想采用,经过努力查找了大量的资料和CU上一高手的指点,终于成功实现了squid通过LDAP来与域认证测试.可以不用windows adam.目前在进一步的研究中.

两种不同的方案实现:
1 使用NTLM或Winbind验证整合Squid及Samba3实现AD域用户认证

2使用Linux LDAP整合Squid 通过Windows AD域进行身份验证

[ 本帖最后由 china_u 于 2009-5-13 16:54 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-05-13 22:28 |只看该作者
可以来个详细的教程吗?

论坛徽章:
0
4 [报告]
发表于 2009-05-14 13:33 |只看该作者
原帖由 china_u 于 2009-5-13 16:26 发表
在此先谢谢各位的关注.
要实现如上功能,网上大部分都是用Samba and Winbind结合做的,当然也是可以实现,但是觉得很麻烦,所以不想采用,经过努力查找了大量的资料和CU上一高手的指点,终于成功实现了squid通过 ...



关注中,设置squid采用ldap验证,这我觉得是没有问题,但是,如何让ldap再去找ad验证,能否进一步解析一下吗。

论坛徽章:
0
5 [报告]
发表于 2009-05-15 09:30 |只看该作者
安装好后.使用命令squid_ldap_auth -R -b "dc=yourdomain,dc=com" -D "cn=用户名,cn=users,dc=yourdomain,dc=com" -w "你的密码" -f sAMAccountName=%s -h 你的主域ip

然后输入你想查询的用户名 空格 密码,如果提示OK 则证明LDAP与域认证没有问题。
sAMAccountName 是你想验证用户信息的类型,具体可以查看域用户的各种属性。
命令cn后输入的用户名为用这个用户去查询其他用户的信息.

论坛徽章:
0
6 [报告]
发表于 2009-05-15 23:30 |只看该作者
我就想知道,ad里的帐号,密码,怎么同步到openldap上呢?

论坛徽章:
0
7 [报告]
发表于 2009-05-17 14:12 |只看该作者
通过自己开发的脚本把AD上的帐号信息同步到openldap server上。当然这样会比较罗唆,既然AD本身就是个ldap,就直接让AD担当ldap server好了。 楼主的做法就是如此

论坛徽章:
0
8 [报告]
发表于 2009-05-21 12:49 |只看该作者
楼上说的正是。直接让AD担当ldap server。。这里只是验证下域用户信息,再去建立个linux 下的LDAP,把域用户信息同步过来,就有点多此一举了。
两种方法都实现了。总结下:
第一种方法优点:用户上网不需要输入用户名和密码,直接用登陆的域帐号就可以进行验证了。非域用户也只要输入一次用户名和密码即可。缺点:配置起来比第二种方法繁琐点。

第二种方法优点:配置简单。缺点:每次上网都需要输入用户名和密码进行验证。


第一种方法的 非域用户上网只要输入一次用户名和密码。客户端删除cookie等,也可以继续上网。记录验证信息应该保存在squid中,而非客户端。。就是不知道保存在哪里?如果我要删除缓存的验证信息,怎么删呢?squid本身的网页缓存应该和这个没有关系的。

[ 本帖最后由 china_u 于 2009-5-21 12:51 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-05-21 13:30 |只看该作者
请问楼主有没有第二种方法的详细实现过程? 我很想知道

论坛徽章:
0
10 [报告]
发表于 2009-05-22 11:34 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP