![]() 发布活动已成为政府、机关、企事业单位对外宣传服务的重要口舌,因此他们的安全性和稳定性也越来越受到关注。怎样利用现有的设备建立一套有效的警报、备份、转换系统,以确保服务的安全和不间断呢? 重要的Web服务在正常工作的同时,必然需要建立一套对应的备份系统,来确保数据的安全性连同不间断性。这里的意外主要指的是电源的中断、服务器硬件的自然损坏、服务器系统软件的崩溃,连同各种形式的黑客攻击导致的数据丢失或页面信息的篡改等突发情况。 ![]() 图一、服务器工作分配示意图 通常的备份是由人工定期将数据拷贝至另一台服务器上,或购买特别的硬件备份系统来完成。现在我们需要一种新的备份体系,他能做到定时备份,在意外发生时及时启动备用系统并通知管理员。 我们的备份服务器安置在至少有一段空间距离的另一个机房中,备份服务器也拥有单独的公网IP,并和其他服务器组成单独的局域网,他们可通过局域网IP相互访问。另外,我们最好再配置一台服务器(在下文中称为监测/分配服务器)让他完成判断其他服务器工作状态和及时转换用户访问目标地址以启动备份服务的任务。 其次是操作系统和相应的配置。为了确保安全,避免黑客利用同样的系统漏洞攻击,除了及时打补丁以外,最好为服务器安装第三种系统。通常服务器会使用Windows 2000 或 Linux 系统,那么我们就能够为备份服务器安装Windows 2003。同时不要忘记配置一个复杂而长的系统密码。然后我们将Web服务器的硬盘通过局域网IP映射到这台机器上,这样我们就能通过程式方便地备份数据了。 为节省资源,我们能够将多个服务集中在一台备份服务器上进行备份,但这就需要这台服务器的性能必须可靠且安全级别很高,同时安装杀毒软件和软件和硬件防火墙也是必要的。 接下来我们将对备份和监测/分配服务器做周详配置。 备份工作 之前我们已把Web服务器的硬盘映射到了备份服务器上,这样就使得备份工作能够顺利进行。只要用任何一种编程语言编制一个定时执行的小程式,把源文档夹中的Web页面文档、脚本文档、图片资源和数据库文档等原封不动地拷贝到对应的本地文档夹中就能够了。定时拷贝能够在访问量小的凌晨执行,以减少对服务的影响。另外,还能够采取监控文档改变的方法进行备份,就是让程式随时扫描源文档夹中文档的修改时间,发现有变化就进行拷贝,这种方法能够做到真正的实时备份。 注意:在拷贝的同时,还要确认一下文档的合法性,以避免将被人篡改过的页面复制过来。 搭建备份服务器Web服务环境 为了让备份的文档在原服务器故障时代替其进行工作,我们必须在备份服务器上搭建一套相同的运行环境,比如安装IIS更有相应的数据库。由于我们的Web服务器不止一个,系统可能不同,所用的脚本文档也就可能不同,因此我们还需安装相应的脚本解析程式。现在对于PHP等在Linux下运行的脚本也有了Win32的版本,能够直接和IIS配合使用。假如管理员不习惯,也能够安装Apache的Win32版本。 注意:不同的服务器软件不要使用相同的端口,以避免冲突。 安装好的服务在平时无需运行,以防止文档在拷贝复制中出现错误。我们能够在必要时通过程式启动他们。 监测服务器运作状况 我们利用监测/分配服务器对给Web服务包括备份服务器进行运行监测,连同时发现硬件故障、系统故障、数据库错误和恶意攻击等。我们需要在编写的检测程式中分别判断,检测程式定时主动连接Web页面。对于硬件故障,如电源故障发生后,将导致服务的全部停止,因此连接请求会得不到回应。对于系统故障(包括服务器软件故障),程式会发现响应过慢或回应异常(比如返回很难找到页面的错误信息)。对于数据库故障程式,也会同样收不到对数据库请求的响应,由此能够进行判断。而对于黑客攻击程式的工作要多一些,因为黑客往往只是篡改网页(主要是网站首页)的内容,我们就不能根据前几项检查来发现错误,当在前几项检查都通过以后,程式需要获取网站首页和关键页的页面文档内容,然后通过和本地保存的文档作对比来判断真伪。 意外发生时自动转换及警报 为实现意外发生时自动转换以启动备份服务,我们在监测/分配服务器上安装了服务器软件,并提供虚拟域名解析功能(Apache和IIS都能够实现)。而且,受保护的Web服务器域名对应IP地址都被DNS解析到监测/分配服务器的IP上。也就是说,访问者不管键入哪一个域名,都会被解析到监测/分配服务器上,然后利用他的虚拟域名功能进行二次分配。 通常不同的域名会被解析到本地相应文档夹中的一个默认文档上,如Index.html。我们能够让这个文档只负责转向的功能。在文档中写上如 就能够实现。所指向的IP能够是Web服务器的,也能够是备份服务器的,这要靠检测程式来决定。从图2我们能够了解监测/分配服务器工作原理。 ![]() 图二、监测/分配服务器工作原理示意图 当检测程式发现异常后,首先发出指令终止备份服务器的备份工作,启动备份服务器的Web服务和数据库。然后修改Index.html文档中的IP,使之指向备份服务器。最后通过邮件服务器,向管理员发出警报邮件并通过扬声器发出警报音。当一切完成后,对于访问者来说是觉察不出前后的变化的。也就是说,我们通过这个系统做到了及时备份连同无缝的转换。 值得注意的是,为了防止备份服务器拷贝错误页面,我们应该在每次备份开始前都进行检测。这能够通过备份程式和监测程式之间的通讯来实现,而这两个程式也最好直接做成系统的服务。 服务器相互监督和辅助监测 从上面的情况看,在我们的整个系统中,每一次访问首先到达的都是监测/分配服务器。这台服务器虽然工作量不大,但是假如他不能正常工作(特别是虚拟域名停止工作)会造成任何服务器都不能被访问。因此,有必要利用其他服务器监督此服务器的工作情况。假如发现问题,也同样需要发警报邮件和警报音。此外,我们还能够在管理员的工作场所利用一台普通PC随时自动对Web服务进行访问测试,一旦这个辅助的检测器发现异常,也会发出警报以使我们的服务器更加安全。 手动维护 虽然有了自动备份和监测系统,管理员的手动维护工作也还是不可缺少的。服务器在运行了一段时间以后,会产生一些垃圾文档,比如没有被及时清除而残留的Session和Temp文档。同时随着时间的推移,日志文档也会越来越多地占据硬盘空间,所以必须进行清理。同时及时给各服务器系统打补丁,升级服务软件、病毒库和防火墙也是必不可少的工作。 随着网络的发展,网络生活的普及,Web主页和服务日益成为了一个部门或企业的网络形象的代言,因此他们扮演的角色也变得越来越重要,服务器的安全性也得要了前所未有的重视。本文所写的内容是笔者在南开大学网络中央工作的实际成果和经验总结,通过长时间的测试运行,实践证实此系统能够很好地完成多Web服务系统备份的各项任务,从而从最大程度上确保了各个重要Web服务的正常运行。 |
喜欢本文,那就收藏到: |