阅读 71

LDAP服务部署

笔者最近在centos上部署了ldap服务用以测试,在部署期间遇到查阅了很多前辈的方法。在此总结一下。链接都是百度上搜索的,大家也可以自己去搜索。建议在虚拟机里先尝试,做好快照。

以下文章参考顺序

建议先看 参考1,对LDAP有个初步的认识,然后看 参考7 ,对一些常见的问题以及注意事项有所了解。最后按照 参考5 部署服务,按照 参考6 部署web管理界面。

相关概念和操作文章

关于LDAP概念以及一些关键词解释:
参考1:https://www.cnblogs.com/wilburxu/p/9174353.html

LDAP调研,主要关于现有的LDAP实现,现有工具、docker地址整理
参考2:https://www.cnblogs.com/ZHUYIN/p/10966315.html

LDAP命令相关:https://www.zhukun.net/archives/7980

LDAP协议相关

LDAP 官方协议
参考3:https://ldap.com/?s=protocol

LDAP RFC
参考4:https://docs.ldap.com/specs/rfc4511.txt

LDAP部署

按照以下文章里的命令, 修改下对应的参数(不要盲目copy),是成功的
参考5:https://www.cyberithub.com/best-steps-to-install-and-configure-openldap-server-on-rhel-centos-7-

这里笔者贴出自己的内核及系统版本仅供参考

3.10.0-1160.31.1.el7.x86_64
CentOS Linux release 7.9.2009 (Core)
LDAP 版本
openldap-clients-2.4.44-23.el7_9.x86_64
openldap-2.4.44-23.el7_9.x86_64
openldap-servers-2.4.44-23.el7_9.x86_64

这篇文章部署LDAP的方式现今不适用了(直接修改的数据库文件),但是PHPldapadmin的安装可以参考
参考6:https://blog.51cto.com/u_11555417/2065747

这篇文章作为Centos7部署不成功,Centos6部署是可以的(评论区得出的结果)。但是讲解部署中的注意事项以及原理非常详尽!
参考7:https://segmentfault.com/a/1190000014683418

参考5链接中可能会遇到的问题

看到  vi ldapdomain.ldif   这里要注意下
ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif

1:原帖中olcAccess原文的内容换行了,应该是一行才对。因此复制到centos中的内容要改为一行,否则执行会报错。
ldapdomain文件中 包含 olcAccess 内容都要调整下。

2:olcRootPW: {SSHA}PASSWORD改为最开始得到的密码。

既:

image.png

如果你没换密码,并且命令(ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif)执行成功了,那么后续要输入密码的时候会出问题。
此时可以把 ldapdomain.ldif 文件里的操作add改为replace(并非所有的add,而是只操作 add: olcRootPW 这里的add),然后其余 dn 的操作全部删除掉。再执行一次。

3:看到原贴中的 {SSHA},记得把密码替换为自己生成的密码。

这个地方的add
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW   
olcRootPW: 你的密码
微信截图_20210717145158.png
image.png

使用phpLDAPadmin登录

访问 http://yourhost/phpldapadmin

image.png

这个管理后台有年代感啊?

输入DN和密码。我们用ldapuser.ldif 文件里的dn尝试下登录。


image.png

image.png

登录成功!

第三方LDAP登录

笔者本地刚好部署了一个Yapi,是支持LDAP登录的。
那我们修改下yapi的config.json文件,增加一个 ldapLogin,配置信息可以用phpLdapadmin查看下。

image.png

输入我们的uid,我上面配置的是 jianshu-tao,密码也是之前配置LDAP 用户对应的密码


image.png

image.png

登录成功!

查看http请求,是看不到Ldap相关的内容,因为LDAP也是应用层协议,和Http协议其实没有什么关系。


image.png

这里可以用WireShark抓取TCP报文段来查看LDAP协议的认证过程。

OK ,好了~

作者:jailbreakTao

原文链接:https://www.jianshu.com/p/c70ff80dcf98

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐