干货分享,从0搭建LDAP统一认证服务

干货分享,从0搭建LDAP统一认证服务LDAP 是轻量目录访问协议 LDAP 标准实际上是在 X 500 标准基础上产生的一个简化版本 可以根据需要定制

欢迎大家来到IT世界,在知识的湖畔探索吧!

openldap + phpldapadmin + nginx 搭建部署教程(完整版)

1.什么是LDAP

DAP特点

  • LDAP的结构用树来表示,而不是用表格。正因为这样,就不能用SQL语句了
  • LDAP可以很快地得到查询结果,不过在写方面,就慢得多
  • LDAP提供了静态数据的快速查询方式:Client/server模型,Server 用于存储数,Client提供操作目录信息树的工具,这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前
  • LDAP是一种开放Internet标准,LDAP协议是跨平台的的Interent协议它是基于X.500标准的,与X.500不同,LDAP支持TCP/IP(即可以分布式部署)

LDAP中提供三种身份认证机制

  • 匿名。
  • 基本认证:通过用户名和密码进行身份识别,又分为简单密码和MD5密码认证
  • LDAP提供的在SSL和TLS安全通道基础上进行的身份认证,包括数字证书的认证。

LDAP端口号:389,636
389 明文端口
636 加密端口 (SSL/TLS)

LDAP目录数据结构

  • 在LDAP中目录是按照树型结构组织——目录信息树(DIT) ,DIT是一个主要进行读操作的数据库
  • DIT由条目(Entry)组成,条目相当于关系数据库中表的记录;条目是具有分辨名DN(Distinguished Name)的属性-值对(Attribute-value,简称AV)的集合

在目录树中怎么组织数据
cn=Fran Smith,ou=employees,dc=foobar,dc=com

  • 在UNIX文件系统中,最顶层是根目录(root),LDAP目录也通常用ROOT做根,通常称为BaseDN
  • 因为历史(X.500)的原因,LDAP目录用ou(Organization Unit)从逻辑上把数据分开来。ou 也是一种条目,容器条目
  • ou下就是真正的用户条目

2.LDAP基本概念

  • dn:每一个条目都有一个唯一的标识名(distinguished Name ,DN),如上图中一个 dn:”cn=baby,ou=marketing,ou=people,dc=mydomain,dc=org” 。通过DN的层次型语法结构,可以方便地表示出条目在LDAP树中的位置,通常用于检索。
  • rdn:一般指dn逗号最左边的部分,如cn=baby。它与RootDN不同,RootDN通常与RootPW同时出现,特指管理LDAP中信息的最高权限用户。
  • Base DN:LDAP目录树的最顶部就是根,也就是所谓的“Base DN”,如”dc=mydomain,dc=org”。
    补充:

常见的两种DN设置:
dn格式就是“cn=Tom,ou=employees,dc=admin,dc=com”

基于cn(姓名)

cn=test,ou=auth,dc=baike,dc=com ,最常见的cn是/etc/group转来的条目

基于uid(User ID)

uid=test, ou=auth,dc=baike,dc=com 最常见的cn是/etc/group转来的条目

  • 结构型(Structural):如person和organizationUnit;
  • 辅助型(Auxiliary):如extensibeObject;
  • 抽象型(Abstract):如top,抽象型的objectClass不能直接使用。

每个条目都可以有很多属性(Attribute),比如常见的人都有姓名、地址、电话等属性。每个属性都有名称及对应的值,属性值可以有单个、多个,比如你有多个邮箱。

3.安装配置

3.1.安装包说明

安装包名称

说明

openldap

openldap服务端和客户端必须用的库文件

openldap-servers

用于启动服务和设置. 包含单独的ldap后台守护程序

openldap-clients

在LDAP服务端使用,用户增删改查的命令行环境

openldap-devel

devel包,可选择进行安装

openldap-servers-sql

支持sql模块,可进行选择性安装

migrationtools

通过migrationtools实现OpenLDAP用户及用户组的添加,导入系统账户,可进行选择性安装

compat-openldap

openldap兼容性库

{SSHA}aAwdh+JnUunpTSLlIw/zQG3t6/rXNI58

修改olcDatabase={2}hdb.ldif文件 将生成的加密字符写进配置文件

vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif

vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif

配置数据库

启动slapd

systemctl start slapd

导入Schema

添加用户和组

利用migrationtools 生成

vim /usr/share/migrationtools/migrate_common.ph

生成base.ldif 文件

干货分享,从0搭建LDAP统一认证服务



欢迎大家来到IT世界,在知识的湖畔探索吧!

4.集成phpLDAPadmin web页面

4.1 基于HTTPweb服务器配置(nginx 直接看4.2)

配置http:

vim /etc/httpd/conf.d/phpldapadmin.conf

启动LDAP

登陆页面即可看到(图片是后面补的,创建用户见
https://blog.csdn.net/rockstics/article/details/):

干货分享,从0搭建LDAP统一认证服务

4.2 基于nginx的web服务器配置

关于如何安装OpenLDAP与phpLDAPadmin在一个Nginx服务器,网上很难找到相关的配置,于是不得不FQ找到了下面的配置记录之,

浏览器访问
http://phpldapadmin.nausch.org

如果无法访问,请检查php 版本配置,番外篇中有踩坑说明

番外篇

  • 完全启用LDAP
  • 使用标准LDAP操作进行管理
  • 将其配置数据存储在 LDIF数据库,通常位于/usr/local/etc/openldap/slapd.d目录中。
  • 允许即时更改slapd的所有配置选项,通常无需重新启动服务器即可使更改生效。

slaptest -f /usr/local/etc/openldap/slapd.conf -F /usr/local/etc/openldap/slapd.d

测试您是否可以使用上面配置的默认rootdn和rootpw访问cn = config下的条目:

ldapsearch -x -D cn = config -w VerySecret -b cn = config

注意:尽管slapd-config 系统将其配置存储为(基于文本的)LDIF文件,但是您绝对不应直接编辑任何LDIF文件。配置更改应通过LDAP操作执行,例如ldapadd ,ldapdelete或ldapmodify

phpldapadmin nginx配置文件参考2

浏览器请求:
http://ldap01.linoxide.com/phpldapadmin

5.LDAP常用命令说明

ldapmodify -Y EXTERNAL -H ldapi:/// -f modify_syncrepl.ldif

ldapsearch -x -H
ldap://192.168.119.126:389 -b “dc=rockstics,dc=com” |grep uid=ldapuser* 匿名用户可用

ldapsearch -x -H
ldap://192.168.119.126:389 -D “cn=Manager,dc=rockstics,dc=com” -b “ou=People,dc=rockstics,dc=com” -w admin123 |grep uid=ldapuser* 用户认证查询

6.LDAP自助密码服务

参考:
https://ltb-project.org/documentation/self-service-password/latest/config_general

vim /etc/yum.repos.d/ltb-project.repo

yum install self-service-password -y

Openldap 自助密码服务self-service-password 实现用户认证后自己修改密码 需要设置

self-service-password配置文件
/usr/share/self-service-password/conf/config.inc.php:

干货分享,从0搭建LDAP统一认证服务

self-service-password http配置文件

[root@localhost ~]# cat /etc/httpd/conf.d/self-service-password.conf

self-service-password nginx配置文件

下面是根据Linux系统用户生成ldif文件创建Linux用户,如非Linux用户可直接跳过,导入base.ldif后可在图形界面创建用户,

导入账号信息到OpenLDAP数据库

添加用户到用户组的ldif文件

导入数据库

ldapadd -x -w Admin123 -D cn=admin,dc=wmqe,dc=com -f /root/add_user_to_groups.ldif

后记:

CSDN 搜索rockstics 查看完整内容

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/139299.html

(0)
上一篇 50分钟前
下一篇 35分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信