如何安装和配置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 Web服务器和必要的组件(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. 启用后,执行以下命令以重新加载Apache服务(apache2)以应用更改。

此命令不会输出任何内容,但确保对Apache配置所做的任何修改生效。此过程包括在不重新启动整个Apache服务的情况下启用PHP CGI模块。

sudo systemctl reload apache2

3. 现在,调用此命令以检查apache2服务的状态,以确保一切运行顺畅。

sudo systemctl status apache2

输出将显示Apache Web服务器的当前状态为活动(正在运行),没有任何错误,如下所示。

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仪表板后,您将专注于为有组织和安全的目录结构奠定基础——组和用户。创建组和用户就像将您的团队组织成部门并为每个人提供他们的ID徽章。

要在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

最后,运行以下命令来重启名称服务缓存守护进程(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/