LDAP介绍

1),ladp(Lightweight Directory Access Protocol),轻量级目录访问协议,提供被称为目录服务的信息服务,特别是基于X.500(构成全球分布式的目录服务系统的协议)的目录服务。

2),ldap运行在TCP/IP或者其他面向连接的传输服务上。

3),ldap同时是一个IETF标准跟踪协议,在“轻量级目录访问协议(ldap)技术规范路线”RFC4510中被指定。

4),ldap软件来源于OpenLDAP项目,该项目是一个由志愿者组成的团队,官网网址:http://www.openldap.rog

LDAP文件结构

LDAP信息模型是基于条目来组织的,一个条目是一个属性的集合,有一个全球唯一的识别名(DN,Domain Name)。DN用于标识条目,每个条目的属性有一个类型和一个或多个值。

该类型通常是可记忆的字符串,如“cn”就是标识通用名称,或者“电子邮件”就是电子邮件地址。该类型值的语法依赖于属性类型。例如,一个cn属性可以包含一个值tom jack,一个mail

属性可以包含值“tom@example.com”。

在LDAP文件结构中,目录条目都被排列在一个分层树形结构。一般来说,这种结构反映了地域和/或组织界限,这种层级关系如图:

树也可以根据互联网域名组主,这种命名方式目前非常普遍,因为他允许使用DNS为目录服务定位,如下图:

kerberos认证原理

kerberos组件

与MIT发布的Kerberos V5产品类似,Oracle Solaris 发行版的Kerberos服务也包括一下内容:

1),密钥分发中心(Key Distribution Center,KDC)

kerberos数据库管理守护进程--kadmind。

kerberos票据处理守护进程--krb5kdc.

数据库管理程序---kadmin(仅主KDC)、kadmin.local 和kdb5_util.

数据库传播软件---kprop(仅从KDC)和kpropd。

2),用于管理凭证的用户程序---kinit、klist和kdestroy。

3),用于更改kerberos口令的用户程序---kpasswd。

4),远程应用程序---ftp、rcp、rlogin、rsh、ssh和telnet。

5),远程应用程序守护进程---ftpd、rlogind、rshd、sshd和telnetd。

6),密钥表管理实用程序---ktutil。

7),通用安全服务应用编程接口(Generic Security Service Application ProgrammingInterface, GSS-API)-允许应用程序使用多种安全机制,并且不需要在每次添加新机
制时重新编译应用程序。GSS-API 使用标准接口,允许将应用程序移植到多种操作系统上。使用GSS-API,应用程序可包括完整性和保密性安全服务以及验证。ftp和ssh 均使用GSS-API。

8),RPCSEC_GSS 应用编程接口(Application Programming Interface, API)-允许NFS 服务使用Kerberos 验证。RPCSEC_GSS 是一种安全特性,可提供与要使用的机制无关的
安全服务。RPCSEC_GSS 位于GSS-API 层的顶部。使用RPCSEC_GSS 的应用程序可以使用所有基于可插拔GSS_API 的安全机制。

此外,Oracle Solaris 发行版的Kerberos 服务还包括以下内容:

9),一个基于GUI 的Kerberos 管理工具(gkadmin)-允许您管理主体和主体策略。这一基于Java 技术的GUI 是kadmin 命令的替代方法。

10),PAM的Kerberos V5 服务模块-为Kerberos 服务提供验证、帐户管理、会话管理和口令管理。使用该模块可使Kerberos 验证对用户而言透明化。

11),内核模块-提供kerberos 服务的基于内核的实现以供NFS 服务使用,这可大大提高性能。

Active Directory和LDAP基本概念

1),Active Directory是一个基于 Windows 环境中提供身份验证,目录,策略和其他服务的数据库系统, LDAP ( Lightweight Directory Access Protocol轻型目录访问协议) 是一个应用程序协议,用于查询和修改目录服务提供程序( 如 Active Directory ) 中的项目,它支持一种形式的LDAP 。

简而言之:AD是一个目录服务数据库,而LDAP是你可以用来与之交谈的协议之一。

2),LDAP是一个标准,AD是微软的(专用的)实现(等等),也可以理解成是基于LDAP的目录服务器的微软的实现。LDAP是目录数据的协议规范。AD还具有

自定义的扩展ontop版本,如账户锁定,密码过期等。

3),Active Directory是(以一种过于简化的方式)提供基于kerberos授权的基于LDAP的身份验证的服务。当然AD中的LDAP和kerberos实现与其他LDAP/Kerberos

实现不完全兼容。

4),Active Directory 是一个目录服务提供程序,可以将新用户添加到目录中,删除或者修改,指定privilages,指定策略等等,就像每个人都有唯一的联系人号码一样,AD(Active Directory)中的每一个东西都被视为对象,每个对象都有一个唯一的标识。

LDAP 是专门为目录服务提供商设计的协议。windows server 操作系统使用AD最为目录服务器,AIX是一个UNIX版本,它使用了Tivoli directory server 。它们都使用LDAP协议与目录交互。

5),active directory 是用来存储基于组织的数据,策略,身份验证的目录服务数据库,而ldap是用来与ad或者adam进行通讯的目录服务数据库。

6),LDAP位于 tcp/ip栈的顶部,并控制互联网目录访问。 它是环境无关的。AD & ADSI是一个围绕LDAP层的包装器,它是 Windows 特定的。

7),有很多系统支持LDAP与他们交谈,而不仅仅是Active Directory。Sun,IBM,Novell所有的目录服务器都是非常有效的LDAP服务器。

8),LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,LDAP标准实际上是在X.500标准基础上产生的一个简化版本。AD是Active  Directory的缩写,

9),AD应该是LDAP的一个应用实例,而不应该是LDAP本身。比如:windows域控的用户、权限管理应该是微软公司使用LDAP存储了一些数据来解决域控这个具体问题, 只是AD顺便还提供了用户接口,也可以利用Active Directory当做LDAP服务器存放一些自己的东西而已。比如LDAP是关系型数据库,微软自己在库中建立了几个表,每个表都定义好了字段。显然这 些表和字段都是根据微软自己的需求定制的,而不是LDAP协议的规定。然后微软将LDAP做了一些封装接口,用户可以利用这些接口写程序操作LDAP,使 得Active Directory也成了一个LDAP服务器。 总之:Active Directory = LDAP服务器+LDAP应用(Windows域控)。Active Directory先实现一个LDAP服务器,然后自己先用这个LDAP服务器实现了自己的一个具体应用(域控)。

在kerberos认证过程中Active Directory的作用的更多相关文章

  1. [Kerberos] Kerberos 认证过程整理

    Kerberos是一种安全认证协议,意在提供 more secure authentication simplified management of password convenience of s ...

  2. hadoop开启Service Level Authorization 服务级认证-SIMPLE认证-过程中遇到的坑

    背景描述: 最近在进行安全扫描的时候,说hadoop存在漏洞,Hadoop 未授权访问[原理扫描],然后就参考官方文档及一些资料,在测试环境中进行了开启,中间就遇到了很多的坑,或者说自己没有想明白的问 ...

  3. Kerberos认证过程学习理解

    概念: Kerberos服务器:AS认证服务器,TGS服务授权服务器 Client 客户端,代表使用应用的用户 AppServer 服务端,应用提供各种服务的服务器 Client在Kerberos注册 ...

  4. Linux源码安装过程中选项—prefix的作用

    源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure).Configu ...

  5. 域渗透 | kerberos认证及过程中产生的攻击

    ​文章首发于公众号<Z2O安全攻防>​ 直接公众号文章复制过来的,排版可能有点乱, 可以去公众号看. https://mp.weixin.qq.com/s/WMGkQoMnQdyG8UmS ...

  6. 域渗透基础之Kerberos认证协议

     本来昨晚就该总结整理,又拖到今天早上..6点起来赶可还行 0x01 Kerberos前言 Kerberos 是一种由 MIT(麻省理工大学)提出的一种网络身份验证协议.它旨在通过使用密钥加密技术为客 ...

  7. CAS FOR WINDOW ACTIVE DIRECTORY SSO单点登录

    一.CAS是什么? CAS(Central Authentication Service)是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(支持 ...

  8. Kerberos认证原理简介

    1.1 What is Kerberos 1.1.1 简单介绍 Kerberos是一个用于鉴定身份(authentication)的协议, 它采取对称密钥加密(symmetric-key crypto ...

  9. Active Directory网域

    Active Directory网域 3.1Windows网络的管理方式 3.1.1工作组模式 工作组由一组用网络连接在一起的计算机组成,他们将计算机内的资源共享给用户访问.工作组网络也被称为“对等式 ...

随机推荐

  1. IIS--------问题解决(localhost可以访问,本地ip不可以)

    api:localhost可以访问,本地ip就不可以,报错:405 解决方案:api项目 - 属性 - web - 服务器 将:iis-express 改为 本地iis 创建虚拟目录:eg:http: ...

  2. C# 读取 appconfig文件配置数据库连接字符串,和配置文件

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <connecti ...

  3. tensorFlow入门实践(二)模块化

    实现过一个例子之后,对TensorFlow运行机制有了初步的了解,但脑海中还没有一个如何实现神经网络的一个架构模型.下面我们来探讨如何模块化搭建神经网络,完成数据训练和预测. 首先我们将整体架构分为两 ...

  4. 2018-2019-2 学号20175223 实验二《Java面向对象程序设计》实验报告

    目录 北京电子科技学院(BESTI)实验报告 实验名称:实验二 面向对象程序设计 实验内容.步骤与体会: 一.实验二 面向对象程序设计-1 二.实验二 面向对象程序设计-2 三.实验二 面向对象程序设 ...

  5. java第七周----json

    JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于 ...

  6. 如何将新建的项目完整的提交到gitlab上?

    描述: 使用idea开发工具新建了一个项目工程,此时此刻工程没有任何的版本控制,代码存放在本地磁盘中,如果需要直接将项目工程代码提交到gitlab上,该如何操作呢? 因为当前没有版本控制,不能像正常的 ...

  7. SpringBoot+POI报表批量导出

    由于servletResponse 获取的输出流对象在一次请求中只能输出一次,所以要想实现批量导出报表,需要将excel文件打包成zip格式然后输出. 好了,废话不多说,上代码. 1. 首先,需要导入 ...

  8. 关于matlab中画图放大局部细节的问题

    1)需要用得到一个matnify.m文件,下载地址magnify 2)接下来就是如何使用magnify的问题,参见使用 只是在“使用”中的第二步之前首先要用cd进入magnify所在位置.

  9. xterm配置

    最近转到i3wm桌面下, 发现调用xfce4-terminal有些慢,索性卸载掉一切所谓高级的终端,使用xterm,其实这个才是更牛的家伙. 安装 apt install xterm in i3-wm ...

  10. CSS学习笔记_day3

    一.浮动的清除 1.给祖先元素加高度 <style> * { padding: 0; margin: 0; } .box1 { height: 100px; /**/ } ul { /*去 ...