QIANYAN/前言
前段时间发了一篇:中小公司统一用户认证方案 的技术贴,也是一篇实用性文章,很多程序猿都在关注,不少童鞋在后台询问后续内容是否出来。呼声很高的视频版终于出来啦,希望对大家有所帮助哦。
SHIPIN / 视频
视频链接:http://pan.baidu.com/s/1bIuuku 密码:ivdl (请在wifi环境下观看哦)
NEIRONG /内容
分享的主题:OpenLDAP 企业应用
分享的内容:
- 公司为什么需要统一用户认证?
- 解决用户统一认证都要干哪些事?
- LDAP 都存了哪些员工信息?
- 实现一个简单的用户登陆 API
- OpenLDAP 安全
- OpenLDAP 公司应用架构图
为什么需要统一用户认证?
常遇到的问题:
- GitLab、Jira、Confluence ... 各种密码
IT 遇到的问题:
- 内网安全?公司一个 Wi-FI 密码大家都可以连接
- A 员工离职了一堆帐号我要挨个去删
运维遇到的问题:
- VPN、Zabbix、Jenkins .... 各种密码
运营遇到的问题:
- A 业务线,帐号xxx 密码xxx
- B 业务线,帐号xxx 密码xxx
怎么去解决遇到的问题?
LDAP 用户统一认证
运维需要做什么?
- 搭建一套完整的 LDAP 服务,给各个应用分配可以连接 LDAP 的账号
- 配置 GitLab、Jira、Zabbix、Jenkins、VPN ...认证走 LDAP
- 对外提供 API 给开发调用(可选)
- 自己开发的运维平台也用 LDAP 认证
- 开发机登陆(ftp、samba、ssh) ...
开发需要做什么?
- 开发人员开发的公司内部系统统一走 LDAP 认证
- 主流语言PHP、Python、Java 都有 LDAP 库
IT 需要做什么?
- Wi-FI 认证这块用到 FreeRADIUS,让 Radius 去走 LDAP 认证
- 员工常用信息(手机号、邮箱、部门、IP地址...)全部录到 LDAP 中
- IT 统一维护,方便管理用户信息(办理员工入职、离职)
LDAP组织数据的方式
dn:每一个条目都有一个唯一的标识名(distinguished Name ,DN)
例如:uid=woniu,ou=SRE,dc=51reboot,dc=com
一个普通用户都要存哪些信息?
ObjectClass 是什么?
对象类是属性的集合,LDAP预想了很多人员组织机构中常见的对象,并将
其封装成对象类。比如人员(person)含有姓(sn)、名(cn)、电话
(telephoneNumber)、密码(userPassword)等属性,单位职工
(organizationalPerson)是人员(person)的继承类
方便用户查询信息:
http://ldap.51reboot.com/dashboard
实现一个简单的用户登陆 API
- 了解 LDAP 是怎么登陆?
- 举个常用软件配置的例子 Gitlab
- 知道原理之后,用 Python 实现一个简单的用户登陆API
- 常用服务的配置 SSH
了解 LDAP 是怎么登陆?
- LDAP 需要需创建一个账号给 gitlab 连接使用
- 根据 uid 去查询用户的完整信息,类似于MySQL(select * from
- mysql.user where user=‘woniu‘)
- 获取DN信息+密码,再去LDAP服务器认证,验证成功,用户就登录了
查看 Gitlab 配置
OpenLDAP 安全
- 密码复杂度(8位大小写数字)
- 密码错误次数锁定用户 (三次错误帐号锁定)
- 密码有效期90天,提前7天邮件通知,超过时间强制修改密码
- 提供重置密码和修改密码接口
开源:http://ltb-project.org/
- 分布式LDAP 是以明文的格式通过网络来发送信息的,包括client访问ldap的密码
- 使用TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性
- 关掉匿名访问
- VPN (AnyConnect) + GoogleAuthenticator
OpenLDAP 在公司应用的整体架构图
Reboot技术沙龙本周五分享预告:
时间:06月17日 21点
主题:如何基于Python构建一个可扩展的运维自动化平台
分享模式:图文直播(分享群:368573673 )
主讲人:运维男神 ——刘天斯
分享基地:Reboot 周五分享群 368573673
==========================================
欢迎关注 Reboot教育 Python实战班(4月17日开班)
课程详情点击:http://www.51reboot.com/course/actual/
上课形式:面授班 / 网络直播班
咨询QQ:979950755 / 279312229