王建宏, 刘嘉勇
(四川大学 信息安全研究所,四川 成都 610064)
实验教学一直都是高等院校教学工作的重要组成部分,它在培养学生综合素质和创新能力方面有着不可替代的重要作用。随着网络技术的发展,高校计算机相关专业的建立和发展,“做实验”的概念不再是玻璃瓶里的化学药品、电路板上的逻辑电路这样的具体概念了,尤其是在计算机领域。计算机相关实验教学现状,大多需要PC机将网络技术引入实验教学的实验环境,实现资源共享,降低实验成本,使实验的进行不受时间和地点的限制,有利于开放式教学体系的设计和创造型人才创新能力的培养[1]。
下面从功能设计、结构设计、平台搭建、功能特点和安全配置几个部分对本实验管理平台分别阐述。
模拟传统实验步骤和习惯,基于功能的角色(教师、学生和实验室管理员)功能分类,本实验管理系统功能结构分类如下。
用户管理子模块包括:用户注册,用户登录管理,修改口令,过期用户注销;
学生子模块包括:实验项目选择,提交报告,查询实验报告,相关资料下载;
教师子模块包括:实验项目管理,学生实验查看,学生期末成绩,下载专区维护,学生账号管理;
管理员子模块包括:院系及专业管理,实验项目管理,教师账号管理,过期数据清理,防火墙地址设置。
(1)用户管理子模块
本子模块为后台管理系统提供合法用户认证服务。设计了三种用户角色,教师、学生和管理员。管理员可管理教师和学生账号,教师管理实验项目授权。本模块实现了这三种用户信息管理、用户登录管理的基本功能。除此之外,还实现了用户注册和过期用户注销功能,适应教学实验系统学生用户更新。
(2)学生子模块
依照学生做实验流程:上机→选择实验项目→下载实验相关资料和工具→在线实验→填写实验报告→提交实验报告,本子模块主要功能包括实验项目选择、在线提交和修改实验报告、实验工具和相关下载。学生可选择进行教师用户设定的授权实验项目。
(3)教师子模块
依照教师教学任务流程:布置实验任务→上传实验资料和相关工具→收集检查实验报告→成绩管理→学生实验情况查看,本子模块主要功能包括实验项目选择,学生实验情况查看,学生实验报告查阅,下载专区维护和学生账号管理。教师即可根据具体实验课程设置当前可进行实验项目和相关实验资料,也可在不同学年更新和管理学生账号。
(4) 管理员子模块
管理员子模块主要用于特殊数据的设置和删除以及批量数据的删除。包含五个主要功能,院系及专业管理模块、实验项目管理模块、教师帐号管理模块、过期数据清理模块和防火墙地址设置。
基于网络的管理系统有C/S(Client/Server)、B/S(Browser/Server)两种模式。C/S模式需要专门的客户端安装程序,开发周期长对各种环境兼容性差,不能够实现快速部署安装和配置,开发成本高[2]。而B/S模式具有分布性特点,开发速度快、成本低、客户端零维护、系统扩展容易等特点,本管理系统采用B/S结构。在后面的描述中,本实验管理系统依据的系统拓扑结构如图1所示,主要特点有如下几个。
①客户端只需要安装Web浏览器(IE,Netscape等)即可,其它的应用程序都安装在Web服务器和数据库服务器上。合法用户只要拥有浏览器就可以十分容易的使用整个系统;
②服务器端,连接客户端和数据服务器,负责处理来自浏览器的用户请求,启动有关的脚本或应用程序执行相关任务,调用数据库服务器资源对客户端的请求做出响应,将结果以网页的形式发送给用户的浏览器;
③数据库服务器中保存系统的数据,实现数据的定义、维护、访问、更新以及管理,并响应应用服务器的请求。
图1 系统拓扑
通过对多种开发平台的研究和比较,考虑到学校研发经费、适用环境、用户需求和性能要求,本系统选择了LAMP(Linux + Apache + MySQL + PHP)开源环境作为其开发平台,分别表述如下。
①Linux是多用户、多任务的操作系统,继承自UNIX操作系统,具有齐全功能和较高的运行效率和系统稳定性[3];
②Apache服务器是一种支持HTTP协议的Web服务器软件,也是当前使用最广的一种开源Web服务器。它有很好的跨平台性,稳定性和运行速度相对较高,完全能满足校园实验系统的需求;
③选用MySQL服务器作为数据库服务器。它是真正的多用户、多线程SQL数据库服务器,适合于中小型数据系统,运行速度快、具有健全的安全机制的网络数据库管理系统;
④采用PHP(Personal Home Pages)。PHP是一种服务器端、跨平台、HTML嵌入式的脚本语言。其一个突出特点就是快速,执行网页比CGI、Perl和ASP更快,并且具有丰富的功能,版本更新速度也很快。
另外PHP+Apache+Mysql配合使用于Linux平台上,具有最高的性能价格比,这也是本平台搭建之初如此配置的重要原因。
本实验管理系统是针对实验教学方面的需求而研发设计的。用它可以实现计算机、网络、信息安全等专业学生的实验管理。该系统由以下几个特点。
(1)学生实验异步
传统实验教学要求学生和老师的同步,学生与学生的同步。但是在实际情况中,由于学生学习习惯和学习能力的不同,不能保持绝对同步。而本实验系统,学生可以根据个人情况调整实验进度,体现了学习的异步性。
(2)教员负担轻
传统的实验教学中需要学生手动登记,但是即使这样也无法保证学生到场真实情况,并且书面资料不好收集整理,本系统使用了在线用户登录系统,便于教师实验信息收集,并且减轻了教员收集整理书面数据的负担。
(3)在线资料获取便捷
本系统B/S结构使得用户只要在接入该网络的安装了浏览器的主机上都可以随时访问,不需要安装任何软件。并且教师可以随时将需要的文件资料上传到服务器上,方便学生的使用。避免了使用类似网上邻居等文件共享系统造成网络传输的拥塞。也省去了拷贝资料的繁琐,时间的浪费。
(4)实验在线控制
教员可以指定学员可操作实验项目,并且本系统设计了实验记录功能,保存学生参加的实验项目信息,方便教员管理。
(5)在线实验报告提交
学员可在线以电子文件提交实验报告。在数字信息存储普及得今天,这样更便于实验报告的收集整理。
实验管理平台的使用采用软硬两种控制方法,实验室制度决定硬控制方式,这里主要介绍一下软控制方式。软控制方式包括界面程序控制方式和服务器控制方式[4]。参考信息系统安全策略基本原则[5],本实验系统管理系统主要的安全配置有如下几点:
① 修改默认信息:禁用默认的root管理员账号;Apache服务器初始安装时有一些默认参数,如用户登陆名、服务端口、配置信息等,这些都给攻击者留下了入侵的可能,重新设置或修改,避免使用默认参数[6];
② 脚本编辑器安全配置:禁止用户输入创建全局变量;特殊字符自动转义;设置安全模式;禁止知道文件目录外的文件操作;禁止错误信息显示在网页上;禁止远程文件功能;传输数据加密;限制输入长度与类型等;
③ 日志文件管理:将Apache服务器访问日志保存在安全保护目录中,并做定期分析;
④ 安全补丁及时更新:保证平台各模块保持最新补丁包,运行稳定版本。
另外,现在的安全技术层出不穷,可以做很多安全配置的定制,而在Linux操作系统环境的安装前中后,可参考文献[3]做适当配置。而实现了最小特权和权责分离的SELinux强制访问机制[7]也可在适当的环境下应用。
本实验系统是针对高校个别专业学生设计的实验系统,系统用户容量有限,主要应用在小型局域网中。如要应用于用户规模大,复杂的网络环境中时,在数据存储和网络配置等方面还需作更高级的配置和改进。
[1] 辜良瑶,潘迪夫.构建基于网络技术的实验教学系统[J].现代电子技术,2006(04):36-38.
[2] 张润杰,刘维民,刘鹏,等.基于B/S模式的网络版实验室管理系统[J].首都师范大学学报,2005,26(02):16-18.
[3] 初振林.Linux安全强化方案[J].信息安全与通信保密,2007(11):49-50.
[4] 张松,陈志刚,金亮.开放实验室管理系统设计方案比较及实现[J].计算机工程与应用,2004(03):230-232.
[5] 方勇,刘嘉勇,周安民,等.信息系统安全理论与技术[M].北京:高等教育出版社,2008:13-15.
[6] 傅宇旭.Apache服务配置和管理[M].北京:清华大学出版社,2002:17-111.
[7] 刘科渊,潘理,李建华.基于SELinux强制访问控制机制的Web服务器安全增强[J].信息安全与通信保密,2004(04):28-30.