LDAP基础
LDAP的历史
LDAP v1 在 1994年3月由密西根大学发布,当初设计是为了作为访问X.500目录的轻型方法,但是后来逐渐发展成提供存取目录能力.
LDAP v2 在1995年3月发布,在1996年4月,包含Microsoft,Netscape等40多家企业宣布支持LDAP,因此LDAP得到极大的推广.
LDAP v3 也是现在使用的版本,是在1997年12月发布,在信息模块,命名模板,功能模型,安全模型等等方面均有加强.
LDAP是什么,干什么用?
LDAP是Lightweight Directory Access Protocol的缩写,中文意思是目录服务的协议,并且以树状结构来存储数据.
主要用来存储企业人员信息和组织架构,进行统一认证管理.
同时可以与第三方应用集成,实现针对企业内部的人员或部门访问权限管理.
LDAP主要解决的问题?
- 企业人员权限与账户安全管理.
- 企业内部的数据,应用,资源的访问权限管理.
- 人员信息集中管理.
- 解决企业人员流动权限变更不及时
1 导致企业数据丢失
2 应用访问权限外泄
3 重要文件泄露.
LDAP目录数据结构
数据传输安全
在LDAP中提供了基于SSL/TLS的通讯安全保障。SSL/TLS是基于PKI信息安全技术,是当前Internet上广泛采用的安全服务。LDAP通过StartTLS方式启动TLS服务,可以提供通讯中的数据保密性、完整性保护;通过强制客户端证书认证的TLS服务,同时可以实现对客户端身份和服务器端身份的双向验证。
LDAP 属性(Attribute)
属性 | 解释 |
---|---|
CN | 人名或者组名 |
OU | 组织单位 |
O | 组织名称 |
DC | 域名 |
UID | 用户登入名 |
C | 国家名称 |
ST | 省的名称 |
LDAP VS AD
LDAP与MS-AD的关系
一个公式就可以表达
Active Directory = LDAP服务器+LDAP应用(Windows域控)
Active Directory先实现一个LDAP服务器,然后自己先用这个LDAP服务器实现了自己的一个具体应用(域控).
第一手的用户体验
经过多年的使用体验,不同公司的历练.做了简单的对比具体如下
LDAP | MS-AD | |
---|---|---|
操作体验 | 繁琐 | 简单 |
支持IT系统数量 | 多 | 少 |
系统稳定性 | 低 | 高 |
集成IT系统难度 | 高 | 低 |
费用 | 免费 | 贵的要死 |
最喜欢用的团队 | 技术团队 | 老板/IT |
Best Practices for LDAP
OPENLDAP主要应用场景
遇到烦恼
公司有很多IT系统,例如:企业邮箱,github,jenkins,grafna,zabbix,vpn,HR系统,用友,金蝶,文件系统,aws,aliyun,cmdb,jira,confluence....等等.
在新员工入职时,要做的恶心事情.
- 要根据员工的职位,确认开通IT系统的权限.
- 在对应的IT系统中添加账户,设置密码.
- 各种渠道通知到新员工,IT系统权限和IT系统访问地址.
在老员工离职时,上面的事又要做一遍.
在正常工作时,很多员工因各种奇葩原因忘记密码,来找你重置,修改.
在员工升职,调换岗位.又是一通修改和删除.
有木有很崩溃?这还不够,一个员工需要手动操作N次,每天会有0-N个员工,如果出现误操作,导致数据泄露.这口锅直接背起.有木有感觉不会再爱了.
改变(解决方案)
说了那么多痛点,其实解决方案很简单,有个认证管理中心就可以解决了.那就是LDAP
人员部门目录结构设计(最佳实例)
OpenLDAP的主主同步
企业身份认证中心,sla很重要,一定要做高可用.
环境:
node1: 192.168.1.1
node2: 192.168.1.2
node1 配置:
index objectclass,entryCSN,entryUUID eq
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
serverID 1
syncrepl rid=yufu
provider=ldap://192.168.1.2
bindmethod=simple
binddn="cn=admin,dc=yufuid,dc=com"
credentials=123456
searchbase="dc=yufuid,dc=com"
schemachecking=off
type=refreshAndPersist
retry="60 +"
mirrormode on</pre>
node2 配置:
vim /etc/openldap/alapd.conf
index objectclass,entryCSN,entryUUID eq
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
serverID 2
syncrepl rid=yufu
provider=ldap://192.168.1.1
bindmethod=simple
binddn="cn=admin,dc=yufuid,dc=com"
credentials=123456
searchbase="dc=yufuid,dc=com"
schemachecking=off
type=refreshAndPersist
retry="60 +"
mirrormode on</pre>
扩展知识:
X500协议:
该标准旨在拥有一个分布全球的目录,并且带有标准访问接口。X.500目录标准极其复杂。
作为其设计操作平台的OSI网络协议也比现在通常使用的传输控制协议,Internet 协议(TCP/IP)套件复杂得多。
X.500标准最初由CCITT于1990 年作为《X.500蓝皮书建议》发布并由ISO于1991年作为《ISO / IEC 9594:目录》发布。从那时起,X.500已经得到发展和增强,并在1993年和1997年两次更新。