2024年4月11日发(作者:)

龙源期刊网

运用LDAP实现FTP系统的认证与管理

作者:林国辉 陈宇先

来源:《硅谷》2008年第12期

[摘要]在简要介绍LDAP和FTP相关技术的基础上,提出一套基于LDAP和FTP技术的统

一身份认证方案和账号管理系统方案,解决FTP系统的统一认证、访问控制和B/S模式下FTP

账号管理等问题。

[关键词]FTP LDAP 认证 账号管理

中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2-01

FTP(File Transfer Protocol)是Internet中广泛使用的一种网络服务,主要用于网络主机中

的文件传输。FTP是一种基于客户机/服务器模式的服务系统,用户需要在FTP服务器上建立

账号并拥有合法的权限方可进行有效的连接和登录。由于FTP是基于C/S的工作模式,有着

C/S模式的特点,即传统的FTP账号和权限管理需在服务器端进行操作,而且一次只能对单个

用户进行管理操作,在用户数量频繁增减情况下,使得FTP服务器的管理和维护非常繁琐,

效率却较低。

LDAP(Lightweight Directory Access Protocol)是一种基于X.500标准的跨平台的轻量级目录

访问协议。它运行在TCP/IP协议上,对Internet有着良好的支持性,采用树状的层次结构来存

储数据,具有数据读取速度快,管理方便等特点。LDAP多用于构建统一身份认证系统,集中

管理应用信息系统的账号,实现统一用户管理、身份认证、访问控制等功能;可解决多应用系

统用户的统一管理、统一认证和统一授权;有助于减少数据冗余,提高数据安全和便于用户操

作。

一、OpenLDAP与PureFTP认证原理

(一)OpenLDAP简介

OpenLDAP是一款开源的LDAP目录服务产品,可以运行于Linux,Uinx等操作系统。其

设计目的是提供一种高效、安全的方法来查询和管理数据。通过使用SASL,SSL来支持强度

认证和提供完整性与安全保护,通过使用丰富的功能强大的存取控制手段来控制对权限的操

作。

龙源期刊网

(二)PureFTP简介

PureFTP是一款开源的FTP服务软件,可以运行于Linux,Uinx等操作系统。具有安全、

高效、高适应性、高兼容性等特点。支持带宽限制、虚拟磁盘配额限制、FXP、IPv6等,其设

计初衷就是数据传输的安全性,支持LDAP、MySQL、PGSQL等多种认证方式。因此,使用

PureFTP基于LDAP统一认证方式及运用LDAP集中管理账号数据,有助于提高FTP系统安全

性,高效性与可维护性,具有较高的实用价值。

(三)认证机制与流程

PureFTP与LDAP集中认证,主要通过LDAP使用定义PureFTP的各项属

性,并将FTP账号信息存入LDAP数据库中,当用户向FTP服务器请求认证时,FTP服务器

将认证工作交由LDAP服务器处理。具体流程如图1所示:

1.FTP用户请求连接并发送账号认证信息。

2.FTP服务器根据中配置将用户帐号信息转发到LDAP服务器验证。

3.LDAP服务器验证账号密码。

4.LDAP服务器返回验证信息和账号信息(FTPStatus等属性)。

5.FTP服务器根据LDAP返回信息对用户授权(是否允许连接)。

6.FTP服务器向用户返回授权结果。

图1 FTP与LDAP 认证流程图

龙源期刊网

图2 帐号管理系统功能模块图

二、认证系统的实现方案

(一)配置PureFTP的文件

#vi /usr/local/pureftpd/etc/

LDAPConfigFile ./ #开启 LDAP认证

(二)配置PureFTP的文件

#vi /usr/local/pureftpd/etc/

LDAPServer localhost #LDAP服务器地址

LDAPPort 389 #LDAP服务端口号

LDAPBaseDN dc=test,dc=com,dc=cn #LDAP基准DN

LDAPBindDN cn=Manager,dc=test,dc=com,dc=cn #LDAP管理员DN

LDAPBindPW test #LDAP管理员密码

(三)OpenLDAP导入文件

#vi /usr/local/openldap/etc/openldap/etc/

Include/usr/local/openldap/etc/openldap/schema/pureftpd.

schema

龙源期刊网

(四)修正OpenLDAP与PureFTP约定值的匹配

中FTPStatus属性描述如下:

attributetype ( 1.3.6.1.4.1.6981.11.3.7 NAME 'FTPStatus'

DESC 'Account status: enabled or disabled'

EQUALITY booleanMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )

由于OpenLDAP中boolean型的值是True或False,但PureFTP中FTPStatus属性约定值

是enabled 或 disabled,约定值的不同会导致两者间信息认证不匹配。为了匹配PureFTP的约

定值,可将booleanMatch改为caseIgnoreMatch,即可在LDAP的FTPStatus属性中使用

enabled 或 disabled值,就可实现PureFTP与OpenLDAP统一认证。

三、账号管理系统分析与设计

基于LDAP的FTP账号管理系统要给用户提供一个高效、安全、实用的WEB环境来管理

FTP账号。实现用户能过浏览器在线申请FTP账号或在线修改FTP密码;管理员在线开通,

授权,暂停FTP账号等功能。

从FTP用户角色分析,主要分为普通用户和账号管理员。通常普通和户只需申请账号和

修改密码等功能,账号管理员则涉及到大量的管理与维护工作。所以系统主要以账号管理员角

色来分进行分析与设计。

账号管理功能主要分为用户组管理,用户管理与系统管理三大模块(如图2所示)。模块

主要功能如下:

用户组管理:适合对大量用户分组管理,实现对各组批量管理维护。主要操作有创建新

组,编辑组信息与组权限,暂停或删除无效组,批量导入导出各组账号信息。

用户管理:实现对个人用户账号信息的管理维护,能方便快捷地添加、删除和查询帐号,

对特定账号编辑和授权,对申请账号进行审核开通等操作。

系统管理:主要用于管理系统运行,如系统数据的备份与恢复,系统日志的统计分析,磁

盘配额,系统日志,用户账号等信息的统计查询。

龙源期刊网

四、结束语

本文主要探讨FTP系统通过LDAP平台实现统一用户认证和管理,通过实验测试表明,

PureFTP与OpenLDAP可以完美地结合一起安全稳定工作,使得FTP系统可用性,可维护性

大大提高。

参考文献:

[1]许燕.基于LDAP的统一身份认证的系统的研究[J],网络安全与技术,2007-6.

[2]徐鲁辉.在FreeBSD上使用Pure-FTPd 和MySQL构建FTP服务器[J].现代计算机,

(229).

[3]刘兵.基于Web方式的FTP账号管理系统的设计与实现[J].电脑学习,2006-10(5).