如何安裝並配置 OpenLDAP Ubuntu 伺服器

在今天快節奏的數字世界中,追蹤用戶帳戶和訪問控制並不是一件容易的事情。但請不要擔心!OpenLDAP是解決您困擾的方案,它是一個廣泛使用的開源實現輕量級目錄訪問協議(LDAP)

本教程將指導您如何在您的Ubuntu機器上設置OpenLDAP服務器的方方面面。告別分散的用戶數據,招呼集中管理、身份驗證和授權。

繼續閱讀以使您的用戶管理更加流暢,並簡化您的IT工作流程!

先決條件

本教程包含在設置OpenLDAP服務器方面的實踐演示。如果您希望跟隨進行,請確保您具有以下條件:

  • 兩台運行Ubuntu 20.04或更新版本的機器(一台用於服務器,一台用於客戶端)。
  • A non-root user with sudo privileges on both machines.

在Ubuntu上安裝OpenLDAP服務器從確保系統就緒性開始,您現在將深入了解您的設置核心,安裝OpenLDAP服務器。在組織的網絡中管理用戶帳戶和訪問控制時,LDAP在服務器管理中具有重要意義。

從確保您的系統準備就緒開始,您現在深入了解您的設置的核心,安裝OpenLDAP伺服器。在伺服器管理中,LDAP佔有重要地位,尤其是在管理組織網絡內的用戶帳戶和訪問控制時。

要在您的系統上安裝OpenLDAP伺服器,請按照以下步驟進行:

? 在本指南中,您必須使用您的域名來替換ata.com。

1. 打開您的終端並執行以下命令來設置您的機器的主機名(例如,ldap.ata.com)。此命令不會在終端中顯示任何輸出,但允許網絡上的其他設備識別您的機器。

sudo hostnamectl set-hostname ldap.ata.com

2. 接下來,運行以下apt update命令來更新您的系統的包索引。

sudo apt update -y
Updating the system’s package list

3. 更新完成後,運行以下apt install命令來安裝Apache網絡伺服器和必要的組件(PHP模塊)。這些組件對於OpenLDAP的正常運行是必需的。

sudo apt install apache2 php php-cgi libapache2-mod-php php-mbstring php-common php-pear -y
Installing Apache web server and essential PHP modules

4. 現在,執行此命令以安裝OpenLDAP伺服器和LDAP帳戶管理器(LAM),這是一個方便的基於網絡的管理工具。

sudo apt install slapd ldap-utils -y && sudo apt install ldap-account-manager -y
Installing the OpenLDAP server and LAM

5. 在安裝過程中提示時,為您的LDAP伺服器提供一個管理員密碼。

Providing an admin password for the LDAP server

6. 安裝完成後,執行以下systemctl命令以確認OpenLDAP伺服器(slapd)的狀態

sudo systemctl status slapd
Confirming the OpenLDAP server is active and running

7. 最後,運行以下slapcat命令以檢查LDAP數據庫內容。

sudo slapcat

A list of default schemas and configurations below indicates that OpenLDAP has been installed correctly.

Checking the LDAP database contents

使用UFW防火牆保護OpenLDAP伺服器安全

您已成功安裝您的OpenLDAP伺服器,但在它守護您的網絡之前,您必須加強其防禦。怎麼做?通過尋求UFW的幫助,這是Ubuntu可靠的默認防火牆。

配置UFW防火牆就像在您的城堡周圍設置一個數字護城河。您將根據需要定制防火牆以保護您的伺服器,只允許基本流量通過,並將數字掠奪者拒之門外。

為了確保您的OpenLDAP伺服器上的安全連接,您必須按照以下方式為OpenLDAP伺服器打開某些端口:

執行以下ufw命令以允許來自HTTP(80)、HTTPS(443)和LDAP(389)端口的傳入流量。

# 允許HTTP流量
sudo ufw allow 80
# 允許HTTPS流量
sudo ufw allow 443
# 允許LDAP流量
sudo ufw allow 389
Configuring the UFW Firewall for OpenLDAP Server

現在,運行以下命令以檢查系統上UFW的當前狀態和配置的詳細概述。

sudo ufw status verbose

下面的輸出確認您添加的防火牆規則已成功應用。

Checking the UFW status

在Apache中啟用LAM的PHP支持

在使用UFW防火牆加強LDAP服務器的安全性之後,您必須確保Apache能夠有效地識別和處理PHP文件。這一關鍵步驟為Apache和LAM之間的無縫集成鋪平了道路,使您能夠高效地管理LDAP目錄。

要啟用Apache中的PHP支持,請執行以下操作:

1. 運行以下a2enconf命令以啟用Apache的PHP通用網關接口(CGI)的配置文件。

這些配置文件通常包含與配置Apache的PHP相關的指令,例如設置處理程序或為PHP執行定義選項。通過啟用這些配置文件,您可以確保Apache正確配置以使用CGI接口處理PHP腳本。

sudo a2enconf php*-cgi
Enabling the PHP module

2. 啟用後,執行以下命令以reload Apache服務(apache2)以應用更改。

此命令不輸出任何內容,但確保對Apache配置所做的任何修改生效。此過程包括在不重新啟動整個Apache服務的情況下啟用PHP CGI模塊。

sudo systemctl reload apache2

3. 現在,調用此命令以檢查apache2服務的status,以確保一切運行順利。

sudo systemctl status apache2

輸出將顯示Apache Web服務器的當前狀態為active (running),沒有任何錯誤,如下所示。

Checking the status of the Apache service

設置LAM Web界面

在為LAM在Apache中啟用PHP支持之後,您現在專注於可以控制OpenLDAP服務器的集中式中心——LAM Web界面。此Web界面為像您這樣的管理員提供了一個直觀的平台,用於監督目錄服務。

要設置LAM Web界面,請按照以下步驟操作:

1. 運行以下ifconfig命令以顯示您的網絡信息。

ifconfig

查找並記下您的服務器的IP地址(例如,192.168.1.7),通常由inet.表示。

Noting down the server’s IP address

2. 開啟您最喜愛的網頁瀏覽器,並導航至您的伺服器IP位址,然後在位址欄中輸入/lam(例如,http://192.168.1.7/lam)。這樣做會將您的瀏覽器重新導向至LAM的網頁介面,如下所示。

Accessing the LAM web interface

3. 在登入頁面上點擊LAM設定(右上角)以存取LDAP帳戶管理頁面(第四步)。

Accessing the LAM Account Manager

4. 現在,點擊編輯伺服器設定檔以修改您的LAM設定。

Editing server profiles to modify the LAM settings

5. 在第二個登入頁面上輸入預設的lam密碼,然後點擊確定以進行驗證。

Authenticating access to the LAM web interface

6. 登入後,在一般設定下配置以下伺服器和語言設定:

  • 樹狀後綴 – 輸入您的目錄的基本區分名稱(DN),例如dc=ata,dc=com,並將其替換為您的實際網域組件。
  • 預設語言 – 選擇您偏好的語言以供LAM網頁介面使用。
  • 時區 – 選擇與您的伺服器位置相符的時區,這對於精確管理帳戶到期時間至關重要。
Configuring the server and language settings

7. 向下滾動並使用以下設定安全性和設定檔密碼:

  • 有效使用者清單 – 插入您的LDAP管理員使用者的DN,例如cn=admin,dc=ata,dc=com
  • 新密碼重新輸入密碼 – 為LAM管理員帳戶創建並確認一個強密碼以替換初始的預設密碼。
  • 保持其他設置為默認值,然後點擊保存以應用您的配置。保存後,您的瀏覽器將被重定向回登錄頁面。
Configuring security settings and profile password

在LAM中創建組和用戶

在您的LAM儀表板準備就緒後,您將專注於為一個有組織且安全的目錄結構打下基礎——組和用戶。在LAM中創建組和用戶就像將您的團隊組織成部門並為每個人發放他們的身份證件。

要在LAM中創建組和用戶,請執行以下操作:

1. 按照“設置LAM Web界面”部分的第三至五步導航到LDAP Account Manager。但這次,輸入您為OpenLDAP服務器新配置的密碼。

2. 在LAM Account Manager中,導航到帳戶類型選項卡以查看所有訪問類型選項。

Accessing the account types

3. 接下來,向下滾動並設置LDAP後綴,同時將<base_DN>(即dc=ata,dc=com)相應地替換如下:

  • 用戶ou=部門,<base_DN>
  • ou=組,<base_DN>
  • 保留其他設置為默認值,然後點擊保存

保存後,您的瀏覽器將被重定向到管理員登錄頁面(第四步)。

Setting the LDAP suffixes

4. 現在,輸入您在安裝過程中設定的管理員密碼,然後點擊登入以存取您的OpenLDAP伺服器。

Logging in to the OpenLDAP server

5. 當出現提示時,點擊建立以建立兩個遺失的後綴。

Creating the two missing suffixes

6. 建立後,點擊樹狀檢視(右上角)以查看新的LDAP後綴(部門群組)以階層結構顯示,如下所示。

Viewing the hierarchical structure

7. 接下來,點擊工具(右上角)並選擇OU編輯器以配置新的部門,如下:

  • 父DN – 選擇部門 > ata > com作為父DN。此選項指定新部門將在您的LDAP目錄中建立的位置。
  • 名稱 – 輸入IT(任意)作為部門(OU)名稱。

配置完成後,點擊確定以新增名為IT的新部門。

Adding a new department within the LDAP directory

8. 現在,導航到群組標籤並點擊新建群組以建立新群組。

建立群組簡化了管理,促進了協作,執行了政策,並促進了組織的可擴展性。

Creating a new group

9. 提供一個描述性的群組名稱(例如,我的IP群組),然後點擊儲存以確認新群組。

Naming the new group

10. 群組建立後,導航到使用者標籤並點擊新建使用者以建立新使用者。

建立一個根據用戶的角色、部門或其他標準進行分組的強健框架至關重要。這個框架有助於管理資源訪問並促進組織內部的有效協作。

Creating a new user

11. 接著,將用戶的個人信息設置如下:

  • 後綴下拉菜單中選擇IT > 部門 > ata > com,將用戶置於IT部門。
  • 在左側窗格的個人選項卡下,在姓氏字段中輸入myituser(任意)。
Setting the ne user’s personal information

12. 使用以下內容配置新用戶的憑證:

  • 轉到左側窗格的Unix選項卡,並確保新創建的組名(即My IP Group)被設置為主要組
  • 點擊設置密碼,這將打開一個對話框,在其中您將為新用戶設置密碼(步驟13)。
Initiating setting a password for the new user

13. 為新用戶提供一個安全的密碼,並點擊確定以確認。

Providing a secure password

14. 保持其他設置不變,點擊保存以完成新用戶帳戶的創建。

Saving the new user

15. 重新訪問樹視圖以查看更新後的結構,包括新部門(IT)、組(My IP Group)和用戶帳戶(myituser)。

Verifying the updated structure

安裝和配置OpenLDAP客戶端

既然您已經設置了一個出色的伺服器,您需要一種方法來通過安裝和配置OpenLDAP客戶端與其交互。設置此客戶端對於實現跨網絡的集中式身份驗證和資源訪問至關重要。

將您的Ubuntu系統與LDAP目錄伺服器集成建立了統一的身份驗證機制,增強了安全性並簡化了用戶管理。

要安裝和配置OpenLDAP客戶端,請按照以下步驟操作:

1. 執行以下sh命令,將OpenLDAP伺服器的名稱和IP地址添加到客戶機的/etc/hosts文件中,允許基於名稱的通信。

請記住將192.168.1.7ldap.ata.com替換為您的伺服器的IP地址和主機名。

sudo sh -c 'echo "192.168.1.7 ldap.ata.com" >> /etc/hosts'
Adding the OpenLDAP server’s hostname and IP address to the hosts file

2. 添加後,運行以下ping命令以檢查您的系統與OpenLDAP伺服器之間的連接(ldap.ata.com)。

ping -c3 ldap.ata.com

下面的輸出確認客戶機可以使用指定的IP地址和主機名成功與OpenLDAP伺服器通信。

Pinging the LDAP server

3. 接下來,運行以下命令以更新您的包列表並安裝以下必要的OpenLDAP客戶端包:

  • libnss-ldap – 使您的系統能夠使用LDAP進行常見配置數據庫。
  • libpam-ldap – 允許系統對LDAP目錄進行驗證。
  • ldap-utils – 提供用於管理LDAP目錄條目的命令行工具。
  • nscd – 緩存NSS查找,通過減少對LDAP服務器的查詢來提高性能。
sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd -y

在安裝過程中,您將收到一系列提示,以配置OpenLDAP客戶端(步驟四)。

Updating the package lists and installing the necessary OpenLDAP client packages

4. 現在,在LDAP服務器統一資源標識符字段中輸入ldap://192.168.1.7,這將導向客戶端到您的OpenLDAP服務器。

Setting the LDAP server Uniform Resource Identifier

5. 輸入搜索基礎的DN(即dc=ata,dc=com)以進行LDAP操作。

Entering the DN of the search base

6. 選擇3作為要使用的LDAP版本,以增強安全性和功能。

Selecting the preferred LDAP version

7. 接下來,選擇以授予root用戶數據庫管理員權限。

Making local root a Database admin

8. 之後,選擇以禁用LDAP數據庫登錄進行root帳戶管理。

Disabling the LDAP database login

9. 輸入root的LDAP帳戶(即cn=admin,dc=ata,dc=com)。此配置指定用於管理LDAP的管理帳戶。

Provide the LDAP account for the root

10. 提供一個強大的LDAP根帳戶密碼(管理員密碼)。

Provide an LDAP root account password

11. 客戶端配置完成後,在您喜歡的編輯器(例如nanovim)中打開/etc/nsswitch.conf文件,以配置系統的名稱服務交換機。

此文件決定了系統查找用戶帳戶、組、主機和服務等內容的順序。

12. 在/etc/nsswitch.conf文件中更改以下行的值,包括以下內容:

compat – 指的是本地文件,如/etc/passwd

ldap – 指定使用LDAP。

此配置允許使用LDAP用戶身份驗證和其他系統功能

passwd:         compat systemd ldap
group:          compat systemd ldap
shadow:         compat
Allowing the use of LDAP user authentication

13. 現在,打開/etc/pam.d/common-password文件,找到並刪除use_authtok選項,如下所示,保存更改並關閉文件。

此操作允許您調整PAM密碼設置以使用用戶提供的密碼。

Adjusting the PAM password settings

14. 此外,打開/etc/pam.d/common-session文件,添加以下行並保存並關閉文件。

用戶登錄時,此配置會自動創建主目錄以確保用戶主目錄以正確的權限創建。

session optional pam_mkhomedir.so skel=/etc/skel umask=077
Adding automatic home directory creation upon user login

15. 最後,運行以下命令以重新啟動名稱服務緩存守護進程(nscd)並應用配置更改。

sudo systemctl restart nscd

檢查您的OpenLDAP設置

隨著一切就緒,您必須確保您的OpenLDAP服務器和客戶端配置按預期工作。您將進行測試以確認您的LDAP目錄可訪問,用戶可以成功進行身份驗證,並且數據正確地被檢索和更新。

為了確保您的OpenLDAP服務器和客戶端設置的完整性和功能性,執行以下操作:

執行以下ldapsearch命令以查詢您的LDAP目錄中的所有用戶帳戶。

ldapsearch -x -H ldap://192.168.1.7 -b "dc=ata,dc=com"

您將看到類似以下的輸出,列出了每個用戶的詳細信息。這個輸出表明OpenLDAP服務器正確響應了您的搜索查詢。

Querying the LDAP directory for all user accounts

最後,嘗試登錄(su)到myituser用戶帳戶。

su - myituser

成功登錄表明對OpenLDAP服務器的身份驗證按預期工作。

? 成功的登錄消息可能不總是顯示;相反,您可能只是登錄並呈現了一個新的命令提示符,如下所示。如果有任何錯誤,它們將被顯示,並且您將保持以當前用戶登錄。

Logging in as the myituser user

結論

您做到了!您的Ubuntu服務器現在擁有一個完全運作的OpenLDAP系統,具有安全的防火牆、啟用了PHP的Web服務器以及一個時尚的LDAP Account Manager界面。

群組和使用者帳戶已設置完成,您的OpenLDAP客戶端已準備好連接。因此,您可以對您的伺服器效能充滿信心。

現在,花點時間瀏覽全面的OpenLDAP官方文件頁面,其中包含了寶貴的提示和技巧。另外,為什麼不考慮學習如何備份和恢復您的OpenLDAP伺服器,以確保您的使用者帳戶和設置的安全性?

Source:
https://adamtheautomator.com/openldap/