很多朋友对于ldap服务器搭建和ldapserver不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

一、如何搭建Radius服务器

作为一名网络管理员,您需要为您所需管理的每个网络设备存放用于管理的用户信息。但是网络设备通常只支持有限的用户管理功能。学习如何使用Linux上的一个外部RADIUS服务器来验证用户,具体来说是通过一个LDAP服务器进行验证,可以集中放置存储在LDAP服务器上并且由RADIUS服务器进行验证的用户信息,从而既可以减少用户管理上的管理开销,又可以使远程登录过程更加安全。

数据安全作为现代系统中网络安全的一部分,与系统安全一样的重要,所以保护数据--确保提供机密*、完整*和可用*--对管理员来说至关重要。

在本文中,我将谈到数据安全*的机密*方面:确保受保护的数据只能被授权用户或系统访问。您将学习如何在Linux系统上建立和配置一个Remote Authentication Dial-In User Service服务器(RADIUS),以执行对用户的验证、授权和记帐(AAA)。

各组成元素介绍

首先让我们谈一谈RADIUS协议、AAA组件以及它们如何工作,另外还有LDAP协议。

Remote Authentication Dial-In User Service协议是在IET的RFC 2865中定义的(请参阅参考资料获得相关)。它允许网络访问服务器(NAS)执行对用户的验证、授权和记帐。RADIUS是基于UDP的一种客户机/服务器协议。RADIUS客户机是网络访问服务器,它通常是一个路由器、*机或无线访问点(访问点是网络上专门配置的节点;WAP是无线版本)。RADIUS服务器通常是在UNIX或Windows 2000服务器上运行的一个监护程序。

RADIUS和AAA

如果NAS收到用户连接请求,它会将它们传递到指定的RADIUS服务器,后者对用户进行验证,并将用户的配置信息返回给NAS。然后,NAS接受或拒绝连接请求。

功能完整的RADIUS服务器可以支持很多不同的用户验证机制,除了LDAP以外,还包括:

PAP(Password Authentication Protocol,密码验证协议,与PPP一起使用,在此机制下,密码以明文形式被发送到客户机进行比较);

CHAP(Challenge Handshake Authentication Protocol,挑战握手验证协议,比PAP更安全,它同时使用用户名和密码);

本地UNIX/Linux系统密码数据库(/etc/passwd);

其他本地数据库。

在RADIUS中,验证和授权是组合在一起的。如果发现了用户名,并且密码正确,那么RADIUS服务器将返回一个Aess-Aept响应,其中包括一些参数(属*-值对),以保证对该用户的访问。这些参数是在RADIUS中配置的,包括访问类型、协议类型、用户指定该用户的IP以及一个访问控制列表(ACL)或要在NAS上应用的静态路由,另外还有其他一些值。

RADIUS记帐特*(在RFC 2866中定义;请参阅参考资料获得相关)允许在连接会话的开始和结束发送数据,表明在会话期间使用的可能用于安全或开单(billing)需要的大量资源--例如时间、包和字节。

轻量级目录访问协议

轻量级目录访问协议(Lightweight Directory Aess Protocol,LDAP)是一种开放标准,它定义了用于访问和更新类X.500目录中信息的一种方法。LDAP可用于将用户信息保存在一个中央场所,从而不必将相同的信息存储在每个系统上。它还可以用于以一种一致的、可控制的方式维护和访问信息。

LDAP在一个集中的目录中管理用户,从而简化了用户管理工作。除了存储用户信息外,在LDAP中定义用户还可以使一些可选特*得到启用,例如限制登录的数量。在本文中,您将学习如何配置RADIUS服务器,以便基于LDAP验证用户--由于本文的重点在于RADIUS,我不会描述关于LDAP服务器的安装和配置的细节。

OpenLDAP是LDAP的一种开放源码实现。在OpenLDAP.上可以找到关于它的详细信息(请参阅参考资料获得相关)。

场景

想像以下场景:

用户在家里可以通过拨号验证访问他公司的内部网。

带无线支持的笔记本电脑可以通过无线验证连接到一个校园网。

管理员使用他们的工作站通过管理用户验证以tel或HTTP登录到网络设备。

所有这些验证任务都可以通过一个RADIUS服务器基于一个中央LDAP服务器来完成(见图 1)。

图1通过RADIUS和LDAP进行验证

在本文中,我将重点描述对最后一种选项的实现,作为对该解决方案的一个介绍。首先安装RADIUS服务器。

安装 RADIUS

RADIUS服务器软件可以从多个地方获得。在本文中,我将使用FreeRADIUS(请参阅参考资料获得相关),但Cisco Secure Aess Control Server(ACS)是一种集中式用户访问控制框架,可用于跨UNIX和Windows上多个Cisco设备的用户管理,并支持Cisco特有的协议TACACS+(据说在支持TACACS+的设备上可拥有更多的特*)。

FreeRADIUS是来自开放源码社区的一种强大的Linux上的RADIUS服务器,可用于如今的分布式和异构计算环境。FreeRADIUS 1.0.2支持LDAP、MySQL、PostgreSQL和Oracle数据库,并与诸如EAP和Cisco LEAP之类的网络协议兼容。FreeRADIUS目前被部署在很多大型生产网络系统中。

下面的步骤演示如何在Red Hat Enterprise Linux Advanced Server 3.0上安装和测试FreeRADIUS 1.0.2:

清单1安装和测试FreeRADIUS

tar-zxvf freeradius-1.0.2.tar.gz- extract it with gunzip and tar

./configure

make

make install- run this mand as root

radiusd or- start RADIUS server

radiusd-X- start RADIUS server in debug mode

radtest test test localhost 0 testing123- test RADIUS server

如果radtest收到一个响应,则表明FreeRADIUS服务器工作正常。

同时我还推荐另一种免费工具,那就是NTRadPing,它可用于测试来自Windows客户机的验证和授权请求。它可以显示从RADIUS服务器发回的详细的响应,例如属*值。

现在让我们来配置FreeRADIUS。

配置FreeRADIUS

RADIUS服务器的配置包括对服务器、客户机和用户的配置(都是用于验证和授权)。出于不同的需要,对RADIUS服务器可以有不同的配置。幸运的是,大多数配置都是类似的。

*配置服务器

FreeRADIUS配置文件通常位于/etc/raddb文件夹下。首先,我们需要像下面这样修改radiusd.conf文件。

清单2修改radiusd.conf

1) Global settings:

log_auth= yes- log authentication requests to the log file

log_auth_badpass= no- don't log passwords if request rejected

log_auth_goodpass= no- don't log passwords if request aepted

2) LDAP Settings:

modules{

ldap{

server="bluepages.ibm."- the hostname or IP address of the LDAP server

port= 636- encrypted munications

basedn="ou=bluepages,o=ibm."- define the base Distinguished Names(DN),

- under the Organization(O)"ibm.",

- in the Organization Unit(OU)"bluepages"

filter="(mail=%u)"- specify search criteria

base_filter="(objectclass=person)"- specify base search criteria

}

authenticate{- enable authentication against LDAP

Auth-Type LDAP{

ldap

}

参数被设为使用 IBM BluePages,这是LDAP服务的一个实例。对于其他LDAP服务器,参数可能有所不同。

*配置客户机

客户机是在/etc/raddb/clients.conf文件中配置的。有两种方式可用于配置RADIUS客户机。您可以按IP sub将NAS分组(清单 3),或者可以按主机名或 IP列出NAS(清单4)。如果按照第二种方法,可以定义shortname和nastype。

清单3按IP sub将NAS分组

client 192.168.0.0/24{

secret= mysecret1- the"secret" should be the same as configured on NAS

shortname= mylan- the"shortname" can be used for logging

nastype= cisco- the"nastype" is used for checkrad and is optional

}

清单4按主机名或 IP列出 NAS

client 192.168.0.1{

secret= mysecret1

ldap服务器搭建 ldapserver

shortname= myserver

nastype= other

}

*为验证而配置用户

文件/etc/raddb/user包含每个用户的验证和配置信息。

清单5/etc/raddb/user文件

1) Authentication type:

Auth-Type:= LDAP- authenticate against LDAP

Auth-Type:= Local, User-Password=="mypasswd"

- authenticate against the

- password set in/etc/raddb/user

Auth-Type:= System- authenticate against the system password file

-/etc/passwd or/etc/shadow

2) Service type:

Service-Type= Login,- for administrative login

*为授权而配置用户

下面的验证服务器属*-值对(*)应该为用户授权而进行配置。在验证被接受后,这个属*-值对被返回给NAS,作为对管理员登录请求的响应。

对于Cisco路由器,有不同的权限级别:

级别1是无特权(non-privileged)。提示符是 router>,这是用于登录的默认级别。

级别15是特权(privileged)。提示符是 router#,这是进入 enable模式后的级别。

级别2到14在默认配置中不使用。

下面的命令可以使一个用户从网络访问服务器登录,并获得对EXEC命令的立即访问:

cisco-*pair="shell:priv-lvl=15"

下面的代码处理相同的任务,这一次是对于Cisco无线访问点:

Cisco:*pair="airo:admin-capability=write+snmp+ident+firmware+admin"

任何功能组合都和这个属*一起返回:

Cisco:*pair="airo:admin-capability=ident+admin"

Cisco:*pair="airo:admin-capability=admin"

请与 Cisco联系,以获得关于这些命令的更多信息。

配置网络访问服务器

接下来我们将配置NAS,首先是配置一个Cisco路由器,然后轮到一个Cisco WAP。

对于Cisco IOS 12.1路由器,我们将启用AAA,然后配置验证、授权和记帐。

清单6启用AAA

aaa new-model

radius-server host 192.168.0.100

radius-server key mysecret1

AAA在路由器上应该被启用。然后,指定能为 NAS提供 AAA服务的 RADIUS服务器的列表。加密密钥用于加密 NAS和 RADIUS服务器之间的数据传输。它必须与 FreeRADIUS上配置的一样。

清单7配置验证

aaa authentication login default group radius local

line vty 0 4

login authentication default

在这个例子中,网络管理员使用 RADIUS验证。如果 RADIUS服务器不可用,则使用 NAS的本地用户数据库密码。

清单8配置授权

aaa authorization exec default group radius if-authenticated

允许用户在登录到 NAS中时运行 EXEC shell。

清单9配置记帐

aaa aounting system default start-stop group radius

aaa aounting work default start-stop group radius

aaa aounting connection default start-stop group radius

aaa aounting exec default stop-only group radius

aaa aounting mands 1 default stop-only group radius

aaa aounting mands 15 default wait-start group radius

必须对路由器进行特别的配置,以使之发送记帐记录到RADIUS服务器。使用清单9中的命令记录关于NAS系统事件、网络连接、输出连接、EXEC操作以及级别1和级别15上的命令的记帐信息。

这样就好了。现在让我们看看为Cisco无线访问点而进行的配置。下面的配置适用于带有Firmware 12.01T1的Cisco 1200 Series AP。如图2中的屏幕快照所示,您:

*输入服务器名或 IP和共享的秘密。

*选择“Radius”作为类型,并选中“User Authentication”。

图2为WAP配置NAS

实际上,在这里您还可以配置EAP Authentication,使FreeRADIUS可用于验证无线LAN的一般用户。

记帐:工作中的RADIUS

现在所有配置都已经完成,FreeRADIUS服务器可以开始记录NAS发送的所有信息,将该信息存储在/var/log/radius/radius.log文件中,就像这样:

清单10/var/log/radius/radius.log文件

Thu Mar 3 21:37:32 2005: Auth: Login OK: [D*id](from client

mylan port 1 cli 192.168.0.94)

Mon Mar 7 23:39:53 2005: Auth: Login incorrect: [John](from

client mylan port 1 cli 192.168.0.94)

详细的记帐信息被存放在/var/log/radius/radat目录中。清单11表明,D*id在2005年3月4日19:40到19:51这段时间里从 192.168.0.94登录到了路由器192.168.0.1。这么详细的信息对于正在调查安全事故以及试图维护易于审计的记录的管理员来说无疑是一大帮助。

清单11 RADIUS提供的记帐细节示例

Fri Mar 4 19:40:12 2005

NAS-IP-Address= 192.168.0.1

NAS-Port= 1

NAS-Port-Type= Virtual

User-Name="D*id"

Calling-Station-Id="192.168.0.94"

At-Status-Type= Start

At-Authentic= RADIUS

Service-Type= NAS-Prompt-User

At-Session-Id="00000026"

At-Delay-Time= 0

Client-IP-Address= 192.168.0.1

At-Unique-Session-Id="913029a52dacb116"

Times*p= 1109936412

Fri Mar 4 19:51:17 2005

NAS-IP-Address= 192.168.0.1

NAS-Port= 1

NAS-Port-Type= Virtual

User-Name="D*id"

Calling-Station-Id="192.168.0.94"

At-Status-Type= Stop

At-Authentic= RADIUS

Service-Type= NAS-Prompt-User

At-Session-Id="00000026"

At-Terminate-Cause= Idle-Timeout

At-Session-Time= 665

At-Delay-Time= 0

Client-IP-Address= 192.168.0.1

At-Unique-Session-Id="913029a52dacb116"

Times*p= 1109937077

结束语

通过遵循本文中列出的简单步骤,您可以建立一个Remote Authentication Dial-In User Service服务器,该服务器使用一个外部的LDAP服务器来处理为网络安全问题而进行的验证、授权和记帐。本文提供了以下内容来帮助您完成此任务:

*对RADIUS和LDAP服务器以及AAA概念的介绍。

*一个融入了安装和配置任务的场景。

*关于安装和配置RADIUS服务器的说明。

*关于配置网络访问服务器的细节。

* RADIUS将提供和管理的详细信息的一个示例。

这些指示可以快速确保受保护的数据只能由Linux系统上已授权的实体访问。

二、什么叫ldap,ldap服务器是什么

LDAP及LDAP服务器简介

LDAP是一种开放的标准协议,用于访问和查询目录服务中的信息。LDAP服务器则是运行此协议的服务器,主要用于存储和管理各种形式的目录信息。

一、LDAP定义

LDAP是一种网络通信协议,它允许客户端应用程序访问和维护存储在LDAP服务器上的目录信息。这些目录通常包含用户信息、组织结构和资源列表等。由于LDAP协议的设计目标是轻量级和高效率,因此特别适用于在大型网络中快速查询和访问数据。

二、LDAP服务器的功能

LDAP服务器是一种专门用于存储和管理目录信息的服务器。这些目录可以按照特定的模式结构来组织,类似于电话簿或数据库,用于存储诸如姓名、、电子邮件、电话号码等关键信息。LDAP服务器能够响应来自客户端的查询请求,返回所请求的数据,同时支持大量的并发用户访问。此外,LDAP服务器还提供了数据的创建、读取、更新和删除等操作功能。

三、LDAP的应用场景

LDAP由于其高效*和广泛的支持,在企业级应用中得到了广泛应用。例如,许多组织使用LDAP服务器来管理用户账户信息、电子邮件系统、权限认证等。此外,LDAP还可以与许多其他系统和服务集成,如单点登录系统、身份和访问管理系统等。由于其开放*和灵活*,LDAP已成为许多企业和组织在身份管理和认证方面的首选解决方案之一。

总结

LDAP是一种用于访问目录服务的开放协议,而LDAP服务器则是运行此协议的服务器,用于存储和管理目录信息。它广泛应用于企业级应用中,帮助组织管理和维护关键数据,并支持多种并发访问和集成服务。由于其高效*和灵活*,LDAP已成为身份管理和认证领域的重要工具之一。

三、ldapserver

LDAP服务器是一种轻量级目录访问协议(LDAP)的服务器,它可以用于存储和管理用户和组的信息。LDAP服务器可以用于单独的应用程序或整个企业的身份验证和授权。本文将介绍如何搭建和管理LDAP服务器。

一、安装OpenLDAP

要搭建LDAP服务器,首先需要安装OpenLDAP。OpenLDAP是一个开源的LDAP实现,可以在大多数Linux发行版中找到。以下是在Ubuntu上安装OpenLDAP的步骤:

1.打开终端并输入以下命令:

```

sudoapt-getupdate

sudoapt-getinstallslapdldap-utils

```

2.在安装过程中,您将被要求输入LDAP管理员密码。请记住此密码,因为您将需要在后续步骤中使用它。

3.安装完成后,您可以使用以下命令检查OpenLDAP是否已正确安装:

```

sudosystemctlstatusslapd

```

二、配置OpenLDAP

安装OpenLDAP后,您需要配置它以满足您的特定需求。以下是一些常见的配置:

1.配置基本DN

在OpenLDAP中,基本DN是LDAP树的根。它是您组织LDAP数据的起点。要配置基本DN,请编辑/etc/ldap/slapd.d/=config/olcDatabase={2}hdb.ldif文件,添加以下内容:

```

olcSuffix:dc=example,dc=

olcRootDN:=admin,dc=example,dc=

olcRootPW:{SSHA}password

```

2.配置LDAP管理员

LDAP管理员是具有对LDAP树的完全控制权的用户。要配置LDAP管理员,请编辑/etc/ldap/slapd.d/=config/olcDatabase={1}monitor.ldif文件,添加以下内容:

```

dn:=admin,dc=example,dc=

objectClass:simpleSecurityObject

objectClass:anizationalRole

:admin

userPassword:{SSHA}password

description:LDAPadministrator

```

3.配置LDAP用户

要添加LDAP用户,请编辑/etc/ldap/slapd.d/=config/olcDatabase={2}hdb.ldif文件,添加以下内容:

```

dn:uid=user1,ou=people,dc=example,dc=

objectClass:top

objectClass:person

objectClass:anizationalPerson

objectClass:iOrgPerson

uid:user1

:UserOne

sn:One

givenName:User

userPassword:{SSHA}password

mail:

```

三、管理OpenLDAP

一旦您已经配置了OpenLDAP,您可以使用以下命令管理它:

1.启动和停止OpenLDAP服务:

```

sudosystemctlstartslapd

sudosystemctlstopslapd

```

2.使用ldapsearch命令搜索LDAP数据:

```

ldapsearch-x-b'dc=example,dc=''(objectclass=*)'

```

3.使用ldapadd命令添加新的LDAP条目:

```

ldapadd-x-D'=admin,dc=example,dc='-wpassword-fuser.ldif

```

4.使用ldapmodify命令修改现有的LDAP条目:

```

ldapmodify-x-D'=admin,dc=example,dc='-wpassword-fuser.ldif

```