当前位置:文档之家› LDAP服务器

LDAP服务器

LDAP服务器
LDAP服务器

第一八章LDAP服务器

学习目标:

了解LDAP服务器的相关知识。学会配置Mirapoint Directory目录服务器。

1LDAP基础

LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。现在LDAP技术不仅发展得很快而且也是激动人心的。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从 LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把 LDAP 目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。

1.1 LDAP的优势

如果需要开发一种提供公共信息查询的系统一般的设计方法可能是采用基于WEB的数据库设计方式,即前端使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT + IIS + Acess数据库或者是SQL服务器,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能;

后端在Linux系统的典型实现可能是Linux+ Apache + postgresql,Apache 和数据库之间通过PHP3提供的函数进行连接。使用上述方法的缺点是后端关系数据库的引入导致系统整体的性能降低和系统的管理比较繁琐,因为需要不断的进行数据类型的验证和事务的完整性的确认;并且前端用户对数据的控制不够灵活,用户权限的设置一般只能是设置在表一级而不是设置在记录一级。

目录服务的推出主要是解决上述数据库中存在的问题。目录与关系数据库相似,是指具有描述性的基于属性的记录集合,但它的数据类型主要是字符型,为了检索的需要添加了BIN (二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,同样也不提供象关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。

现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数共同作用的结果。可能LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。

LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。产商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的。LDAP服务器可以是任何一个开发源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器进行交互。与LDAP不同的是,如果软件产商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。不象很多商用的关系型数据库,你不必为LDAP的每一个客户端连接或许可协议付费大多数的LDAP服务器安装起来很简单,也容易维护和优化。

LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:可以把数据“推”到远程的办公室,以增加数据的安全性。复制技术是内置在LDAP服务器中的而且很容易配置。如果要在DBMS中使用相同的复制功能,数据库产商就会要你支付额外的费用,而且也很难管理。

LDAP允许你根据需要使用ACL(一般都称为ACL或者访问控制列表)控制对数据读和写的权限。例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其它的域。ACL可以根据谁访问数据、访问什么数据、数据存在什么地方以及其它对数据进行访问控制。因为这些都是由LDAP目录服务器完成的,所以不用担心在客户端的应用程序上是否要进行安全检查。

LDAP(Lightweight Directory Acess Protocol)是目录服务在TCP/IP上的实现(RFC 1777 V2版和RFC 2251 V3版)。它是对X500的目录协议的移植,但是简化了实现方法,所以称为轻量级的目录服务。在LDAP中目录是按照树型结构组织,目录由条目(Entry)组成,条目相当于关系数据库中表的记录;条目是具有区别名DN (DistinguishedName)的属性(Attribute)集合,DN相当于关系数据库表中的关键字(PrimaryKey);属性由类型(Type)和多个值(Values)组成,相当于关系数据库中的域(Field)由域名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。LDAP协议集还规定了DN的命名方法、存取控制方法、搜索格式、复制方法、URL格式、开发接口等。LDAP对于这样存储这样的信息最为有用,也就是数据需要从不同的地点读取,但是不需要经常更新。

例如,这些信息存储在LDAP目录中是十分有效的:

z公司员工的电话号码簿和组织结构图

z客户的联系信息

z计算机管理需要的信息,包括NIS映射、email假名,等等

z软件包的配置信息

z公用证书和安全密匙

1.2 安全和访问控制

LDAP提供很复杂的不同层次的访问控制或者ACL。因这些访问可以在服务器端控制,这比用客户端的软件保证数据的安全可安全多了。用LDAP的ACL,可以完成:

z给予用户改变他们自己的电话号码和家庭地址的权限,但是限制他们对其它数据(如,职务名称,经理的登录名,等等)只有“只读”权限。

z给予“HR-admins"组中的所有人权限以改变下面这些用户的信息:经理、工作名称、员工号、部门名称和部门号。但是对其它域没有写权限。

z禁止任何人查询LDAP服务器上的用户口令,但是可以允许用户改变他或她自己的口令。

z给予经理访问他们上级的家庭电话的只读权限,但是禁止其他人有这个权限。

z给予“host-admins"组中的任何人创建、删除和编辑所有保存在LDAP服务器中的与计算机主机有关的信息

z通过Web,允许“foobar-sales"组中的成员有选择地给予或禁止他们自己读取一部分客户联系数据的读权限。这将允许他们把客户联系信息下载到本地的笔记本电脑或个人数字助理(PDA)上。(如果销售人员的软件都支持LDAP,这将非常有用)

z通过Web,允许组的所有者删除或添加他们拥有的组的成员。例如:可以允许销售经理给予或禁止销售人员改变Web页的权限。也可以允许邮件假名(mail aliase)的所有者不经过IT技术人员就直接从邮件假名中删除或添加用户。“公用”的邮件列表应该允许用户从邮件假名中添加或删除自己(但是只能是自己)。也可以对IP地址或主机名加以限制。例如,某些域只允许用户IP地址以192.168.200.*开头的有读的权限,或者用户反向查找DNS得到的主机名必须为*https://www.doczj.com/doc/d8619648.html,。

1.3 LDAP目录树的结构

LDAP目录以树状的层次结构来存储数据。如果你对自顶向下的DNS树或UNIX文件的目录树比较熟悉,也就很容易掌握LDAP目录树这个概念了。就象DNS的主机名那样,LDAP目录记录的标识名(Distinguished Name,简称DN)是用来读取单个记录,以及回溯到树的顶部。后面会做详细地介绍。

为什么要用层次结构来组织数据呢?原因是多方面的。下面是可能遇到的一些情况:

z如果你想把所有的美国客户的联系信息都“推”到位于到西雅图办公室(负责营销)的LDAP服务器上,但是你不想把公司的资产管理信息“推”到那里。

z你可能想根据目录树的结构给予不同的员工组不同的权限。在下面的例子里,资产管理组对“asset-mgmt"部分有完全的访问权限,但是不能访问其它地方。

把LDAP存储和复制功能结合起来,可以定制目录树的结构以降低对WAN带宽的要求。位于西雅图的营销办公室需要每分钟更新的美国销售状况的信息,但是欧洲的销售情况就只要每小时更新一次就行了。

1.4 基准DN

LDAP目录树的最顶部就是根,也就是所谓的“基准DN"。基准DN通常使用下面列出的三种格式之一。假定我在名为FooBar的电子商务公司工作,这家公司在Internet上的名字是https://www.doczj.com/doc/d8619648.html,。

o="FooBar, Inc.", c=US(以X.500格式表示的基准DN)

在这个例子中,o=FooBar, Inc. 表示组织名,在这里就是公司名的同义词。c=US 表

示公司的总部在美国。以前,一般都用这种方式来表示基准DN。但是事物总是在不断变化的,现在所有的公司都已经(或计划)上Internet上。随着 Internet的全球化,在基准DN中使用国家代码很容易让人产生混淆。现在,X.500格式发展成下面列出的两种格式。

o=https://www.doczj.com/doc/d8619648.html,(用公司的Internet地址表示的基准DN)

这种格式很直观,用公司的域名作为基准DN。这也是现在最常用的格式。

dc=foobar, dc=com(用DNS域名的不同部分组成的基准DN)

就象上面那一种格式,这种格式也是以DNS域名为基础的,但是上面那种格式不改变域名(也就更易读),而这种格式把域名: https://www.doczj.com/doc/d8619648.html,分成两部分 dc=foobar, dc=com。在理论上,这种格式可能会更灵活一点,但是对于最终用户来说也更难记忆一点。考虑一下https://www.doczj.com/doc/d8619648.html,这个例子。当 https://www.doczj.com/doc/d8619648.html,和https://www.doczj.com/doc/d8619648.html,合并之后,可以简单的把“dc=com"当作基准DN。把新的记录放到已经存在的dc=gizmo, dc=com目录下,这样就简化了很多工作(当然,如果https://www.doczj.com/doc/d8619648.html,和https://www.doczj.com/doc/d8619648.html,合并,这个方法就不能用了)。如果LDAP 服务器是新安装的,我建议你使用这种格式。再请注意一下,如果你打算使用活动目录(Actrive Directory),Microsoft已经限制你必须使用这种格式。

1.5 在目录树中怎么组织数据

在UNIX文件系统中,最顶层是根目录(root)。在根目录的下面有很多的文件和目录。象上面介绍的那样,LDAP目录也是用同样的方法组织起来的。

在根目录下,要把数据从逻辑上区分开。因为历史上(X.500)的原因,大多数LDAP 目录用OU从逻辑上把数据分开来。OU表示 “Organization Unit",在X.500协议中是用来表示公司内部的机构:销售部、财务部,等等。现在LDAP还保留ou=这样的命名规则,但是扩展了分类的范围,可以分类为:ou=people, ou=groups, ou=devices,等等。更低一级的OU有时用来做更细的归类。例如:LDAP目录树(不包括单独的记录)可能会是这样的:

dc=foobar, dc=com

ou=customers

ou=asia

ou=europe

ou=usa

ou=employees

ou=rooms

ou=groups

ou=assets-mgmt

ou=nisgroups

ou=recipes

1.6 单独的LDAP记录

DN是LDAP记录项的名字。在LDAP目录中的所有记录项都有一个唯一的“Distinguished Name",也就是DN。每一个LDAP记录项的DN是由两个部分组成的:相对DN(RDN)和记录在LDAP目录中的位置。

RDN是DN中与目录树的结构无关的部分。在LDAP目录中存储的记录项都要有一个名字,这个名字通常存在cn(Common Name)这个属性里。因为几乎所有的东西都有一个名字,在LDAP中存储的对象都用它们的cn值作为RDN的基础。如果我把最喜欢的吃燕麦粥食谱存为一个记录,我就会用cn=Oatmeal Deluxe作为记录项的RDN。

我的LDAP目录的基准DN是dc=foobar,dc=com

我把自己的食谱作为LDAP的记录项存在ou=recipes

我的LDAP记录项的RDN设为cn=Oatmeal Deluxe

上面这些构成了燕麦粥食谱的LDAP记录的完整DN。记住,DN的读法和DNS主机名类似。下面就是完整的DN:

cn=Oatmeal Deluxe,ou=recipes,dc=foobar,dc=com

举一个实际的例子来说明DN:

现在为公司的员工设置一个DN。可以用基于cn或uid(User ID),作为典型的用户帐号。例如,FooBar的员工Fran Smith(登录名:fsmith)的DN可以为下面两种格式:

uid=fsmith,ou=employees,dc=foobar,dc=com(基于登录名)

LDAP(以及X.500)用uid表示“User ID",不要把它和UNIX的uid号混淆了。大多数公司都会给每一个员工唯一的登录名,因此用这个办法可以很好地保存员工的信息。你不用担心以后还会有一个叫Fran Smith的加入公司,如果Fran改变了她的名字(结婚?离婚?或宗教原因?),也用不着改变LDAP记录项的DN。

cn=Fran Smith,ou=employees,dc=foobar,dc=com(基于姓名)

可以看到这种格式使用了Common Name(CN)。可以把Common Name当成一个人的全名。这种格式有一个很明显的缺点就是:如果名字改变了,LDAP的记录就要从一个DN转移到另一个DN。但是,我们应该尽可能地避免改变一个记录项的DN。

1.7 定制目录的对象类型

你可以用LDAP存储各种类型的数据对象,只要这些对象可以用属性来表示,下面这些是可以在LDAP中存储的一些信息:

z员工信息:员工的姓名、登录名、口令、员工号、他的经理的登录名,邮件服务器,等等。

z物品跟踪信息:计算机名、IP地址、标签、型号、所在位置,等等。

z客户联系列表:客户的公司名、主要联系人的电话、传真和电子邮件,等等。

z会议厅信息:会议厅的名字、位置、可以坐多少人、电话号码、是否有投影机。

z食谱信息:菜的名字、配料、烹调方法以及准备方法。

因为LDAP目录可以定制成存储任何文本或二进制数据,到底存什么要由你自己决定。LDAP目录用对象类型(object classes)的概念来定义运行哪一类的对象使用什么属性。在几乎所有的LDAP服务器中,你都要根据自己的需要扩展基本的LDAP目录的功能,创建新的对象类型或者扩展现存的对象类型。

LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。下面是我存在LDAP目录中的一部分食谱记录:

dn: cn=Oatmeal Deluxe, ou=recipes, dc=foobar, dc=com

cn: Instant Oatmeal Deluxe

recipeCuisine: breakfast

recipeIngredient: 1 packet instant oatmeal

recipeIngredient: 1 cup water

recipeIngredient: 1 pinch salt

recipeIngredient: 1 tsp brown sugar

recipeIngredient: 1/4 apple, any type

请注意上面每一种配料都作为属性recipeIngredient值。LDAP目录被设计成象上面那样为一个属性保存多个值的,而不是在每一个属性的后面用逗号把一系列值分开。

因为用这样的方式存储数据,所以数据库就有很大的灵活性,不必为加入一些新的数据就重新创建表和索引。更重要的是,LDAP目录不必花费内存或硬盘空间处理“空”域,也就是说,实际上不使用可选择的域也不会花费你任何资源。

1.8 范例

让我们看看下面这个例子。我们用Foobar, Inc.的员工Fran Smith的LDAP记录。这个记录项的格式是LDIF,用来导入和导出LDAP目录的记录项。

dn: uid=fsmith, ou=employees, dc=foobar, dc=com

objectclass: person

objectclass: organizationalPerson

objectclass: inetOrgPerson

objectclass: foobarPerson

uid: fsmith

givenname: Fran

sn: Smith

cn: Fran Smith

cn: Frances Smith

telephonenumber: 510-555-1234

roomnumber: 122G

o: Foobar, Inc.

mailRoutingAddress: fsmith@https://www.doczj.com/doc/d8619648.html,mailhost: https://www.doczj.com/doc/d8619648.html, userpassword: 3x1231v76T89N

uidnumber: 1234

gidnumber: 1200

homedirectory: /home/fsmith

loginshell: /usr/local/bin/bash

属性的值在保存的时候是保留大小写的,但是在默认情况下搜索的时候是不区分大小写的。某些特殊的属性(例如,password)在搜索的时候需要区分大小写。

让我们一点一点地分析上面的记录项。

dn: uid=fsmith, ou=employees, dc=foobar, dc=com

这是Fran的LDAP记录项的完整DN,包括在目录树中的完整路径。LDAP(和X.500)使用uid(User ID),不要把它和UNIX的uid号混淆了。

objectclass: person

objectclass: organizationalPerson

objectclass: inetOrgPerson

objectclass: foobarPerson

可以为任何一个对象根据需要分配多个对象类型。person对象类型要求cn(common name)和sn(surname)这两个域不能为空。persion对象类型允许有其它的可选域,包括givenname、 telephonenumber,等等。organizational Person给person加入更多的可选域,inetOrgPerson又加入更多的可选域(包括电子邮件信息)。最后,foobarPerson是为 Foobar定制的对象类型,加入了很多定制的属性。

uid: fsmith

givenname: Fran

sn: Smith

cn: Fran Smith

cn: Frances Smith

telephonenumber: 510-555-1234

roomnumber: 122G

o: Foobar, Inc.

以前说过了,uid表示User ID。当看到uid的时候,就在脑袋里想一想“login"。

请注意CN有多个值。就象上面介绍的,LDAP允许某些属性有多个值。为什么允许有多个值呢?假定你在用公司的LDAP服务器查找Fran 的电话号码。你可能只知道她的名字叫Fran,但是对人力资源处的人来说她的正式名字叫做Frances。因为保存了她的两个名字,所以用任何一个名字检索都可以找到Fran的电话号码、电子邮件和办公房间号,等等。

mailRoutingAddress: fsmith@https://www.doczj.com/doc/d8619648.html,mailhost: https://www.doczj.com/doc/d8619648.html,

就象现在大多数的公司都上网了,Foobar用Sendmail发送邮件和处理外部邮件路由

信息。Foobar把所有用户的邮件信息都存在LDAP中。最新版本的Sendmail支持这项功能。

Userpassword: 3x1231v76T89N

uidnumber: 1234

gidnumber: 1200

gecos: Frances Smith

homedirectory: /home/fsmith

loginshell: /usr/local/bin/bash

注意,Foobar的系统管理员把所有用户的口令映射信息也都存在LDAP中。FoobarPerson类型的对象具有这种能力。再注意一下,用户口令是用UNIX的口令加密格式存储的。UNIX的uid在这里为uidnumber。提醒你一下,关于如何在LDAP中保存NIS信息,有完整的一份RFC。在以后的文章中我会谈一谈NIS的集成。

1.9 LDAP复制

LDAP服务器可以使用基于“推”或者“拉”的技术,用简单或基于安全证书的安全验证,复制一部分或者所有的数据。

例如,Foobar有一个“公用的”LDAP服务器,地址为https://www.doczj.com/doc/d8619648.html,,端口为389。Netscape Communicator的电子邮件查询功能、UNIX的“ph"命令要用到这个服务器,用户也可以在任何地方查询这个服务器上的员工和客户联系信息。公司的主LDAP服务器运行在相同的计算机上,不过端口号是1389。

你可能即不想让员工查询资产管理或食谱的信息,又不想让信息技术人员看到整个公司的LDAP目录。为了解决这个问题,Foobar有选择地把子目录树从主LDAP服务器复制到“公用”LDAP服务器上,不复制需要隐藏的信息。为了保持数据始终是最新的,主目录服务器被设置成即时“推”同步。这些种方法主要是为了方便,而不是安全,因为如果有权限的用户想查询所有的数据,可以用另一个LDAP端口。

假定Foobar通过从奥克兰到欧洲的低带宽数据的连接用LDAP管理客户联系信息。可以建立从https://www.doczj.com/doc/d8619648.html,:1389到https://www.doczj.com/doc/d8619648.html,:389的数据复制,象下面这样:

periodic pull: ou=asia,ou=customers,o=https://www.doczj.com/doc/d8619648.html,

periodic pull: ou=us,ou=customers,o=https://www.doczj.com/doc/d8619648.html,

immediate push: ou=europe,ou=customers,o=https://www.doczj.com/doc/d8619648.html,

“拉”连接每15分钟同步一次,在上面假定的情况下足够了。“推”连接保证任何欧洲的联系信息发生了变化就立即被“推”到Munich。

用上面的复制模式,用户为了访问数据需要连接到哪一台服务器呢?在Munich的用户可以简单地连接到本地服务器。如果他们改变了数据,本地的LDAP服务器就会把这些变化传到主LDAP服务器。然后,主LDAP服务器把这些变化“推”回本地的“公用”LDAP服务器保持数据的同步。这对本地的用户有很大的好处,因为所有的查询(大多数是读)都在本

地的服务器上进行,速度非常快。当需要改变信息的时候,最终用户不需要重新配置客户端的软件,因为LDAP目录服务器为他们完成了所有的数据交换工作。

2Mirapoint LDAP服务器配置(Directory)

2.1 LDAP服务器搭建

由于LDAP服务器可以由多种软件搭建在任何的操作系统平台上,种类繁多。因此,在本教材中我们仅以Mirapoint LDAP服务器为例介绍LDAP服务器的搭建方式。

1)创建LDAP库

test

adddb

dir

//创建LDAP库test;

dir adddbsuffix test o=test

//创建LDAP库test的根为o=test;

2)创建检索

dir addindex test miloginid eq

//创建LDAP库test的索引为miloginid;

3)设置LDAP库管理员及密码

dir setdboption test rootdn “uid=administrator,o=test”

//设定LDAP库test的管理员DN为uid=administrator,o=test;

dir setdboption test rootpw 1234

//设定LDAP库test的管理员密码为1234;

4)启用WEB管理界面管理数据

conf enable ldapgui

//将LDAP管理集成到WEB管理界面;

conf enable ldapall

//启用LDAP管理自动回复、例外、自动转发、用户密码、WEBMAIL属性等信息。

2.2 LDAP服务器数据导入

从第一节的介绍我们已经大致了解LDAP的数据格式,本节将给大家介绍Mirapoint LDAP服务器的数据结构及导入过程。

dir importldif o=test c

//将数据导入基准o=test中;

#############LDIF样本###########

dn: o=test

objectclass: Organization

o: test

dn: ou=domains,o=test

objectclass: OrganizationalUnit

ou: domains

dn: miDomainName=primary,ou=domains,o=test

objectclass: miDomain

midomainname: primary

dn: miloginid=testuser,miDomainName=primary, ou=domains, o=test

miloginid: testuser

objectclass: mirapointUser

objectclass: mirapointMailUser

mailhost: https://www.doczj.com/doc/d8619648.html,

sn: testuser

mail: testuser@https://www.doczj.com/doc/d8619648.html,

micosdn: cn=cos_sample, miDomainName=primary, ou=cos, o=test

dn: miDomainName=https://www.doczj.com/doc/d8619648.html,, ou=domains, o=test

objectclass: miDomain

midomainname: https://www.doczj.com/doc/d8619648.html,

dn: mail=@https://www.doczj.com/doc/d8619648.html,, miDomainName=https://www.doczj.com/doc/d8619648.html,, ou=domain

s, o=test

cn: domain entry

objectclass: mirapointUser

objectclass: mirapointMailUser

mail: @https://www.doczj.com/doc/d8619648.html,

mailhost: https://www.doczj.com/doc/d8619648.html,

micosdn: cn=cos_sample, miDomainName=primary, ou=cos, o=test

dn: ou=cos,o=test

objectclass: OrganizationalUnit

ou: cos

dn: miDomainName=primary,ou=cos,o=test

objectclass: miDomain

midomainname: primary

dn: cn=cos_sample,miDomainName=primary,ou=cos,o=test

miservice: msgexpiration

miservice: quota

miservice: antispam

miservice: enterpriseui

miservice: pop

miservice: imap

miservice: antivirus

miservice: filter

miservice: webmail

miservice: forward

miservice: calendar

miservice: autoreply

objectclass: miClassOfService

cn: Junkmail_Manager_default_cos

mimailexpirepolicy: INBOX.Junk Mail 7 I

#############LDIF样本###########

3Mirapoint LDAP复制(Replicate)

3.1 LDAP辅服务器配置

Mirapoint作为LDAP辅服务器时,首先需要按照上一节中介绍的方法创建和主服务器完全一致的LDAP库、INDEX索引以及其他相关配置信息。此外还需要运行下列命令:Dir AddReplica RA1 "mirapoint" o=test

//RA1为当前配置的LDAP复制工程名称;mirapoint为复制目标系统,可以为mirapoint 或iplanet;o=test为复制节点,即从什么节点开始复制。

Dir AddRepHost RA1 ldap://https://www.doczj.com/doc/d8619648.html,

//RA1为当前配置的LDAP复制工程名称;ldap://https://www.doczj.com/doc/d8619648.html,为目标LDAP服务器地址。

Dir SetRepOption RA1 Master ldap://https://www.doczj.com/doc/d8619648.html,:389

//该命令用来设定LDAP复制的主服务器地址;

Dir SetRepOption RA1 BindDN uid=administrator,o=test

//该命令用来设定LDAP复制的管理员DN;

Dir SetRepOption RA1 BindPW 1234

//该命令用来设定LDAP复制的管理员密码;

Dir SetRepOption RA1 Exclude userPassword

//该命令设定在LDAP复制的过程中不更新的属性,上面的范例里面说在LDAP复制过程中不更新userPassword属性;

Dir SetRepOption RA1 Schedule "0,15,30,45 0-16 * * 1-5"

//该命令设定LDAP复制的重复策略即计划任务为周一至周五的0点至16点,每15分钟同步一次。双引号内的5个参数依次为:分钟,小时,日,月,星期几;

Dir SetRepOption RA1 Trigger userPassword

//该命令设定了当什么属性变化时立刻进行LDAP复制工作。上面的范例表明当userPassword属性变化时立刻进行同步。

Dir Replicate RA1 ldap://https://www.doczj.com/doc/d8619648.html, incremental

//该命令为手工运行的LDAP复制功能。其中incremental表明仅同步变化的部分,full 为全部同步。

3.2 LDAP主服务器配置

如果主服务器为Mirapoint服务器,则LDAP主服务器配置与辅服务器配置大致相同;如果辅服务器为iplanet服务器,则需要在配置文件当中增加条目,允许辅服务器进行同步动作。

4LDAP服务器访问控制(ACL)

LDAP服务器访问控制主要用于拒绝外部非授权访问控制,增强LDAP服务器的数据安全。

命令格式:

Dir AddACL dbname aclname what

//

z dbname为LDAP库名称;

z aclname为管理员自定的访问控制表名称;

z what部分可以为下面的一些参数:

*

(attr=attributeList)

(dn[.style]=regularExpression) //其中style可以为regex,base,one,subtree,children

(filter=LDAPfilter)

Dir AddAclEntry dbname aclname entryname who level control

//

z此处的dbname和aclname和上面介绍的一致;

z entryname为管理员可以自定的条目名称;

z who可以为:

(* | anonymous | users | self | [(dn[.style]=regex)]

[(dnattr=attrname)]

[(group[/objectclass[/attrname]][.substyle]=regex)]

[(domain[.substyle]=regex)] [(sockurl[.substyle]=regex)]

[(peername[.substyle]=regex)] [(sockname[.substyle]=regex)] )

其中style可以为regex ,exact ,base , one ,subtree ,children

z level可以为:

none,auth,compare,search,read,selfwrite,write

z control可以为:

""(空),stop,continue,break.

下面我们给大家一个真实的LDAP ACL设置范例。下面的命令为LDAP库test定制了访问控制规则test_acl,test_acl中限定了:

z仅允许管理员和用户修改用户自身的信息;

z仅允许用户搜索主域的其他用户信息;

z允许全部用户进行身份认证

z禁止其余未授权的访问

dir addacl test test_acl (dn.subtree=miDomainName=primary,ou=domains,o=test)

dir addaclentry test test_acl test_self "self" write ""

dir addaclentry test test_acl test_admin "dn=uid=administrator,o=test"

write ""

dir addaclentry test test_acl test_search "dn.subtree=miDomainName=primary,ou=domains,o=test" read ""

dir addaclentry test test_acl test_auth "*" auth ""

dir addaclentry test test_acl test_none "*" none ""

定制了该ACL后,主域中的所有用户可以通过LDAP查询查询到全部主域中的用户信

息(地址簿),而其他邮件域(如刚才导入LDAP的https://www.doczj.com/doc/d8619648.html,)无法查询到

主域的任何用户信息。

5上机实验

1)通过命令行的方式,新建一个数据库test,设置为o=test

2)将符合Mirapoint默认目录结构的LDIF导入,建立基本的目录结构

3)设置LDAP管理员为uid=administrator,o=test,密码为1111

4)为miloginid,mail建立索引

第一九章LDAP端集成

1Mirapoint LDAP客户端配置

登陆WEB管理界面,点击“首页”-“系统”-“路由”进入Mirapoint邮件路由设置界面。在此,管理员可以设定保存用户信息的LDAP服务器地址,配置LDAP用户查询及邮件组查询条件等信息。

图14.1

图14.2

图14.3

LDAP路由的设置难点在于查询过滤器及对应属性的一一对应。下面我们将常见主流LDAP厂商的查询过滤器、属性设置逐一列举:

1.1 Mirapoint LDAP

常用BASEDN命名方式:

o=test

常用BINDDN命名方式:

uid=administrator,o=test

查询过滤器:

(|(mail=$(login))(mailLocalAddress=$(login))(miloginid=$(login)))

对应属性:

Published name attribute: mail

Mail host attribute: mailhost

Routing address attribute: mailroutingaddress

Full name attribute: cn

Login id attribute: miloginid

Folder Quota attribute: mimailquota

1.2 AD

常用BASEDN命名方式:

DC=test,DC=com

常用BINDDN命名方式:

CN=Administrator,CN=Users,DC=test,DC=com

查询过滤器:

(|(mail=$(login))(proxyAddresses=smtp:$(login))(sAMAccountName=$(login) ))

对应属性:

Published name attribute: mail

Mail host attribute: mailhost

Routing address attribute: ;没有对应属性

Full name attribute: cn

Login id attribute: sAMAccountName

Folder Quota attribute: ;没有对应属性

需要额外定义的属性——mailhost(邮件主机映射)

图14.4

1.3 iPlanet LDAP

常用BASEDN命名方式:

o=https://www.doczj.com/doc/d8619648.html,

常用BINDDN命名方式:

uid=test,ou=people,o=https://www.doczj.com/doc/d8619648.html,

查询过滤器:

(|(mail=$(login))(uid=$(login)))

对应属性:

Published name attribute: mail

Mail host attribute: mailhost ;不一定存在mailhost,需要管理员选择其他属性代替

Routing address attribute: ;没有固定对应属性,需要管理员按照实际情况选择Full name attribute: cn

Login id attribute: uid

Folder Quota attribute: ;没有固定对应属性,需要管理员按照实际情况选择1.4 OpenLdap

LDAP服务器为OpenLdap时,具体Mirapoint客户端配置可参照iPlanet配置方法。2LDAP路由

Mirapoint邮件路由功能是Mirapoint的特色功能,不仅支持基于邮件域、IP地址的路由;而且还支持基于用户的路由(LDAP路由)。管理员可以利用LDAP路由功能将每个

用户的邮件路由至正确的IP地址。

Mirapoint LDAP路由的核心在于LDAP服务器中的MailHost属性。该属性仅在

Mirapoint LDAP服务器中有定义,用来保存用户邮箱所在服务器的IP地址。如果使用其

他第三方标准LDAP服务器(如AD、iPlanet、OpenLdap),管理员需要重新指定一个属

性保存用户邮箱所在邮件服务器的IP地址(常用属性如l、lt、phone等均可)。

除了MailHost属性外,管理员还需要手工指定SMTP引擎使用LDAP路由的工作模

式。使用WEB管理界面时系统会自动配置SMTP工作模式为LDAP路由;仅在使用命令

行模式对Mirapoint进行操作时才需要管理员手工指定SMTP工作模式。

图形界面的LDAP路由配置方法祥见本章第一节Mirapoint LDAP客户端配置。下面

我们以命令行模式为例进行LDAP路由配置:

ldap add 10.10.244.16

增加LDAP服务器IP地址

ldap setquery user:publishedname o=test (|(mail=$(login))(miloginid=$(login))) mail ""

//指定publishedname属性在LDAP服务器中对应的属性为mail,查询的基准为o=test,

查询过滤器为(|(mail=$(login))(miloginid=$(login)));

ldap setquery user:mailhost "" "" mailhost ""

//指定mailhost属性在LDAP服务器中的对应属性为mailhost,查询基准和查询过滤器

与publishedname属性中定义的一致;

ldap setquery user:fullname "" "" cn ""

//指定fullname属性在LDAP服务器中的对应属性为cn,查询基准和查询过滤器与publishedname属性中定义的一致;

ldap setquery user:loginid "" "" miloginid ""

//指定loginid属性在LDAP服务器中的对应属性为miloginid,查询基准和查询过滤器与publishedname属性中定义的一致;

ldap setquery user:quota "" "" mimailquota ""

//指定quota属性在LDAP服务器中的对应属性为mimailquota,查询基准和查询过滤器

与publishedname属性中定义的一致;

ldap addaccess o=test uid=administrator,o=test 1234 pass

//定义LDAP查询基准为o=test时的BINDDN为“uid=administrator,o=test”,查询

密码为1234(pass说明密码以明文模式输入);

smtp set ldaprouting on

//设定SMTP引擎的路由方式为LDAP路由。

3LDAP代理

基于LDAP代理是Mirapoint的特色功能,根据LDAP服务器中的MailHost属性将

用户的访问请求中转至特定的邮件服务器处理,邮件路由的配置方法祥见LDAP路由中所

描述。该功能的引入使得Mirapoint设备可以部署在网络边缘,作为邮件网络的外围安全

设备(SSL转换)、邮件访问统一入口,确保整个邮件网络的数据安全。Mirapoint代理功

能包括POP代理、IMAP代理以及WEBMAIL代理,下面我们将重点描述LDAP代理功能

的设置。

3.1 POP/IMAP代理

修改POP/IMAP工作模式的方式有两种——基于WEB的管理界面和命令行模式。开启POP/IMAP代理功能后,如果在LDAP能够正确的查询到用户的MailHost属性,无需其他设置,用户访问Mirapoint设备时将会被Mirapoint路由至MailHost属性指定的后台邮件服务器。

基于WEB的管理界面

登陆WEB管理界面,点击“首页”-“系统”-“服务”-“POP”(IMAP),即可进入POP/IMAP 的配置页面,直接选择POP/IMAP的工作模式后再点击“修改”即可完成模式的转换。

图14.5

命令行模式

命令格式:

pop set mode ldapproxy ;参数可以为ldapproxy或者normal

imap set mode ldapproxy ;同上

3.2 WEBMAIL代理

3.2.1LDAP重定向

Mirapoint LDAP重定向类似HTTP重定向功能。当用户发出访问请求时,如果采用LDAP重定向模式,则会采用LDAP信息进行HTTP重定向,将用户重定向至另外的WEB 服务器。

3.2.2LDAP 代理

Mirapoint WEBMAIL LDAP代理功能配置方法请参照3.1 POP/IMAP代理所述方式进行设定。

基于WEB的管理界面

登陆WEB管理界面,点击“首页”-“系统”-“服务”-“HTTP”-“模式”,即可进入HTTP服务的配置页面,直接选择HTTP的工作模式后再点击“修改”即可完成模式的转换。

命令行模式

命令格式:

http set mode ldapproxy ;参数可以为ldapproxy/normal/ldapredirect

4LDAP用户认证和自动创建

上面的内容介绍了如何在Mirapoint系统中设置LDAP客户端、LDAP路由、LDAP 代理等方法,本节我们将向大家介绍Mirapoint与LDAP服务器协同工作配置中的最后一步——用户认证和自动创建功能的设置。

这两个功能无法通过WEB管理界面进行管理,仅能够通过命令行模式进行配置,相关命令如下:

auth set default plaintext:ldap ;设定当前Mirapoint系统的默认认证方式为LDAP认证

ldap set autoprovision on ;开启Mirapoint系统的用户邮箱根据LDAP自动创建功能

5COS服务分级管理

Mirapoint提供了服务分级管理(COS)功能,极大的方便了各个企业、ISP对用户的细分。使得管理员可以针对用户的工种、职位的不同享有不同的邮件服务、邮箱空间以及过滤策略等功能。

该功能可以通过登陆WEB管理界面,点击“首页”-“服务级别”进行设定,但是首次初始化必须通过命令行模式进行。下面我们着重介绍COS的初始化过程:

dir importldif o=test c

//为基准o=test导入LDIF文件,输入该命令后系统将进入等待输入状态,直到接收到“.”结束编辑;

#############LDIF样本##############

dn: ou=cos,o=test

objectclass: OrganizationalUnit

ou: cos

dn: miDomainName=primary,ou=cos,o=test

objectclass: miDomain

midomainname: primary

.

#############LDIF样本##############

cos enable antispam ;//将防垃圾引擎列入可分配服务

cos enable antivirus ;//将防病毒引擎列入可分配服务

cos enable autoreply ;//将自动回复列入可分配服务

cos enable calendar ;//将个人日程管理列入可分配服务

cos enable filter ;//将内容过滤列入可分配服务

Linux服务器搭建之十四:LDAP服务器

Linux服务器搭建之十四:LDAP服务器 Linux操作系统平台:Xubuntu 用户:root 主要软件包:slapd, ldap-utils ,db-util,phpldapadmin ,apache2 LDAP服务器搭建流程: 我没有选择Fedora 14系统,原因是:安装成功了BerkeleyDB数据库,但是OpenLDAP服务器找不到BerkeleyDB数据库,没有办法就改用Xubuntu安装BerkeleyDB和OpenLDAP,关键的就是BerkeleyDB安装失败,缺少一些类库,这些类库文件我也不清楚,上网查了些资料,Ubuntu使用的是slapd+ldap-utils+db-util+phpldapadmin的组合,完全可以在apt-get里安装。成功率就不用多说了。 【注意:这个搭建有问题,是失败的,但是我想向大家求解】 0.使用apt-get install安装下面这些软件包:如:【apt-get install slapd】 slapd, ldap-utils ,db-util,phpldapadmin ,apache2 1.【slappasswd】命令创建ldap账户和密码: (注意一会要使用SSHA加密的那窜密码)

2.进入【/etc/ldap】目录编辑ldap.conf文件: 主要就是添加最后那四行,【rootpw {SSHA}.....】就是刚才执行【slapdpasswd】命令生成的经过加密的密码: 3.【service slapd restart】重启ladp服务器:(或者【service slapd start】启动ldap服务器) 【pstree |grep "slapd"】查看ldap服务器是否启动成功:

openldap在Redhat8.0下的安装和配置笔记

OPENLDAP在REDHA T8.0下的安装和配置笔记 最近一直在安装opneldap-2.0.25,现在终于搞定了,所以拿来和大家分享一下,如果有什么意见,可以共同讨论一下: 1) 一般需要安装以下四个rpm包: openldap-2.0.25-1.i386.rpm openldap-servers-2.0.25-1.i386.rpm openldap-clients-2.0.25-1.i386.rpm openldap-devel -2.0.25-1.i386.rpm Openldap-2.0*是必要套件,一定要先安装;Openldap-servers*是服务器套件;openldap-clients*是操作程序套件;openldap-devel*是开发工具套件. 如果需要用ldap做一些高级应用,还需要加装如下套件: auth_ldap* nss_ldap* php_ldap* 2)下一步就是配置了 配置文件一般在/etc/openldap/下: ldapfilter.conf ldap.conf ldapsearchprefs.conf schema ldaptemplates.conf slapd.conf 文件slapd.conf是设置ldap服务器连接,进入文件,修改相应的部分: 在include /etc/openldap/schema/…… 部分添加完整的方案,即schema目录下的所有方案。 在“ldbm database definitions”部分,用suffix命令设置ldap服务器的基础搜索路径(BDN): suffix “dc=buct, dc=https://www.doczj.com/doc/d8619648.html,”

LDAP配置

LDAP 中的访问控制列表 本节介绍Senior Level Linux Professional (LPIC-3) 301 考试的303.2 主题的内容。此主题的权值是2。 在本节中,学习如何: ?计划LDAP 访问控制列表 ?了解访问控制语法 ?授予和撤消LDAP 访问权限 LDAP 树中可以存储各种数据,包括电话号码、出生日期和工资表信息。其中一些数据可能是公开的,一些数据可能只能由由特定的人访问。根据用户的不同,同样的信息可能有不同的限制。例如,也许只有记录的所有者和管理员可以更改电话号码,但是每个人都可以读取这些号码。访问控制列表(ACL) 处理这些限制的配置。 计划LDAP 访问控制列表 在开始编写配置之前,应该确定要实现的目标。树的哪部分包含敏感信息?哪些属性需要保护,保护其不被谁访问?如何使用树? ACL 的组件 ACL 条目提供三条信息: 1.ACL 指定what条目和属性 2.ACL 应用于who 3.授予的access级别

指定 “what” 子句时,可以选择根据对象的区分名(distinguished name ,DN )、LDAP 风格的查询筛选器、属性列表或以上三者的 组合来进行筛选。最简单的子句允许一切内容,但也可以有很多限制。 根据 DN 筛选允许您指定精确匹配,比如 ou=People,dc=ertw,dc=com 或正则表达式 (参阅 “正则表达式”) 查询筛选器可以匹配特定的 objectClass 或其他属性。属性列表中的属性名称用逗号分隔。更复杂的匹配条件可以是 “身份是管理员的 ou=People,dc=ertw,dc=com 下的所有密码条目”。 可以灵活地确定将 ACL 应用于 who 。用户一般由绑定到树上的 DN 来识别,这称为 bindDN 。每个 LDAP 条目可以具有一个 userPassword 属性,用于对特定的用户进行身份验证。在一些上下文中,您可以将当前登录的用户称为自己, 这有利于允许用户编辑自己的详细信息。 如果用户没有绑定,则被视为匿名用户。默认情况下,匿名用户可以 读取树,所以您必须决定是否需要更改此行为。可以通过 IP 地址或 用于连接的方法(比如明文和加密的方法)来对匿名用户(或任何用户)进行分割。 一旦确定了 what 和 who ,必须确定访问级别。访问权限可以是无 一直到写 访问。还可以指定用户可以验证条目,但不可以读取;或可以允许用户读取、搜索和比较访问。 无论如何配置您的 ACL ,任何已配置的 rootDN 用户可以完全控制其数据库。不可以对此进行更改,除非将 rootDN 配置从 slapd.conf 中移除。 了解访问控制语法 ACL 的基本格式使用 Backus-Naur Form 表示,也就是: access to [ by [ ] [ ] ]+ 描述 what what 描述 ACL 强制的属性和条目。实现此目标的 BNF 表示法如清单 1 所示。 清单 1. ACL 的 what 部分的 BNF 描述

apachedsldap配置使用说明

ApacheDS LDAP 配置使用说明 Apache LDAP包括ApacheDS服务和Apache Directory Studio RCP工具。下面的内容主要介绍ApacheDS服务和ApacheDS工具。 ApacheDS服务下载地址: https://www.doczj.com/doc/d8619648.html,/apacheds/2.0/downloads.html 下载独立的 Apache Directory Studio 的RCP 程序: https://www.doczj.com/doc/d8619648.html,/studio/ 安装 Eclipse 插件: https://www.doczj.com/doc/d8619648.html,/studio/update/2.x/

一、安装ApacheDS服务 安装ApacheDS服务器,在ApacheDS官网下载最新的服务器,目前的版本是ApacheDS 2.0.0-M8 ,可以根据需要下载适合自己的版本: 如Windows系统: 1、可以下载“Download Windows installer” 安装版,ApacheDS的安装比较简单,没有什么特殊的设置。在ApacheDS 安装完成后要启动ApacheDS服务。路径如下:控制面板---à 管理工具---à服务--àApache Directory server,ApacheDS的监听端口默认为10389。 2、还可以下载 “Download Archive zip/tar.gz",解压apacheds-2.0.0-M8.tar包,然后在apacheds-2.0.0-M8目录下的bin目录,点击ApacheDS.bat 可启动服务。也可以将此服务设置成系统服务。在每次机器启动时会自动开启。

LDAP认证方式

LDAP认证方式,https加密传输 他们用的是WSS3.0 + LDAP认证方式,https加密传输,主要用于做文档管理,没有任何自己开发的代码在其中。 首先是关于崩溃问题(笔记记载如下): 前两天出了一点小故障,问题描述要比解决方案复杂得多。。 开始可以出现登录页面,但是登录上去就抱错,说找不到default页面,然后看到winows update里面有个sharepoint的升级,就运行了。重启了机器后sharepoint的务就挂了。。。 唯一能想到的修复方法就是运行那个sharepoint配置向导,但是第9步会说spadmin服务没有起,十分伤心。就扔下不管了。 今天有人要用了,只好硬着头皮看看,发现这次配置向导竟然通过了。唉,微软的东西就是搞不懂,不过网站还是起不来,就乱改了一通iis配置,然后又用配置向导修复了好几次,终于可以出现登录页面了,但总说我登录不上。研究了半天估计是ldap配置出了问题,果然一检查是把上面2的web.config给覆盖了,于是恢复了就好了。。。 现在想一想当初可能就是升级后把一些配置给我覆盖了吧。。 然后是关于WSS3.0如何使用LDAP认证的问题: 基本按照网上的一些步骤配置,不过有些改动,详细内容可以参考这个网页: https://www.doczj.com/doc/d8619648.html,/helloitsliam/archive/2006/08/15/10027.aspx 这里只说一下具体做法 1. 从一个装了moss2007的机器上copy一个microsoft.office.server.dll文件放在桌面上,在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI目录,然后将这个文件拖进c:\WINDOWS\assembly目录,注意一定要拖进。。 2. 修改sharepoint管理中心网站和web网站的web.config文件,默认在 c:\Inetpub\wwwroot\wss\VirtualDirectories\80(和另一个管理端口) 在这行和之间加入: 保存关闭。注意useDNAttribute="false"一句比较重要,搜索的资料很多没有说,否则会连不上。3. 打开sharepoint的管理中心(可以从开始->管理工具->),应用程序管理,验证提供程序,编辑现有的默认验证,验证类型选中表单,这里要打开一下匿名的权限(注意稍后再给禁掉),成员身份提供程序要和前面添加的一致,如LdapDemoMembership,角色管理不用填,最下面启用客户端集成,然后保存。

LDAP使用手册

LDAP使用手册 一、LDAP介绍 LDAP是轻量级目录访问协议的简称(Lightweight Directory Access Protocol).用于访问目录服务。它是目录访问协议的移植,但是简化了实现方法。 二、目录服务与关系数据库之间的区别 a)目录查询操作比关系数据库有更高的效率,但是更新效率比关系数据 库低 b)目录不支持关系数据库那样的复杂查询,比如两个表的连接。 c)目录不支持多操作的事物完整性,没有方式确认一些操作是全部成功 还是全部失败 d)目录能够能好和更灵活的支持子查询和匹配查询 e)目录协议更适合应用于广域网,比如因特网或者大型公司的网络 f)目录的管理,配置,和调试比关系型数据库更简单 g)在使用关系数据库之前,必须首先定义表结构(模式)才可以进行操 作。而目录中所使用的模式是由LDAP定义好的一系列类组成的。对 于目录中的每条记录中必须属于其中的一个类或者多个类。这些类定 义了该记录中可以存储的信息。 h)目录以对象的形式存储数据。信息被组织成树型结构。 i)目录服务支持分布式存储结构,容易实现数据的扩展,能满足大容量 存储的要求。 三、LDAP的优点

1:可以存储在其它条件下很难存储的管理信息 2:数据安全可靠,访问控制粒度细腻。 3:LDAP是一个标准的,开放的协议,具有平台无关性。 4:数据分布广,规模可灵活扩充。 5:LDAP目录服务器可以使任何一种开放源代码或商用的LDAP目录服务器。 四、LDAP模型 LDAP模型是从协议中继承过来的。是LDAP的一个组成部分,用于指导客户如何使用目录服务 LDAP 定义了四个模型,包括信息模型,命名模型,功能模型,安全模型。 信息模型(LDAP information model) LDAP信息模型用于描述LDAP中信息的表达方式。 LDAP信息模型包含三部分Entries Attributes Values Entry:Directry中最基本的信息单元,Entry中所包含的信息描述了现实世界中的一个真实的对象,在目录系统中它可以理解为, 目录树中的一个节点。在目录中添加一个Entry时,该 Entry必须属于一个或多个object class ,每一个object class规定了该Entry中必须要包含的属性,以及允许使 用的属性。Entry所属的类型由属性objectclass规定。 每一个Entry都有一个DN(distinguished name) 用于唯 一的标志Entry在directory中的位置。如下图所示: 根节点DN的命名有多种方法,其中之一就是域名命名法。

sonic wall 配置图解 HOW-TO --- LDAP Authentication--CHS

SonicOS Enhanced HOW-TO: Microsoft AD 认证 Date created: 11 January 2006 Last modified: 11 January 2006 目 标 1. 使用Microsoft AD 对内网访问internet进行认证 2. 使用Microsoft AD 对GVC用户进行认证 TZ 或者PRO系列安全设备需求 1. TZ 170 3.0.x.x增强版以上版本 2. PRO 系列 3.0.x.x增强版以上版本 3. SonicOS 标准版不支持AD/LDAP认证 背 景 1. 已安装microsoft 域控制器 2. 很多公司已经部署了域控制器来进行用户认证 3. 活动目录作为网络认证的一部分,可以同SonicWALL SonicOS 3.0.x.x增强版以上版本良好的协同工作

网络图表 Microsoft Server 2003 配置 1. 默认Microsoft Server 2003安装 2. 激活AD (Active Directory)服务

PRO 4060 LDAP配置 1. 假定网络已经配置好并且运行起来并且用户能访问internet 2. 登陆到PRO 4060 3. 进入Users?Settings 设置界面 4. 从下拉菜单里选择LDAP,点击APPLY按钮 5.点击Configure按钮来配置LDAP 6. 参照下面的配置参数填写

7. Login user name是拥有系统管理员权限的帐户名 8. 取消Use TLS (SSL) 前面的钩. TLS (SSL) 需要数字证书. 为直观起见,我们在本文档里不使用 数字证书 9. 点Schema选项卡 10. 从下拉菜单里选择 Microsoft Active Directory

linux下ldap服务搭建过程

准备工作: 配置前先关闭iptables和SELINUX,避免配置过程中报错。 # service iptables stop # setenforce 0 # vi /etc/sysconfig/selinux --------------- SELINUX=disabled --------------- 1.LDAP server端配置: 安装LDAP服务(使用YUM本地光盘安装) # yum install openldap-* -y 提示安装以下4个包 openldap-devel-2.4.23-26.el6.x86_64 openldap-clients-2.4.23-26.el6.x86_64 openldap-2.4.23-26.el6.x86_64 openldap-servers-2.4.23-26.el6.x86_64 拷贝LDAP配置文件到LDAP目录(redhat6.3): # cd /etc/openldap/ # cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf redhat6.0或6.1版本配置文件在主目录有备份: # cd /etc/openldap/ # cp slapd.conf.bak slapd.conf 创建LDAP管理员密码: # slappasswd

这里我输入的密码是redhat,输入完密码后,返回一串密文,先保存到剪贴板{SSHA}pfAJm+JJa4ec2y8GjTc8uMEJpoR5YKLy 编译配置文件 # vi /etc/openldap/slapd.conf 找到115行,默认如图: 修改为: 高亮部分为刚才生成的密码(加密后的)。 配置文件最后几行的权限部分我们也要做相应的更改: 原内容: 更改为:

OpenLDAP Directory Server安装部署

步骤一、安装、配置OpenLDAP Directory Server服务器; LDAP 简单介绍: LDAP(轻量级目录服务访问协议,Lightweight Directory Access Protocol)基于X.500标准,支持TCP/IP,使用简单方便。现在越来越多的网络应用系统都支持LDAP。OpenLDAP是LDAP的一种开源实现! 录是一个为查询、浏览和搜索而优化的专业分布式数据库,它成树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样。目录服务是由目录数据库和一套访问协议组成的系统。 现在市场上有关LDAP的产品已有很多,各大软件公司都在他们的产品中集成了LDAP服务,如Microsoft的ActiveDirectory、Lotus的Domino Directory、IBM的TivoliDirectory Server。LDAP的开源实现是OpenLDAP,它比商业产品一点也不差,而且源码开放。

配置OpenLDAP Directory Server服务器主机为局域网内的时间服务器; 在配置时间服务器之前,检查您的系统内是否已经安装ntp 相关Package,在文本终端中输入: 详细操作: # rpm -qa | grep ntp chkfontpath-1.10.1-1.1 Ntp-4.2.2p1-7.el5

在文本终端中输入: 详细操作: # gedit /etc/ntp.conf 打开/etc/目录中的ntp.conf文件,主要说明修改的关键部分: 详细配置参数: # restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap 更改为: restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap

LDAP服务器配置

LDAP服务器配置 1.实验拓扑图 2.实验准备wuliji Setenforce 是Linux的selinux防火墙配置命令执行setenforce 0 表示关闭linux防火墙。 Iptables -F 清空防火墙规则。 service NetworkManager stop关闭NetworkManager功能。chkconfig NetworkManager off禁止它开机启动。 service network restart 重启网络服务 3.虚拟机(客户端)设置 3.1建立虚拟机与物理机之间的桥接模式(虚拟机必须是关机状态)进行桥接模式的设置,点击Edit菜单选项,选择Connection Details,选择eth0网卡,点击+号,进入Configure network interface选项卡,Interface type选择Bridge(桥接)模式,点击Forward进行下一步配置 3.2Start mode(启动模式)选择onboot(开机启动),activate now(现在激活)点勾,choose interface to Bridge,选择eth0网卡,点击Finish

3.3打开VM虚拟机rhel6选择硬件设置,点击NIC选项设置网卡,Source device 选择 host device eth0(bridge“br0”),device model (刚才建立的桥接模式的网卡)选择 hypervisor default (默认程序管理模式) 3.4点击power键开启虚拟机 输入指令 setenforce 0 Iptables -F service NetworkManager stop chkconfig NetworkManager off ping 192.168.1.xxx 测试是否能连通服务器 4服务器设置 4.1配置NFS服务器 在服务器上配置exports文件,Vim /etc/exports,共享挂载目录,并授权挂载IP客户端地址为192.168.1.0/24,rw参数为读写权限,sync保持同步, no_root_squash防止ROOT降级为普通用户。 /home 192.168.1.0/24(rw,sync,no_root_squash) 4.2 输入指令“service rpcbind restart , service nfs restart”,重启服务(要先重启rpcbind,后重启nfs,否则出现错误),失败时重启两次NFS 4.3在客户端(当前为虚拟机)验证 输入showmount -e 192.168.1.152(服务器地址),验证成功后挂载

WAS中如何配置LDAP

在WAS使用实践中,LDAP服务器经常会被作为用户注册表来使用。这里主要针对WAS中如何配置LDAP给出相关说明。配置主要分为三步: 1. 选择使用LDAP协议作为活动用户注册表。 活动用户注册表中选中使用“轻量级目录访问协议(LDAP)用户注册表”并保存。?配置-?a) 在全局安全性 LDAP)?用户注册表-?2. 配置LDAP服务器基本信息(全局安全性 在这部分中主要需要的配置项有: a) 服务器用户标识:设置服务器的管理用户,一般在这里指定一个LDAP上的有效完整专有名称(DN),例如cn=wasadmin, ou=Shanghai, o=IBM, c=CN。 b) 服务器用户标识: 指定与服务器标识相对应的密码。 c) 类型:根据真实使用的LDAP服务器类型进行选择 d) 主机:指定LDAP服务器的IP地址或者主机名 e) 端口:指定LDAP服务器的端口,一般默认为389 f) 基本专有名称(DN):指定目录服务的基本专有名称,表示LDAP搜索操作的起始点。假定LDAP服务器的后缀为o=IBM, c=CN,那么对于cn=wasadmin, ou=Shanghai, o=IBM, c=CN这个DN,这里可以指定基本专有名称为ou=Shanghai, o=IBM, c=CN或者o=IBM, c=CN g) 绑定专有名称(DN):绑定是LDAP客户端连接服务端时所必须的操作,在服务器端可以配置为匿名或者非匿名,如果是匿名,那么这里与步骤h均可以设为空。如果不是,那么必须指定一个LDAP上有效的用户DN h) 绑定密码:如果是非匿名访问,那么需要指定对应于绑定专有名称(DN)的密码 高级轻量级目录访问协议(LDAP)用户注册表设置)?LDAP?用户注册表-?3. 配置LDAP服务器高级信息(全局安全性 a) 用户过滤器: 该过滤器用于通过短名称(%v)在服务器上进行条目查找用户。例如 (&(uid=%v)(objectclass=inetOrgPerson)表示在LDAP服务器上查找类为inetOrgPerson,属性uid 等于%v的条目。这里需要根据LDAP的设置进行适当修改。 b) 组过滤器:该过滤器用于通过短名称(%v)在服务器上进行条目查找组。例如 (&(cn=%v)(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))表示查找属性cn等于%v并且类是groupOfNames或者是groupOfUniqueNames的条目。这里需要根据LDAP的设置进行适当修改。 c) 用户标识映射:此过滤器将用户的短名称映射至LDAP 条目并指定使用用户的短名称显示这些用户时表示用户的一段信息。比如用户在登录时使用了uid,但是在页面上希望显示其电子邮件,那么则这里需要指定为*:mail,mail是该用户的一个属性。 d) 组标识映射: 修改组标识映射过滤器。此过滤器将组的短名称映射至LDAP 条目并指定显示组时表示组的一段信息,使用方法与用户标识映射类似。

如何使用LdapConnection 类 (1)链接 Ldap服务器

如何使用LdapConnection 类(1)链接 Ldap服务器 C#提供了 LdapConnection 类用于连接Microsoft Active Directory 域服务或 LDAP 服务器的 TCP/IP 或 UDP LDAP 连接。 下面是连接 Ldap的连接方法和大家分享下: static LdapConnection ldapConnection; static string ldapServer; static NetworkCredential credential; static string targetOU; static string pwd; public void LdapBind() { ldapServer = "172.18.69.204:389"; targetOU = "cn=Manager,dc=tst,dc=com"; pwd = "000000"; //credential = new NetworkCredential(String.Empty, String .Empty); credential = new NetworkCredential(targetOU, pwd); string dn = ""; //ldapConnection = new LdapConnection(new LdapDirectoryId entifier(ldapServer)); //ldapConnection.SessionOptions.ProtocolVersion = 3;//Lda p协议版本 //ldapConnection.AuthType = AuthType.Anonymous;//不传递密码进行连接 ldapConnection = new LdapConnection(ldapServer); ldapConnection.AuthType = AuthType.Basic; ldapConnection.Credential = credential; try { Console.WriteLine("链接."); ldapConnection.Bind(); Console.W riteLine("链接成功 "); } catch (Exception ee) {

【精品】使用LDAP来共享地址簿New教材

【关键字】精品 IceWarp 集成LDAP服务 同步管理用户实现客户端地址簿共享查找 LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是更简单并且可以根据需要定制。与X.500不同,LDAP 支持TCP/IP,这对访问Internet是必须的。目前,很多公司都把LDAP和自己的产品、技术结合在一起,增加LDAP在各个领域中的有效性,这一切都来源于LDAP是一个开放的协议,很容易和其他标准协议共存。 IceWarp Server 作为国际老牌的邮件服务器厂商,充分表现在系统的开放性,自身集成LDAP服务,亦可使用第三方LDAP 服务器,同步用户帐户实现用户帐户管理,用来做地址簿的共享,使得用户在MS Outlook、Outlook Express 或者其他邮件客户端上通过LDAP服务器来查找同事的邮件地址。 使用LDAP做身份认证 为什么需要使用LDAP数据库?用传统的关系型数据库不可以吗? LDAP服务器就是起到了一个认证Server的作用,从技术本身而言,这个认证Server具体使用的是何种数据库并不重要,如果使用一个关系型数据库也可以达到统一身份认证的目的,但LDAP 自身的优势使得很多公司最终选择它。 ◆LDAP是一个开放的标准协议,不同于SQL数据库,LDAP的客户端是跨平台的,并且对几乎所有的程序语言都有标准的API接口。即使是改变了LDAP数据库产品的提供厂商,开发人员也不用担心需要修改程序才能适应新的数据库产品。这个优势是使用SQL语言进行查询的关系型数据库难以达到的。 ◆由于LDAP数据库的数据保存是树结构,整棵树的任何一个分支都可以单独放在一个服务器中进行分布式管理,不仅有利于做服务器的负载均衡,还方便了跨地域的服务器部署。这个优势在查询负载大或企业在不同地域都设有分公司的时候体现尤为明显。 ◆LDAP支持强认证方式,可以达到很高的安全级别。在国际化方面,LDAP使用了UTF-8编码来保存各种语言的字符。 ◆更灵活添加数据类型,LDAP是根据schema的内容定义各种属性之间的从属关系及匹配模式的。例如在关系型数据库中如果要为用户增加一个属性,就要在用户表中增加一个字段,在拥有庞大数量用户的情况下是十分困难的,需要改变表结构。但LDAP只需要在schema 中加入新的属性,不会由于用户的属性增多而影响查询性能。 ◆LDAP数据库是对读操作进行优化的一种数据库,在读写比例大于7比1的情况下,LDAP会体现出极高的性能。这个特性正适合了身份认证的需要。 IceWarp 中LDAP 服务实现设置步骤: 一、配置LDAP 服务器: 1、远程管理控制台--- 服务–LDAP 服务--- LDAP属性 2、LDAP 服务属性--- slapd.conf 设置文件位置。 3、编辑slapd.conf 文件,配置LDAP 服务器设置。 二、IceWarp 服务器用户同步LDAP 服务 1、在IceWarp 服务器上设置LDAP 同步 管理控制台中,“域& 帐户”-“全局设定”-“高级选项”下,激活LDAP用户同步,LDAP主机填您服务器主机名或者IP地址,dc=root代表服务器树根,用户DN中服务器管理员和密码, LDAP默认的端口是389,SSL端口是636,可以在“服务”修改端口。 上面填好后,点击“立即同步所有用户到LDAP”,将IceWarp邮箱管理系统与LDAP 服务器用户进行同步

linux 环境 部署 ldap

OpenLDAP 打包后可能会运行的很好(或者产生不可知的后果)。我只求方便??如果你的其他版本能够提供一个容易的方法,就用它好了。RPM 也可从https://www.doczj.com/doc/d8619648.html,处获得,https://www.doczj.com/doc/d8619648.html,详细地列出了所有需要的附带软件包。 当然Debian运行的也很好。apt-get做这个工作也不错;聪明的 bit能够找到软件包的名字。 Debian用户希望ldap-utils;slapd,即OpenLDAP;以及libdb4.1获得Sleepycat DB。这三个组件足够你用的了。apt-get可带你完成最小配置,并且自动启动slapd,即LDAP服务器监控程序。 从源代码安装 基本安装至少需要两个tarball: ?Berkeley Sleepycat DB ?OpenLDAP tarball Berkeley DB必须在OpenLDAP之前安装。OpenLDAP没有它不能建立。(如何安装Berkeley DB请看Resources) OpenLDAP tarball 不足2兆,那就是说即使我们拨号下载,也是很轻松的。本文中使用的稳定版为openldap-stable-20030709.tgz。我喜欢将它放在 /usr/src/目录下,并在此解包: root@windbag:/usr/src# tar xfz openldap-stable-20030709.tgz 这就创建了openldap-2.1.22 目录: root@windbag:/usr/src# cd openldap-2.1.22 现在就有了README、INSTALL、 LICENSE、 ANNOUNCEMENT、以及COPYRIGHT 文档。先花点时间看看这些文档,看他们里面有什么重要信息。要快速查看编译选项,请键入: root@windbag:/usr/src# ./configure --help 这个阅读相当吸引人,它的默认项标记清楚,选项能够自我说明。现在我们来看看默认项。输入下列三个命令: # ./configure # make depend # make 每个命令输入完都会出现许多东西;放心的等待吧。等他们都完成之后,运行简单的内建测试脚本对他们进行校验: # make test 如果出错的话,我建议你放弃它,另外向你推荐https://www.doczj.com/doc/d8619648.html, (见 Resources)。如果运行良好,最后一个步骤就是真正的安装新创建的二进制文件和man界面。在OpenLDAP根目录下运行: # make install 请注意'make install'的输出;它包含许多有用信息。为了详细阅读,将它导入文件内: # make install | tee openldap-install.txt 配置slapd.conf 这是用于我们新OpenLDAP 服务器的主要配置文件。它可以放在任何层数的虚拟目录内??我个人喜欢在安装软件后运行updatedb,这样我能迅速的找到需要的东西。在我的Libranet 系统上,它是/etc/ldap/slapd.conf。 小心保护该文件。最好备份一下。原来的文件包含有用的默认值。为了安全起见,默认许可为600(只有root用户才能读写该文件)。 slapd.conf 定义了三种类型的信息:整体设置,与指定后端相关的设置,与指定数据库相关的设置。这个bit相当重要,如果运行正确的话能够帮你减少麻烦:后端和数据库指令优先于整体设置,数据库指令优先于后端指令。 空白行和注释可以忽略。以空白开头的行是上一行的继续??这个小技巧可让你浏览时不至于毫无头绪。 更多的空白可用于指令中:指令可以有参数,甚至多个参数。这些参数使用空白隔开。带有空白的参数必须附上双引号:如"loud argument." 包含双引号或者反斜线符号的参数退出时必须使用反斜线:如

Apache中配置连接Ldap数据心得

(8.0系统上)修改Apache连接Ldap配置 先到Apache的目录下,运行 E:\ptc\Windchill_9.0\Windchill\ant\bin\ant -f webAppConfig.xml addAuthProvider -DappName=Windchill -DproviderName=Windchill-AAA -DldapUrl=" ,cn=Windchill_8.0,cn=Application%20Services,o=ptc" -DapacheWebApp.docBase=E:\ptc\Windchill_9.0\Windchill\codebase (红色加粗部分为空格,一定要用%20代替) 运行该命令时 1.会先在E:\ptc\Windchill_9.0\Apache\conf\extra\app-Windchill-AuthProvider.xml 中增加或修改一条记录(如果providerName= Windchill-AAA与文件中的有重复就是修改) Exp: 系统默认有如下两条记录 Windchill-EnterpriseLdap ,cn=EnterpriseLdap,cn=Windchill_9.0,o=ptc cn=Manager ldapadmin Windchill-AdministrativeLdap ,cn=AdministrativeLdap,cn=Windchill_9.0,o=ptc cn=Manager ldapadmin 若运行上面的命令,则会增加一条记录 Windchill-AAA ,cn=Windchill_8.0,cn=Application%20Services,o=ptc cn=Manager ldapadmin 2.然后再修改E:\ptc\Windchill_9.0\Apache\conf\extra\app-Windchill-Auth.conf 将app-Windchill-AuthProvider.xml中的条目重新配置到app-Windchill-Auth.conf中 结果如下 AuthLDAPURL ,cn=EnterpriseLdap,cn=Windchill_9.0,o=ptc AuthLDAPBindDN "cn=Manager" AuthLDAPBindPassword "ldapadmin" AuthLDAPURL ,cn=AdministrativeLdap,cn=Windchill_9.0,o=ptc AuthLDAPBindDN "cn=Manager"

LDAP安装说明(windows)

一、安装准备 1、下载openldap for windows 2、下载JDK安装包; 3、下载LdapBrowser浏览工具 二、安装于配置OpenLDAP 1、安装OpenLDAP 双击OpenLDAP安装包,一路点击next,(路径选择可以自己设定eg.d:/OpenLDAP); 2、配置OpenLDAP 1)用记事本方式打开D:/OpenLDAP/slapd.conf,找到include ./schema/core.schema 在其后面添加: include ./schema/cosine.schema include ./schema/inetorgperson.schema (如果需要的话,可以把其他的schema全部添加进来: include ./schema/corba.schema include ./schema/dyngroup.schema include ./schema/java.schema include ./schema/misc.schema include ./schema/nis.schema

include ./schema/openldap.schema ) 2)下面我们做一个示例:在中国(cn)的tt公司添加一个系统管理员sa. 需要在slapd.conf 配置文件中,找到 su “dc=my-domain,dc=com” rootdn “cn=Manager,dc=my-domain,dc=com” 把这两行改为 suffix “o=tt,c=cn” rootdn “cn=Manager,o=tt,c=cn” suffix 就是看自己如何定义了,后面步骤的 ldif 文件就必须与它定义了。还要注意到这个配置文件中有一个rootpw secret,这个secret 是cn=Manager 的密码,以后会用到,不过这里是明文密码,你可以用命令:slappasswd -h {MD5} -s mysecret (“mysecret“是自定义的密码,可以随便设置)算出加密的密码{MD5}BsIZ5byDePOoo/g7S35GSQ== 替换配置中的 secret。 3、启动OpenLDAP CMD进入到d:/OpenLDAP下 1)启动OpenLDAP-slapd服务 slapd install OpenLDAP-slapd “OpenLDAP Directory Service” auto net start OpenLDAP-slapd NOTE: the “slapd install” is only needed if you didn’t choose the “create NT service” option during installation.

相关主题
文本预览
相关文档 最新文档