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. java 反射与其应用

    前言: 目标:对于我个人而言 我希望能由以下途径达到最终目标  清楚反射的概念以及为什么要用反射技术 -> java的反射技术 -> java反射技术涉及到的类 -> java反射技 ...

  2. Linux Network Command

    查看 内外网访问ipnetstat -an download file from server scp -r root@139.xxx.xxx.82:~/virtualbox.box /tmp/

  3. Devexpress GridControl 多选

    以前dev的多选要自己处理,一般的处理方式就是在单元格中添加checkbox控件.后来的版本中dev增加了多选的支持,只需要设置一下属性就可以了,属性如下图: 然后效果设计页面就是这个样子: 运行以后 ...

  4. (2018 Multi-University Training Contest 3)Problem L. Visual Cube

      //题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330//题目大意:按照一定格式画出一个 a×b×c 的长方体.  #include <b ...

  5. Jsの练习-数组常用方法 -forEach()

    forEach()  : 对数组进行遍历循环,对数组中的每一项运行给定函数. 格式: arr.forEach(function(value,index){}) <!DOCTYPE html> ...

  6. HTML5 classList使用

       add:给元素添加一个指定的class var test = document.getElementById('test'); test.classList.add('yellow');//添加 ...

  7. python中__name__

    1.在运行程序时一般会写 if __name__ == "__main__" 当一个py文件被程序当做模块导入时,python会将文件中的代码执行一遍,如果我们在py文件中写了一些 ...

  8. 牛客网小a的旅行计划

    地址:https://ac.nowcoder.com/acm/contest/223/B 此题是一道套公式题目,不难,ans=(pow(4,n+1)-4*pow(3,n+1)+6*pow(2,n+1) ...

  9. Python--错误SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

    Refer to:https://www.cnblogs.com/cyiner/archive/2011/09/18/2180729.html 用Python打开文件: fo=open("C ...

  10. Js/Session和Cookies的区别

    1.cookies数据存放在客户的浏览器上面,session放在服务器上面.2.cookies不安全,别人可以分析浏览器的数据进行cookies的欺骗,考虑到安全性,应该使用cookie3.sessi ...