
前言
前段時間發(fā)了一篇: 中小公司統(tǒng)一用戶認(rèn)證方案 的技術(shù)貼,也是一篇實用性文章,很多程序猿都在關(guān)注,不少童鞋在后臺詢問后續(xù)內(nèi)容是否出來。呼聲很高的 視頻版 終于出來啦,希望對大家有所幫助哦。
視頻

中小公司員工統(tǒng)一用戶認(rèn)證 http://v.qq.com/page/h/0/u/h0307xb5d0u.html
(百度網(wǎng)盤下載高清視頻:鏈接: http:// pan.baidu.com/s/1bIuuku 密碼:ivdl )
內(nèi)容
分享的主題:OpenLDAP 企業(yè)應(yīng)用
分享的內(nèi)容:
公司為什么需要統(tǒng)一用戶認(rèn)證?
解決用戶統(tǒng)一認(rèn)證都要干哪些事?
LDAP 都存了哪些員工信息?
實現(xiàn)一個簡單的用戶登陸 API
OpenLDAP 安全
OpenLDAP 公司應(yīng)用架構(gòu)圖
為什么需要統(tǒng)一用戶認(rèn)證?
常遇到的問題:
GitLab、Jira、Confluence ... 各種密碼
IT 遇到的問題:
內(nèi)網(wǎng)安全?公司一個 Wi-FI 密碼大家都可以連接
A 員工離職了一堆帳號我要挨個去刪
運維遇到的問題:
VPN、Zabbix、Jenkins .... 各種密碼
運營遇到的問題:
A 業(yè)務(wù)線,帳號xxx 密碼xxx
B 業(yè)務(wù)線,帳號xxx 密碼xxx
怎么去解決遇到的問題?
LDAP 用戶統(tǒng)一認(rèn)證
運維需要做什么?
搭建一套完整的 LDAP 服務(wù),給各個應(yīng)用分配可以連接 LDAP 的賬號
配置 GitLab、Jira、Zabbix、Jenkins、VPN ...認(rèn)證走 LDAP
對外提供 API 給開發(fā)調(diào)用(可選)
自己開發(fā)的運維平臺也用 LDAP 認(rèn)證
開發(fā)機(jī)登陸(ftp、samba、ssh) ...
開發(fā)需要做什么?
開發(fā)人員開發(fā)的公司內(nèi)部系統(tǒng)統(tǒng)一走 LDAP 認(rèn)證
主流語言PHP、Python、Java 都有 LDAP 庫
IT 需要做什么?
Wi-FI 認(rèn)證這塊用到 FreeRADIUS,讓 Radius 去走 LDAP 認(rèn)證
員工常用信息(手機(jī)號、郵箱、部門、IP地址...)全部錄到 LDAP 中
IT 統(tǒng)一維護(hù),方便管理用戶信息(辦理員工入職、離職)
LDAP組織數(shù)據(jù)的方式

dn:每一個條目都有一個唯一的標(biāo)識名(distinguished Name ,DN)
例如:uid=woniu,ou=SRE,dc=51reboot,dc=com
一個普通用戶都要存哪些信息?

ObjectClass 是什么?
對象類是屬性的集合,LDAP預(yù)想了很多人員組織機(jī)構(gòu)中常見的對象,并將
其封裝成對象類。比如人員(person)含有姓(sn)、名(cn)、電話
(telephoneNumber)、密碼(userPassword)等屬性,單位職工
(organizationalPerson)是人員(person)的繼承類
方便用戶查詢信息:
http:// ldap.51reboot.com/dashb oard
實現(xiàn)一個簡單的用戶登陸 API
了解 LDAP 是怎么登陸?
舉個常用軟件配置的例子 Gitlab
知道原理之后,用 Python 實現(xiàn)一個簡單的用戶登陸API
常用服務(wù)的配置 SSH
了解 LDAP 是怎么登陸?

LDAP 需要需創(chuàng)建一個賬號給 gitlab 連接使用
根據(jù) uid 去查詢用戶的完整信息,類似于MySQL(select * from
mysql.user where user='woniu')
獲取DN信息+密碼,再去LDAP服務(wù)器認(rèn)證,驗證成功,用戶就登錄了
查看 Gitlab 配置

OpenLDAP 安全
密碼復(fù)雜度(8位大小寫數(shù)字)
密碼錯誤次數(shù)鎖定用戶 (三次錯誤帳號鎖定)
密碼有效期90天,提前7天郵件通知,超過時間強(qiáng)制修改密碼
提供重置密碼和修改密碼接口
開源: Welcome alt="物聯(lián)網(wǎng)" width="550" height="277" />