久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

企業(yè)實戰(zhàn)|LDAP對接Gitlab+Wiki+Jumpserver+Openvpn

很多公司內(nèi)部都有Gitlab,Openvpn,Jumpserver,Jira,Jenkins,內(nèi)部各種運維系統(tǒng)等,每個新員工入職,運維小馬就需要一個挨一個的登錄到每個系統(tǒng)的后臺給新員工開通賬號,設置密碼,然后員工離職,小馬還得去到每個系統(tǒng)后臺去關(guān)閉賬號,想想多浪費時間,那么能不能維護一套賬號,對所有系統(tǒng)生效呢?當然有,那就是LDAP。

LDAP 全稱輕量級目錄訪問協(xié)議(英文:Lightweight Directory Access Protocol),是一個運行在 TCP/IP 上的目錄訪問協(xié)議。目錄是一個特殊的數(shù)據(jù)庫,它的數(shù)據(jù)經(jīng)常被查詢,但是不經(jīng)常更新。其專門針對讀取、瀏覽和搜索操作進行了特定的優(yōu)化。目錄一般用來包含描述性的,基于屬性的信息并支持精細復雜的過濾能力。比如 DNS 協(xié)議便是一種最被廣泛使用的目錄服務。

LDAP 中的信息按照目錄信息樹結(jié)構(gòu)組織,樹中的一個節(jié)點稱之為條目(Entry),條目包含了該節(jié)點的屬性及屬性值。條目都可以通過識別名 dn 來全局的唯一確定1,可以類比于關(guān)系型數(shù)據(jù)庫中的主鍵。比如 dn 為 uid=ada,ou=People,dc=xinhua,dc=org 的條目表示在組織中一個名字叫做 Ada Catherine 的員工,其中 uid=ada 也被稱作相對區(qū)別名 rdn。

一個條目的屬性通過 LDAP 元數(shù)據(jù)模型(Scheme)中的對象類(objectClass)所定義,下面的表格列舉了對象類 inetOrgPerson(Internet Organizational Person)中的一些必填屬性和可選屬性。

OpenLDAP 是 LDAP 協(xié)議的一個開源實現(xiàn)。LDAP 服務器本質(zhì)上是一個為只讀訪問而優(yōu)化的非關(guān)系型數(shù)據(jù)庫。它主要用作地址簿查詢(如 email 客戶端)或?qū)Ω鞣N服務訪問做后臺認證以及用戶數(shù)據(jù)權(quán)限管控。(例如,訪問 Samba 時,LDAP 可以起到域控制器的作用;或者 Linux 系統(tǒng)認證 時代替 /etc/passwd 的作用。)

LDAP 術(shù)語

Entry (or object) 條目(或?qū)ο?:LDAP中的每個單元都認為是條目。

dn:條目名稱。

ou:組織名稱。

dc:域組件。例如,likegeeks.com是這樣寫的:dc=likegeeks,dc=com。

cn:通用名稱,如人名或某個對象的名字

一、安裝OpenLDAP

# 環(huán)境說明:
OpenLdap服務器地址:100.111.21.68

1、使用docker方式安裝配置OpenLDAP

# 創(chuàng)建文件夾:
shell> mkdir -p /data/openldap/{config,database}

# 拉取openldap鏡像
shell > docker pull osixia/openldap:1.2.2

# 啟動openldap服務
shell> docker run -d --name ldap-service --hostname ldap-service -p 389:389 -p 689:689 -v /data/openldap/database:/var/lib/ldap -v /data/openldap/config:/etc/ldap/slapd.d --env LDAP_ORGANISATION="magedu.com" --env LDAP_DOMAIN="magedu.com" --env LDAP_ADMIN_PASSWORD="magedupassword" --env LDAP_TLS=false --detach osixia/openldap:1.2.2

# 啟動phpldapadmin圖形管理工具
shell > docker pull osixia/phpldapadmin:0.7.2

shell > docker run --name phpldapadmin-service -p 6443:443 -p 6680:80 --hostname phpldapadmin-service --link ldap-service:magedu.com --env PHPLDAPADMIN_LDAP_HOSTS=magedu.com --env PHPLDAPADMIN_HTTPS=false --detach osixia/phpldapadmin:0.7.2

2、訪問phpldapAdmin:

打開瀏覽器訪問:http://100.111.21.68:6680

賬號:cn=admin,dc=magedu,dc=com
密碼:magedupassword

3、登錄phpLdapAdmin添加ldap賬號

1.在瀏覽器中打開http://100.111.21.68:6680

2.點擊【創(chuàng)建新條目】.

3.點擊【Generic: Postfix Group】.

4. 輸入【users】, 點擊【創(chuàng)建對象】,創(chuàng)建一個組

5. 點擊【提交】

6. 下一步添加用戶,點擊剛才所創(chuàng)建的組【users】

7. 點擊【創(chuàng)建一個子條目】

8. 點擊【Generic: User Account】按鈕。

9.根據(jù)自己的情況,添加信息然后點擊【創(chuàng)建對象】

10. 點擊【提交】

11.提交完成后,點擊新增的用戶,點擊右側(cè)【增加新的屬性】

12.選擇屬性【Email】

13. 添好Email地址

14.點擊【Update Object
企業(yè)實戰(zhàn)|LDAP對接Gitlab+Wiki+Jumpserver+Openvpn
企業(yè)實戰(zhàn)|LDAP對接Gitlab+Wiki+Jumpserver+Openvpn
企業(yè)實戰(zhàn)|LDAP對接Gitlab+Wiki+Jumpserver+Openvpn

二、OpenLDAP+Gitlab配置

# 環(huán)境說明:
GitLab: 10.2.5
OpenLdap: 1.2.2

1、修改Gitlab配置文件

shell> vim /home/git/gitlab/config/gitlab.yml

ldap:
enabled: true
servers:
    label: 'LDAP'
    host: '100.111.21.68'
    port: 389
    uid: 'cn'
    encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
    verify_certificates: false
    ca_file: ''
    ssl_version: ''

    bind_dn: 'cn=admin,dc=magedu,dc=com'
    password: 'magedupassword'
    timeout: 10
    active_directory: false
    allow_username_or_email_login: true
    block_auto_created_users: false
    base: 'dc=magedu,dc=com'
    user_filter: ''
    attributes:
      username: ['cn', 'uid', 'userid', 'sAMAccountName']
      email: ['mail', 'email', 'userPrincipalName']
      name:       'cn'
      first_name: 'givenName'
      last_name:  'sn'


# 配置參數(shù)說明:
host:ldap服務器地址
port:ldap服務端口
uid:以哪個屬性作為驗證屬性,可以為uid、cn等,我們使用uid
method:如果開啟了tls或ssl則填寫對應的tls或ssl,都沒有就填寫plain
bind_dn:search搜索賬號信息的用戶完整bind(需要一個有read權(quán)限的賬號驗證通過后搜索用戶輸入的用戶名是否存在)
password:bind_dn用戶的密碼,bind_dn和password兩個參數(shù)登錄ldap服務器搜索用戶
active_directory:LDAP服務是否是windows的AD,我們是用的openldap,這里寫false
allow_username_or_email_login:是否允許用戶名或者郵箱認證,如果是則用戶輸入用戶名或郵箱都可
base:從哪個位置搜索用戶,例如允許登錄gitlab的用戶都在ou gitlab里,name這里可以寫ou=gitlab,dc=domain,dc=com
filter:添加過濾屬性,例如只過濾employeeType為developer的用戶進行認證(employeeType=developer)

重啟gitlab服務,看到頁面已經(jīng)有l(wèi)dap的登錄選項了

三、OpenLDAP+Confluence(Wiki)配置

環(huán)境說明:
Confluence: 5.6.6
OpenLdap: 1.2.2

1、使用管理員登錄Confluence

依次點擊:一般配置-->用戶&安全-->用戶目錄–添加目錄-->LDAP-->Openldap

名稱:LDAP服務器
目錄類型:OpenLDAP
主機名:100.111.21.68
端口:389
賬號:cn=admin,dc=magedu,dc=com
密碼:magedupassword
基礎DN:dc=magedu,dc=com
附加用戶DN:不用寫
附加組DN:不用寫

- LDAP權(quán)限:只讀,且為本地組
(從LDAP服務器上檢索到的用戶、用戶組及成員,且無法在Confluence中修改。你可以將LDAP的用戶添加到維護在Confluence內(nèi)部目錄的用戶組中。)

默認組成員:confluence-users
(首次登陸系統(tǒng)后,將添加的組成員列表,且每個成員以逗號分開。如果不存在該組,則會自動創(chuàng)建這個組。這里意思是openldap的用戶登錄confluence的時候默認加入到哪個組里面,confluence-users組是confluence的默認普通用戶權(quán)限組,登錄后會自動加入到這個組里面)

- 設置用戶模式
用戶名屬性:cn
用戶名RDN屬性:cn
用戶名字屬性:givenName
用戶姓氏屬性:sn
用戶顯示名屬性:displayName
用戶郵箱: Email
用戶密碼屬性: Password
用戶密碼加密:MD5

2、配置完成后,點擊快速測試

- 如果測試成功,會提示:
測試成功
這里僅測試此服務器可連接且認證信息正確。保存設置后您可點擊 瀏覽目錄 頁面的 “測試” 連接可以進行更全面的測試.

四、OpenLDAP+Jumpserver配置

1、登錄jumpserver設置ldap

- 系統(tǒng)設置 - LDAP設置

LDAP地址:ldap://100.111.21.68:389
綁定DN:cn=admin,dc=magedu,dc=com
密碼:magedupassword
用戶OU:dc=magedu,dc=com
用戶過濾器:(cn=%(user)s)
LDAP屬性映射:{"username": "cn", "name": "sn", "email": "mail"}
啟用LDAP認證:打勾

2、配置完成后,重啟jumpserver

重啟jumpserver容器
使用ldap用戶直接登錄系統(tǒng)

五、Openldap+Openvpn配置

# 環(huán)境說明:
OpenLdap: 1.2.2
openvpn-2.4.6
openvpn-auth-ldap-2.0.3

1、安裝openvpn需要的依賴包

shell> yum install openvpn-auth-ldap

2、編輯配置文件

#編輯ldap文件
shell> vi /etc/openvpn/auth/ldap.conf

<LDAP>
        URL             ldap://100.111.21.68:389
        BindDN          cn=admin,dc=magedu,dc=com
        Password        magedupassword
        Timeout         15
        TLSEnable       no
        FollowReferrals no
</LDAP>

<Authorization>
        BaseDN          "dc=magedu,dc=com"
        SearchFilter    "cn=%u"
        RequireGroup    false

        <Group>
                BaseDN          "cn=users,dc=magedu,dc=com"
                SearchFilter    "cn=vpn"
                MemberAttribute memberUid
        </Group>
</Authorization>


# 編輯openvpn的配置文件/etc/openvpn/server.conf:
shell> vim /etc/openvpn/server.conf

port 1194
proto tcp
dev tun
ca keys/ca.crt
cert keys/vpn01.magedu.com.crt
key keys/vpn01.magedu.com.key  # This file should be kept secret
dh keys/dh2048.pem
server 100.15.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.0.0 255.0.0.0"
push "route 100.64.0.0 255.192.0.0"
client-to-client
keepalive 10 120
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log         /var/log/openvpn/openvpn.log
log-append  /var/log/openvpn/openvpn.log
verb 4

plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf"
client-cert-not-required

3、客戶端的配置調(diào)整如下:

client
dev tun
proto tcp



# vpn外網(wǎng)ip

remote 61.20.90.111 1194
# nobind
persist-key
persist-tun

<ca>
-----BEGIN CERTIFICATE-----
MIIEsDCCA5igAwIBAgIJAOToyUe9fEooMA0GCSqGSI
EQfFmb3QRtwjazDHgaNc9FyVPsUY3iS7wnikXle4wS/rpdjBZWnw4XACnrpyo
2j6s1WkgSTx0h43MbKmipHbe9WRfdVO5MC72KMf7VSXZDCeYE5o8v45H4UcUtxup
MQ0wCwYDVQQLEwR0ZWNRMwEQYDVQQDEwp2aWRlb2
EQfFmb3QRtwjazDHgaXjoNc9FyVPsUY3iS7wnikXle4wS/rpdjBZWnw4XACnrpyo
2j6s1WkgSTx0h43MbKmipHbe9WRfdVO5MC72KMf7VSXZDCeYE5o8v45H4UcUtxup
MQ0wCwYDVQQLEwR0ZWNoMQYDVQQDEwp2aWRlb2
EQfFmb3QRtwjazDHgaXjoNc9FyVPsUY3iS7wnikXle4wS/rpdjBZWnw4XACnrpyo
2j6s1WkgSTx0h43MbKmHbe9WRfdVO5MC72KMf7VSXZDCeYE5o8v45H4UcUtxup
MQ0wCwYDVQQLEwR0ZWNoMRMwEQYDVQQDEwp2aWRlb2
EQfFmb3QRtwjazDHgaXjoNc9FyVPsUY3iS7wnikXle4wS/rpdjBZWnw4XACnrpyo
2j6s1WkgSTx0h43MbKmipHbe9WRfdVO5MC72KMf7VSXZDCeYE5o8v45H4UcUtxup
7B47Mg==
-----END CERTIFICATE-----

</ca># ns-cert-type server

auth-user-pass
remote-cert-tls server
verb 4

auth-user-pass是新加入的配置開啟了用戶名密碼認證

六、配置過程中可能會遇到的問題

如果報如下錯誤

因為 Undefined method `provider' for nil:nilclass,所以您無法從 Ldapmain 獲得授權(quán)。
(也有網(wǎng)友登錄的時候報 Could not authorize you from LDAP because “(ldap) account must provide a dn,uid and email address”)

這是因為Gitlab要求有email屬性
所以需要添加email

登錄phpldapadmin管理,http://ldap-server/phpldapadmin/
給用戶添加email屬性即可 好啦!今天的分享到這里就結(jié)束了,希望大家持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會有大量優(yōu)質(zhì)內(nèi)容與大家分享!
文章來源于網(wǎng)絡,侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運維、SRE、Devops、網(wǎng)絡安全、云原生、Go、Python開發(fā)專業(yè)人才培訓機構(gòu)!

    1. 主站蜘蛛池模板: 金塔县| 和平区| 桃江县| 栖霞市| 建昌县| 新龙县| 沅江市| 元谋县| 金山区| 洞口县| 商城县| 沂源县| 理塘县| 昌都县| 葵青区| 长垣县| 淮安市| 西丰县| 米脂县| 武城县| 惠水县| 高清| 婺源县| 三穗县| 竹北市| 栾城县| 平原县| 那曲县| 高淳县| 彭州市| 绥江县| 河池市| 通城县| 瑞昌市| 保定市| 高清| 如皋市| 芦山县| 盐津县| 正定县| 固镇县|