基于目录服务的校园网用户管理系统北京大学计算中心张蓓zhp@pku.edu.cn主要内容:一、系统背景二、设计原则三、系统逻辑结构四、主要设计思想与技术特色五、主要技术及产品六、出现的问题及对策七、后续工作一、系统背景1.问题的提出校园网中网络服务种类繁多,用户数迅速增长,使得我们迫切需要一个统一的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的校园网用户管理系统,这是我们共同面临的问题2.问题的解决对原有独立开发的网络记费系统进行改造经过近一年的调研、开发,2000年7月6日,基于目录服务的校园网用户管理系统在北京大学投入试运行,实现了校园网用户的统一管理与统一记费3.目前已纳入到本系统中的典型网络应用•E-mail服务•Proxy代理服务•公用机房微机服务•打印服务4.即将纳入到本系统中的网络应用•拨号服务•公用机房非Proxy的国际访问服务5.可以纳入到本系统中的网络应用•MIS系统•多媒体系统(VOD,多媒体教室,远程教育等)•其他6.新系统已实现的目标•一口对外的用户服务•提高了服务质量,用户交费后立刻生效•减少了网络用户管理维护成本•减少了管理人员的劳动强度和工作量•减少了用户管理出现差错的机会•提高了网络系统的使用效率•增强了系统的扩展性二、设计原则1.实现当前运行的通用网络应用系统向新系统的平滑过渡2.保证当前运行的通用网络应用系统在过渡期的安全可靠运行3.具有较好的扩展性,为校园网中其他网络应用系统向基于LDAP的管理过渡打下基础目录服务系统用户身份认证用户管理综合计费管理系统参数管理统计查询网络应用系统E-mailProxy拨号MIS其他内部认证认证API帐号/口令成功/失败系统管理员配置信息等配置信息收款员开户、收费、封锁、解封、变更、信息查询等Domain1Domain2NT教学环境用户同步NT用户帐号/口令成功/失败网络用户帐号/口令成功/失败系统日志数据采集系统日志费用数据库应收费用/实收费用应收费用应收费用三、系统逻辑结构封锁帐号LDAP用户信息用户管理员Web/LDAP网关封锁、解封、改密码等资费政策四、主要设计思想与技术特色1.用户管理、综合计费管理的操作基于Web技术,管理员可在任何一台被许可的具有浏览器的计算机上,通过Web/Ldap网关实施管理要求,用户可以通过浏览器查询自己的费用,查找北京大学的所有网络用户2.用户分为四类:普通用户、用户管理员、收款员和系统管理员•不同用户具有不同操作权限,操作界面风格相同,内容不同•普通用户:能查询所有用户的基本信息,但只能查询自己的费用信息,修改自己的基本信息及口令•用户管理员:可以修改用户口令,封锁/解封用户帐号等•收款员:可以进行收费、审核、催费、制定和修改价格、新建/修改/封锁/解封用户帐号等•系统管理员:不可以进行上述与收费有关的所有工作,但可以进行系统维护、数据备份、系统参数的设置和修改等3.Web/LDAP网关实现了树状结构的用户信息管理界面•用户数据层次清晰,便于前台操作人员理解、掌握•在一个画面中集成了多项功能,减少了画面的切换,易于操作•主要功能:•显示用户属性•费用查询•修改用户属性/删除用户•修改口令•拷贝/移动•封锁/解锁•过期用户管理•刷新目录•新建帐号•用户查找4.系统提供多种计费政策•用户可以分为普通用户、优惠用户和免费用户三种类型•免费用户可以设置为全免或仅免几项费用,这种用户多为网络管理人员•每项费用可以设定日单价、夜单价,优惠价,节日价,限额,超限额价格比率等属性,以此制定系统的资费政策。日单价为缺省价格,其他价格属性仅当设置时才有效•可以制定以时间为因素的价格政策,支持日夜两段折线计费•可以通过限额制定以数量为因素的价格政策,超过给定限额后,按超限额价格比率执行超限额价格•节日价是节日期间执行的价格。可以在系统参数中设定节日的范围,如周六、周日、五一、十一等5.用户帐号分为活动和锁定两种状态。•系统参数中规定了封锁帐号阀值•费用数据采集程序在装入费用数据过程中,检测到用户本期余额低于封锁帐号阀值后,立刻封锁该用户帐号•收费程序在检测到用户本期余额高于封锁帐号阀值后,立刻解封帐号•被封锁的帐号将得不到任何需付费的网络服务•管理人员可以手工进行帐号的封锁和解封,这在惩罚违章使用网络行为时十分有效6.具有标准化的费用数据接口,数据采集规范化为了使得系统具有较好的扩展性,能够方便地接纳各种网络服务的记费数据,我们设计了规范化的数据接口,各项网络服务只要按标准化的费用数据接口准备数据,均可用公用数据采集程序将数据装入费用数据库中。该程序在装入数据的过程中执行系统设置的所有计费政策7.系统具有催费功能管理员可以对余额低于催费阀值的用户发催费邮件、批量封锁帐号8.通过NT系统与IP流量日志的结合,实现在公用机房上机用户的IP流量计费,使得在公用机房上机的用户获得Proxy代理不能提供的服务9.提供基于Web的电子邮件服务,免除自由上机用户在每次上机时设置POP帐号的麻烦10.可灵活制定数据采集频度各项服务的费用采集程序都可以根据自身的数据特点,在综合网络负载、系统安全、控制费用丢失程度等因素的前提下,制定数据采集周期。北京大学目前典型网络应用的数据周期如下:拨号服务:日E-mail服务:日Proxy代理服务:小时PC机时及打印:小时公用机房IP流量:分钟11.服务器采用了JaveServlet技术保证系统具有较好的扩展性,可移植性和安全性12.提供Java、C的LDAPAPI接口为其它应用程序在目录服务器上认证、获得用户权限提供了可能五、主要技术及产品1.选型原则:所选网络软件产品须支持基于LDAPV3的目录服务器产品的用户认证,目录服务产品必须具有C、Java等API接口。电子邮件服务器产品除上述要求外,须有WebMail功能。2.涉及主要技术(1)DirectoryandLDAP(2)HTML(3)Java(4)JavaServlet(5)JavaScript(6)JDBC(7)Security(8)C,C++(9)Sybase(10)winsock3.系统运行平台(1)SUNSolaris7(2)MSWindowsNT4.04.主要软件产品(1)目录服务器:NetscapeDirectoryServer4.11(2)E-mail服务器:NetscapeMessageServer4.0(3)代理服务器:NetscapeProxyServer3.5(4)数据库服务器:Sybase11.9.3(5)CA认证服务器:NetscapeCMS4.05.开发语言(1)Java(2)JavaScript(3)HTML(4)C(5)VC++七、出现的问题及对策1.黑客及口令盗用对策•用户注册信息加密传输,applet/servlet方式处理•管理帐号与IP地址绑定,管理用计算机使用单独的网段•重要服务器限制IP地址的访问,尽量减少可访问的IP2.黑客用户控制•设置黑客表,进入黑客表中的用户立刻被封锁,•不能为黑客表中的用户加钱,该口令,解封•数据采集一旦发现了黑客用户的数据,立刻封锁该用户3.防止透支•制定封锁帐号阀值(5元),预付款低于阀值后被封锁•设置较小的数据采集周期•对正在上机的用户结算时“偷看”,低于阀值时封锁4.防止越权使用•普通用户与管理员的功能界面及显示界面各不相同•每项功能执行时首先进行权限检查,即使通过http直接调用,普通用户也不能执行管理功能5.网络不稳定时的对策•现象1:NT系统日志中无注销记录,被结算到日结终止时间•对策1:用退机时功能,减除机时及发生费用•现象2:NT用户透支时不能完成帐号锁定•对策2:在催费程序中批量锁定透支用户帐号6.NTServer死机时的对策•现象:当时上机用户在系统日志中均无注销记录•解决:请用户立刻离开机房,按日结方式做NT入帐。如果系统恢复的时间较长,要按DOWN机方式做NT入帐,同时给出扣除系统恢复时间的参数7.NT机房突然断电时的对策•现象:当时上机用户在系统日志中均无注销记录•UPS支持期间:立刻按日结方式做NT入帐•UPS支持期间之外:按DOWN机方式做NT入帐,同时给出扣除时间的参数8.提高统计速度•在服务器端通过定时启动数据库存储过程执行日统计•统计日、月、年报均从统计日报表中生成9.减少查询输出•现象:指定查询条件较弱时,大量的查询结果造成缓冲区不足,不仅查询结果异常终止,也会造成数据库服务器死机•解决:增加查询条件,限制查询输出的数量增加数据库tempdb的大小经常清除sybase系统的事务日志10.增加系统的可靠性•采用双机系统,进行目录服务器的同步设置•定时备份目录数据和数据库数据•各种网络服务的日志数据均有备份,均可再次装入•数据采集程序日志信息详细,便于事后分析八、后续工作•建立基于PKI的CA体系,增强用户身份认证的安全性•目录服务器向MSWindows2000、NovelNDS移植•数据库系统向MSSQLServer移植,适合中小型校园网的使用•IPV6环境下整个系统的实现•数据库双机热备份结构的建立•二期功能的开发谢谢!