Linux教研环境应用 构建安全实验室
http://tech.ddvip.com 2007年03月12日 社区交流
Linux教研环境应用 构建安全实验室。
位于美国新泽西州纽泽西的医药及口腔大学(UMDNJ,http://www.umdnj.edu)在准备为研究生开设一门新的生物信息学(bioinformatics)课程时遇到了一些挑战,那就是如何将新的计算资源和现有的研究支持基础架构进行整合。
为了满足日益增长的计算资源需求,他们要在系统中加入新的服务器和平台,同时还要保护整个系统免受来自互联网的各种威胁。
新环境需要连接位于两个城市之间的Linux工作站、Linux服务器、Silicon Graphics工作站、一台Sun 6800企业服务器和互联网。开放源码的解决方案以极高的性价比有选择性地整合了原有的计算资源,并且创建了一个非常友好的生物信息学研究环境。
构建教研环境
和很多大学一样,UMDNJ的公共计算机实验室使用的是微软的Windows操作系统和Office办公套件,此外还有一系列客户端,包括Web、Telnet、FTP、IMAP2邮件和X服务器。大学的生物信息软件运行于Sun的Solaris和SGI的Irix服务器之上。现在他们需要一个可以完成以下功能的环境:
◆ 高效地管理工作站;
◆ 快速添加或删除应用程序;
◆ 重建工作站;
◆ 很好的可用性;
◆ 充分考虑到网站和数据安全问题。
实验室的信息化小组意识到,应该把软件和配置信息存储在中央服务器上,并且可以通过客户端进行认证。然而,学校的Web服务器和电子邮件服务器已经是超负荷运行。
此外,每一个服务器都有自己与众不同的安全问题和解决方案。一个比较好的办法是建立一个独立的服务器,专门服务于科研工作,也就是要有一个科研服务器。问题出现了,该项目的预算非常有限。
几乎所有用于科研的服务器/工作站环境都有各自的优点,包括并行处理、中央化的系统管理和安全的存储系统。然而,由于大学位于两个不同的城市,这带来了很多困难。此外,实验室对可视化有很高的要求,也就是说客户需要ReflectionX、Exceed和Cygwin等X服务器。
很多分子模块软件需要图形化的OpenGL。对于本地网络而言,这种要求是很容易满足的,但学校的网络却无法满足这一要求。
信息化小组现在面临的挑战是,如何创建一个可以抵御黑客攻击,并且可以通过授权方式让用户访问软件的安全实验室环境。
最后,信息化小组决定使用Linux构建这一环境。原因是作为开放源码软件,Linux更加安全、易于管理,更为重要是它可以免费获取,这对于经费有限的教育环境来说非常具有吸引力。
学校选择使用了Red Hat Enterprise Linux,因为它可以提供一些商业方面的支持,包括工作站监控、补丁升级等。硬件使用的是学校现有的一些Intel x86计算机。
现在,该实验室应用环境已经搭建完成,位于新泽西皮斯卡塔韦镇的Piscataway实验室有14台Red Hat Enterprise Linux工作站和两台Enterprise Linux服务器。在Newark的实验室则有4台Red Hat Enterprise Linux工作站和一台Enterprise Linux服务器。
服务器的情况
学校在两台PC机上安装了Red Hat Enterprise Linux AS,其中一台位于Piscataway实验室,另外一台位于Newark实验室。它们一个是主服务器,一个是备份服务器,功能是Web和数据库服务器。
此外,还需要一个DHCP服务器来授权用户通过非Linux工作站的笔记本访问网络。对于笔记本用户,由于其MAC地址是固定的,所以每一个笔记本都有一个和如下类似的入口,每一个主机都通过用户名来进行识别:
subnet 192.168.1.0 netmask 255.255.255.0 { |
不管是什么实验室,都很难想象将所有的工作站分开来进行配置和维护,那样的工作量将会非常巨大。
对于这个问题,解决办法是采用Red Hat的Kickstart功能,即首先在一台计算机上安装系统,并且确定Kickstart配置文件的内容。
因为两个校区使用的硬件略有不同,所以不得不采用不同的配置文件。所幸的是管理几个配置文件并不是一个大问题。为了保持配置文件的同步,采用的方法是使用Perl编写了一个脚本程序,该程序可以读取不同的模板文件,并且生成所需的Kickstart配置文件。
使用Kickstart的好处是可以使用一个配置文件来安装一组机器。这对于通过DHCP来获取网络信息的机器来说,工作得非常不错。不便之处在于,如果指定某一特定的IP地址,那么就需要为每一台机器创建一个Kickstart配置文件。这使得每一台机器都要有一个Kickstart文件。
对于这个问题的解决办法是只使用一个Kickstart配置文件。这样,机器通过DHCP来获取自己的网络信息。在DHCP服务器上,通过机器的MAC地址来区分每台机器,并为每一个MAC地址分配一个静态IP地址。下面是一台机器的DHCP配置文件内容:
host hydrogen { |
在通过Kickstart安装Linux时,需要告诉Anaconda(Red Hat的安装程序),配置文件所处的位置。因为配置文件位于NFS服务器上,Anaconda必须能够访问该服务器。
为了能够访问服务器,Anaconda还必须有网络驱动。当使用光盘启动机器时,网络驱动是位于光盘之上,并且已经被加载。但是,由于种种原因,不能使用光盘来进行启动和安装。
为了解决这个问题,小组成员起初准备创建一个可启动的软盘。用于创建可启动软盘的映像文件位于Red Hat的第一张光盘上,但是网络驱动太大,一张软盘无法容纳。于是他们决定使用U盘进行启动。
创建一个带网络驱动的可启动U盘的方法如下:
1.使用FAT格式对其进行格式化。
#mkdosfs /dev/sdb1 |
2.挂载U盘。
3.把第一张Red Hat安装光盘中/RedHat/isolinux目录下的内容拷贝至U盘中。
4.将isolinux.cfg更名为syslinuxcfg。
5.将initrd.img从/RedHat/images/pxeboot拷贝至U盘。
6.卸载U盘。
7.使用“syslinux /dev/sdb1”命令使得U盘可以启动。
这样,就可以通过U盘启动,进行Kickstart安装了。
用户账号的设置
实验室环境要求要有用户账号,并且可以在网络上进行登录。刚开始,项目小组准备使用NIS实现这一功能,但由于安全性及复杂性方面的原因,最终还是放弃,而采用了LDAP。
事实证明,采用LDAP并不像想象中的那么困难。为了克服LDAP在管理用户方面的一些不便,小组还专门为其编写了一个Perl脚本程序。
安全控制
在大学教研环境里,对资源的访问需要非常开放。而网络里的Windows系统却极易受到各种攻击。虽然采取了很多保护措施,但还是无法杜绝这些攻击。
这些被感染的Windows机器经常会造成网络阻塞,而使整个系统的性能都降下来。为了保护实验室免于威胁,实验室采取了一系列的安全措施。
为了增加安全性,访问通过工作站和服务器的IP地址与特定资源相关联的方法,控制工具主要是iptables。防火墙服务器允许所有SSH连接信息通过,然后对IP地址进行过滤,只允许一些特定的IP地址可以访问一些更开放的资源,比如NFS、LDAP、CUPS和FlexLM许可服务器。Web服务器的设置有所不同,它只允许SSH和HTTP信息流过。
每一个工作站都进行了比较严格地设定,只允许SSH和VNC信息流入。除NFS和FlexLM外,所有列在/etc/services中的服务使用的都是标准端口。
FlexLM端口的设置可以通过更改配置文件非常方便地完成。NFS相对来说要复杂一些。为了让NFS使用一个静态的端口,需要对NFS的背景信息有一些了解。
通过使用各种开放源码软件,UMDNJ已经用比较低的成本比较好地实现了设想中的各种功能,并且实验室已经开始正常运转。当然,他们还有一些事情要做,比如,现在他们的工作站位于两个不同的地方,认证服务器却只有一个,而两个校区之间的网络可靠性要比校园内局域网差得多,并且两个校区之间的NFS信息也没有被加密。因此,计划下一步用一个更可能的分布式网络文件系统来取代NFS文件系统。
作者:葛小明 责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- Linux 系统安全
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……