图书馆无线网络统一认证系统的研究与实现
耶健, 李丹, 闫晓弟, 李娟, 魏青山, 韩萌, 肖小勃
西安交通大学图书馆 西安 710049
摘要

介绍目前图书馆无线局域网的应用现状,分析利用开源软件开发无线网络认证系统的必要性,详细阐述西安交通大学图书馆无线网络统一认证系统的设计方案和实现过程,并对新的图书馆无线网络认证系统的使用情况进行总结。

关键词: 开源软件; 统一认证; 无线网络; 图书馆集成管理系统
中图分类号:TP393
Research and Implementation of Library WLAN Unified Authentication System
Ye Jian, Li Dan, Yan Xiaodi, Li Juan, Wei Qingshan, Han Meng, Xiao Xiaobo
Xi’an Jiaotong University Library, Xi’an 710049, China
Abstract

This paper introduces the current application status of wireless LAN in library, analyzes the necessity of the use of open source software to develop WLAN authentication system, then describes the wireless network authentication system design and implementation process, and summarizes the use of WLAN authentication system.

Keyword: OSS; Authentication; WLAN; Integrated library management system
1 前言

西安交通大学图书馆(简称西安交大图书馆)在2005年建立了图书馆无线局域网(Wireless Locate Area Networks,WLAN)为读者提供无线网络服务。读者可使用笔记本在图书馆内任意位置查阅图书馆的各种网络信息资源,图书馆员也可随时利用无线网络进行各项业务工作。然而,在享受无线网络灵活、方便的同时,不可避免地出现了新的问题,即无线网络的安全和用户管理问题[ 1]

出现这些问题主要是因为WLAN利用无线电波传播数据,任何WLAN终端只要在AP(Access Point)信号覆盖的范围内,都可以访问无线网络。因此,如果没有完善的无线接入认证就会出现以下问题:非授权校外用户能通过图书馆的WLAN访问网络信息资源,损害校园合法用户的利益;图书馆管理员无法监控用户上网行为,一旦发生网络滥用、网络泄密等问题,就必然要承担相应管理责任;用户没有合理分级,无线网络带宽等资源得不到合理使用,网络服务质量无法保证。

西安交大图书馆已经购买了H3C公司的无线网络接入控制器(Wireless Network Controller, WNC)和集成网络管理软件(Intelligent Management Center,IMC)来解决无线网络环境下无线设备管理、用户接入认证和用户管理等问题。经过一段时间使用后,发现该系统的用户接入认证和用户管理部分存在一些问题,主要是用户管理不便和用户许可证数目限制,无线用户的注册和审核自成系统,不能和图书馆集成管理系统Millennium的用户库相关联,使得图书馆用户信息不统一。

为了解决上述问题,经过各方面的调研后,决定利用开源软件自行开发图书馆无线网络统一认证系统,用它替换H3C无线网络认证系统中的用户管理与接入认证部分,完成西安交大图书馆无线网络用户注册和用户接入认证。

2 无线网络接入认证技术的应用现状

无线网络用户认证技术是无线网络管理中最重要的技术之一,通过用户认证可以有效避免非法用户访问网络资源,保证授权用户访问被允许的网络资源。

目前,国内外在无线局域网接入认证技术方面应用最广泛的主要有三种,即PPPoE认证[ 2]、Web认证和802.1x认证[ 3]。PPPoE认证主要应用于电信运营商的ADSL业务中,Web认证和802.1x认证主要应用于以太网业务中,这三种认证方式从技术上来说安全性相当,都可以采用用户名+密码的认证方式应用到无线网络中[ 4]。但PPPoE认证和802.1x认证不能穿透三层网络,只能用于两层网络,且认证时需要安装客户端软件,对于无线用户管理来说比较麻烦。Web认证兼容性好,可以提供大容量的用户接入认证,且无需安装认证客户端,使用用户个人系统自带的Web浏览器即可完成接入认证,比较适合图书馆等公共场所使用。另外,Web认证过程属于三层网络通信,可以跨越多个以太网络,灵活性好,特别适合于有多个独立无线网络区域的图书馆。西安交大图书馆在无线网络中就是采用Web认证对用户进行接入认证。

Web认证主要由以下几个部分组成:用户无线终端、认证接入点、认证服务器、Portal服务器和DHCP服务器。这几个部分功能是相互独立的,模块之间通信基本遵循标准的网络协议,例如认证接入点与认证服务器之间的认证服务协议就是标准的Radius协议[ 5]。这使得可以通过自行建立一个支持Radius协议的认证服务器来替代原有的认证服务器。

3 图书馆无线网络统一认证系统设计
3.1 需求描述和功能分析

西安交大图书馆已经利用H3C公司的无线网络接入控制器WX3024和集成网络管理系统IMC3.0实现了图书馆无线网络的Web认证,但随着无线网络用户数量的日益增长及上网实名制的实行,目前H3C的Web认证系统中的认证服务器已不能满足图书馆的无线管理需要,其存在的主要问题是:注册用户数量限制,需要购买更大用户数量的许可证;无线用户的注册和审核工作量大,需要管理员人工确认每个注册用户的身份信息。

为了能以较低成本解决这些问题,需要利用开源软件自行开发图书馆无线网络统一认证系统,使其不但能够利用图书馆集成管理系统Millennium的用户库自动完成图书馆无线网络注册用户身份审核,而且还能够替代H3C的Web认证系统中的认证服务器完成无线用户接入认证,并且它还能和H3C的Web 认证系统中的其他功能模块无缝结合。图书馆无线网络统一认证系统需要实现的功能如下:

(1)在现有软硬件设备下完成图书馆无线网络用户注册与认证,尽量减少新增设备和软件平台,保证图书馆网络管理的完整性和安全性;

(2)不改变用户认证过程和上网流程,符合现有无线用户的使用习惯;

(3)使用图书馆Millennium系统提供的用户认证接口自动完成无线用户注册审核,减少管理员的工作量;

(4)具有无线网络用户访问流量记账和控制功能,防止用户对图书馆无线网络的滥用;

(5)为管理员提供基于Web的图形化的认证服务器管理功能,实现用户服务策略在线配置、用户在线信息查看、用户使用量统计、用户账户的自我管理等功能。

3.2 开源软件的选择

基于以上需求描述及功能分析,本文选用FreeRadius[ 6]和Radius Manager[ 7]等在互联网中被广泛应用的开源软件在Linux环境下建立新的用户认证及认证管理平台,实现图书馆无线认证系统的平滑升级。

(1)FreeRadius是广泛开发的基于Radius协议的认证服务器,可实现Radius AAA(Authentication、Authorization、Accounting)功能。将它和MySQL数据库软件配合架设图书馆无线网络统一认证系统的无线认证服务器。

(2)Radius Manager 是基于Linux 环境的、Radius认证和计费服务器的管理工具。Radius Manager 提供了两种用户界面:管理界面和用户界面。通过管理界面,管理员可以管理无线用户,设置服务策略,控制用户上网时间等。用户界面可以帮助用户查看个人账户状态,修改个人密码以及查询个人使用流量数据等。

FreeRadius和Radius Manager是免费使用的,相比其他价格昂贵的商业软件,其开发成本的优势显而易见,而且有许多功能如用户认证、用户管理和流量控制等可以直接应用,当然有些功能如无线用户的注册由于要和图书馆集成管理系统的用户接口对接以便能自动完成注册用户审核,则需要自行开发。

3.3 网络拓扑结构

图书馆无线网络统一认证系统的拓扑结构如图1所示:

图1 图书馆无线网络统一认证系统拓扑结构

它由无线认证服务器、Portal 服务器和集成网管系统IMC组成,并与H3C的无线网络控制器WX3024、图书馆Millennium系统的用户接口共同组成了图书馆新的无线网络Web认证运行环境。

3.4 功能模块设计

图书馆无线网络统一认证系统是多个功能模块集成的分布式系统,其功能模块以及相互之间的关系如图2所示:

图2 图书馆无线网络统一认证系统功能模块

图书馆无线网络统一认证系统主要分为三大部分:无线认证服务器、用户注册模块和认证系统管理。

(1)无线认证服务器

无线认证服务器是图书馆无线网络统一认证系统的核心,负责处理用户的接入认证请求,包括身份认证模块、流量记账模块和访问控制模块。它是在CentOS 5.6 平台中,利用FreeRadius、MySQL、Tomcat等开源软件搭建的,无线认证服务器能对所有经由无线接入控制器WX3024进入的无线网络用户进行接入身份认证,其认证流程如图3所示:

图3 无线用户接入认证过程

(2)用户注册模块

图书馆无线网络统一认证系统的无线用户注册时要做到无需管理员人工审核就要和图书馆Millennium系统的用户认证接口对接,其自动审核过程如图4所示:

图4 无线用户注册信息自动审核过程

图书馆Millennium系统的有效用户均可在注册无线上网账号时自动通过用户注册模块审核,成为图书馆无线网络的合法用户,从而减少图书馆管理员的工作量。图书馆无线网络统一认证系统的用户注册模块是基于Millennium系统提供的Web Service接口[ 8]利用JSP开发的,实现了图书馆无线网络用户库和图书馆Millennium系统用户库的统一。

(3)认证系统管理

为了实现对图书馆无线网络统一认证系统的Web管理,本文在认证服务器上利用开源软件Radius Manager搭建认证服务器的Web管理系统,图书馆管理员可使用它对图书馆无线网络的认证服务器进行管理,也可以使用它完成图书馆无线用户的账户管理和上网流量的控制。

3.5 系统功能流程

(1)用户注册审核流程图

图书馆无线网络统一认证系统的用户注册审核的流程如图5所示。

图5 图书馆无线网络统一认证系统用户审核流程

用户通过浏览器在线提交个人无线账户注册信息,用户注册审核模块依据图书馆Millennium系统用户库的查询结果自动审核用户身份,决定是否通过用户注册申请。

(2)用户登录流程图

图书馆无线用户成功注册个人无线账号后,即可以连接图书馆无线网络,用户登录流程如图6所示:

图6 图书馆无线网络统一认证系统用户登录流程

用户首先通过图书馆无线网络统一认证系统的Portal服务器提供的无线认证网页输入无线账户和密码,然后通过认证服务器的身份认证后连接到图书馆无线网络中,认证服务器会根据用户的无线服务策略提供相应的无线服务。

4 图书馆无线网络统一认证系统实现
4.1 认证服务器运行环境和开源软件包

认证服务器所在的网络环境为西安交大图书馆局域网,服务器是VMware虚拟服务中心的虚拟机,认证服务器使用的开源软件是 CentOS 5.6操作系统、 FreeRadius V2.1.8、Radius Manager V3.8.0、Apache Tomcat V7.0.26、MySQL V5.0.47等软件。认证服务器分配IP地址为202.117.24.52。

4.2 认证服务器的构建过程

(1)安装Centos 5.6操作系统,采用系统默认方式安装。

(2)更新操作系统内核到最新版本。

(3)安装必要的语言编译环境以及Apahce、PHP、MySQL以及PHP连接MySQL库组件。

(4)启动HTTP和MySQL数据库,关闭seLinux。

(5)安装ionCube,重启HTTP服务。

(6)修改网卡的MAC地址。

(7)安装FreeRadius软件并配置其与MySQL数据库相联。

(8)建立MySQL中与Radius相关数据库表并作相应设置。

(9)安装Radius Manager及相关数据库表。

4.3 无线网络软硬件设备与认证服务器的联机调试

(1)更改图书馆H3C无线认证系统的Portal认证服务参数,更改其配置文件中认证服务器IP为新的认证服务器IP地址。

……

port-security enable #启用无线Portal认证服务

portal server imc ip 202.117.24.2 key world url http://202.117.24.2:8080/portal

portal free-rule 0 source any destination ip 202.117.24.0 mask 255.255.255.0

…… #设置无需认证的免费IP地址

(2)更改图书馆无线接入控制器WX3024 的配置文档,写入新的无线认证服务器地址。

……

radius scheme system #启用无线网络认证服务

radius scheme 3104

primary authentication 202.117.24.52 #设置新的认证服务器的地址

primary accounting 202.117.24.52 #设置新的记账服务器的地址

key authentication XXXXXX

key accounting XXXXXX

user-name-format without-domain

nas-ip 202.117.24.4 #设置无线接入控制器的IP地址

accounting-on enable

……

4.4 用户注册模块的实现

(1)图书馆Millennium系统Web Service接口分析

图书馆Millennium系统提供多个Web Service接口,如读者信息更新Web服务(Patron Update Web Service)、缴纳罚款Web服务(Fines Payment Web Service)等。其中,读者信息更新Web服务遵循Web Service标准,使用者遵循HTTP或SOAP格式发出读者信息请求,请求信息格式是XML编码模式,读者信息更新Web服务收到请求后会返回特定格式的对象数据。返回的数据包括读者ID(唯一的用户身份标识)和图书馆定义的字段如读者借书证号、读者姓名、所属学院和读者密码等信息。

(2)用户注册模块的具体实现过程

用户注册模块的流程如图5所示,用户在注册无线账号时需要在注册页面中输入图书馆Millennium系统个人借阅信息里的借书证号和密码,此注册页面采用JSP编码,并部署了字符编码过滤器,避免中文乱码现象的产生。同时,利用过滤器实现对注册用户进行读者身份验证的功能,这样读者如果没有经过身份认证则不能访问后续的无线账号注册页面。

用户注册模块的用户信息验证页面接到来自用户注册页面提供的个人信息,发送给图书馆Millennium系统的读者信息更新Web服务的应用程序编程接口(Application Programming Interface,API),图书馆Millennium系统返回用户认证结果,最后用户信息验证页面会根据返回的用户认证结果,确定用户身份认证是否通过。

注册页面的用户个人信息通过验证后,其填写的个人信息会自动导入到图书馆无线认证系统的用户数据库中,其具体过程如下:

①无线网络用户信息自动导入接口会自动调用图书馆Millennium系统读者Web服务API,从图书馆Millennium系统数据库中获得读者信息记录;

②该接口把从图书馆Millennium系统数据库中读出的信息显示到读者注册页面,读者在注册页面中按照要求填入自己的其他身份信息;

③该接口通过Servlet技术和JDBC接口,把读者填写的信息包括图书馆Millennium系统里读出的信息都写入到图书馆无线认证系统的Radius数据库中。

(3)数据库设计

根据Radius认证服务器数据库中各个数据表的结构、定义及数据表之间的关系,把图书馆无线网络用户信息的各个信息项和Radius数据库中的若干数据表的字段一一建立对应关系。例如:rm_users表记录了Radius Manager的用户注册信息和管理员设置的限制时间或流量,利用rm_users表存放图书馆无线网络读者注册信息,读者密码不直接存放,需经MD5(Message-Digest Algorithm 5)加密算法加密后,存储在rm_users表中的password字段里;radcheck表记录了读者自助注册时的账号和密码,故用户注册接口在rm_users表写入用户数据的同时,在radcheck表中也要写入数据,方便以后找回读者密码。

5 结语

图书馆无线网络统一认证系统是在原有H3C无线网络认证系统的基础上,利用成熟的开源软件开发完成的,既保留了原认证系统可用的功能软件,降低了开发工作量,又研发了用户统一认证和自助注册等新功能。

图书馆无线网络统一认证系统的用户注册模块实现了和图书馆Millennium系统用户认证接口的对接,用户注册时只要是图书馆Millennium系统的合法用户,就能自动通过审核成为图书馆无线网络用户,既实现了图书馆用户的统一认证又保持了无线认证系统用户的独立性。

图书馆无线网络统一认证系统以用户组为单位,通过设置无线网络服务策略,规定了图书馆无线网络用户访问时间和访问流量,实际使用效果明显,既保证了用户对图书馆无线网络的合理使用,又提高了无线网络的利用率。

西安交大图书馆无线网络统一认证系统已运行4个多月,有注册用户数7 000多人,每天访问量在1 600多人次,同时在线240人次,且系统运行稳定,系统功能完全达到设计要求。

目前,主要存在的问题是:图书馆Millennium系统的用户管理页面中对用户密码大小写是不敏感的,而Radius Manager的用户管理页面对字母大小写敏感,会有少量用户的密码从Millennium系统自动写入到无线用户数据库后会出现字母大小写不一致的问题;目前图书馆无线网络统一认证系统的用户服务策略可以设置用户账号的过期时间和使用时间,还没有实现对下载流量的控制,需要继续研究。

参考文献
[1] 耶健, 邵晶, 阎晓弟. WLAN安全与网管技术在大学图书馆无线局域网的应用[J]. 现代图书情报技术, 2006(7): 85-88.
(Ye Jian, Shao Jing, Yan Xiaodi. Application of WLAN Security and Network Management Technology in University Library[J]. New Technology of Library and Information Service, 2006(7): 85-88. ) [本文引用:1] [CJCR: 1.073]
[2] Mamakos L, Lidl K, Evarts J, et al. IETF RFC2516-1999, A Method for Transmitting PPP over Ethernet(PPPoE)[S]. [本文引用:1]
[3] IEEE Std. 802. 1x-2001, Port Based Network Access Control Protocol[S]. [本文引用:1]
[4] 肖义. 3种接入认证技术的浅析与比较[J]. 光通信研究, 2006(3): 25-28.
(Xiao Yi. Analysis and Comparison of Three Types of Authentication Technique for Access Networks[J]. Study on Optical Communications, 2006(3): 25-28. ) [本文引用:1] [CJCR: 0.1984]
[5] Rigney C, Willens S, Livingston, et al. IETF RFC2865, Remote Authentication Dial in User Service (RADIUS)[S]. [本文引用:1]
[6] FreeRADIUS. The FreeRADIUS Project[EB/OL]. [2012-07-03]. http://freeradius.org/index.html. [本文引用:1]
[7] DMA Softlab LLC. Radius Manager 3 User’s Manual(Version 3. 9)[EB/OL]. [2012-07-03]. http://www.dmasoftlab.com/cont/documents/user_manual_3.9.pdf. [本文引用:1]
[8] Innovative Interfaces Inc. Innovative Technical Documentation[EB/OL]. [2012-07-03]. http: //techdocs. iii. com/.
(作者E-mail: yejian@mail. xjtu. edu. cn) [本文引用:1] [JCR: 4.826]