略论网站服务器安全维护技巧

时间:2022-06-10 05:53:00

略论网站服务器安全维护技巧

服务器的维护至关重要,稍有闪失即会使整个网络瘫痪。目前,恶意网络攻击行为包括两类:一是恶意攻击,如拒绝服务攻击、网络病毒等,消耗大量服务器资源,影响服务器运行速度和正常工作,甚至使服务器所在网络瘫痪;二是恶意入侵,导致服务器敏感信息泄露,入侵者更可所欲为肆意破坏服务器。要保障网络服务器安全就要尽量使网络服务器避免受这两种行为影响。本文以基于Windows2003操作系统服务器为例,介绍一些网站服务器安全维护技巧。

1.转换角色,模拟可能的攻击

多数时候,我们若只是站在网站维护员位置上看问题,可能很难发觉网站服务器漏洞。相反,维护员把自身当作可能攻击者,从角色出发,揣测他们可能会运用哪些手段对哪些网站服务器漏洞进行攻击,或许可发现网站服务器可能存在的安全漏洞,从而先行一步,修补漏洞,避免被木马或者病毒攻击,防患于未然。

从外网访问自身网站服务器,执行完整检测,然后模拟攻击自身站点,看会有什么结果。这对网站安全性来说,无疑是很好的检测方法。自己充当攻击者,运用适当扫描工具对网站服务器执行扫描,有些东西日常可能不重视,但运用黑客常用工具执行扫描,就会发觉一些可能会被他们调用的服务或漏洞。如在网站服务器安装时,操作系统会默认安装并启动一些不需要的服务,或在服务器配置时,需启动一些服务,但事后未及时关上,从而给不法攻击者留下攻击机会。常见的如SNMP服务(基本网络维护协议),服务在系统安装完毕后默认开启。但服务可为攻击者提供服务器系统详细信息,如网站服务器采用什么操作系统,开启什么服务与对应端口等重要信息,攻击者只要清楚这些基本的信息就能开展攻击。安全维护人员在日常工作中可能不会发觉这个问题,若借助黑客的扫描工具,就能发现问题所在。因此,在必要时候可换个角度,从攻击者角度出发,猜测他们会采用什么攻击手段,防止当局者迷。

2.合理的权限维护

大多时候,一台服务器不仅运行网站应用,还会运行诸如FTP服务器和流媒体服务器之类的网络服务。在同一台服务器上使用多种网络服务可能造成服务间相互感染。也就是说,攻击者只要攻击一种服务,就可运用相关技能攻陷其他使用。因为攻击者只需攻破其中一种服务,就可运用这个服务平台从内部攻击其他服务,通常来说,从内部执行攻击要比外部执行攻击方便得多。

或许有人会说,不同的服务采用不同服务器就可以了。当然可以,但这样浪费很大,因为从性能上讲,在服务器上同时部署Web服务与FTP服务及流媒体服务的话,是完全可行的。为此,从成本考虑,我们使用一个服务器同时运行三种服务:一个是传统的网站服务;二是FTP服务;三是流媒体服务,因为该服务是mms模式的,互联网上也可以直接访问流媒体服务器,所以也就部署同一台服务器上。由于选用的服务器配置比较高,所以,运行这三个服务没有太大问题,性能也不会受到影响。但是这给网站安全维护者出了一个难题:两种、甚至两种以上的服务同时部署在一台服务器上,怎么才能保障安全、防止彼此相互感染呢?

通常采用文件系统是FAT或者FAT32。NTFS是微软WindowsNT内核系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。在NTFS文件系统里可为任何一个磁盘分区单独设置访问权限,把敏感和服务信息分别放在不同磁盘分区。这样,即使黑客通过某些方法获得服务文件所在磁盘分区访问权限,还需想方设法突破系统安全设置才能进一步访问保存在其他磁盘上的敏感信息。我们采用Windows2003服务器,为实现这个安全需求,把服务器中所有硬盘转换为NTFS分区。通常来说,NTFS分区比FAT分区安全性高。运用NTFS分区自带功能,合理为它们分配相关权限。如为这三个服务配置不同维护员账户,不同账户只能对特定分区与目录执行访问。如此一来,即使某个维护员账户失窃,攻击者也只能访问某个服务存储空间,而不能访问其他服务的。例如把网站服务装在分区D,而把FTP服务放在分区E。若FTP账户信息泄露而被攻击,但因FTP账户没有对分区D具读写权利,所以,不会对网站服务器上的内容执行任何读写操作。这样可保障即使黑客攻陷FTP服务器后,也不会对网站服务器产生不良影响。

此外,依员工上班时间来限定使用者登录网络权限也是不错的方法。例如,上白天班员工不该有权限在三更半夜登录网络。

3.脚本安全维护

实际工作中,许多网站服务器因为被攻击而瘫痪都是由于不良的脚本造成的。攻击者特别喜欢针对CGI程序或者PHP脚本实施攻击。

通常来说,使用网站需要传递一些必要的参数,才能够正常访问。这个参数可以分为两类,一个是值得信任的参数,另外一类是不值得信任的参数。某单位是自身维护网站服务器,而不是托管,把服务器放置在单位防火墙内部,以提高网站服务器安全性。所以一般来说,来自防火墙内部的参数都是可靠的,值得信任的,而来自外部的参数基本上是不值得信任的。但是,并不是说不值得信任的参数或者来自防火墙外部的参数网站服务器都不采用,而是说,在网站服务器设计的时候,需要格外留心,采用这些不值得信任的参数的时候需要执行检验,看其是否正当,而不能向来自网站内部的参数那样照收不误。这会给网站服务器的安全带来隐患,例如,攻击者运用TELNET连接到80端口,就可以向CGL脚本传递不安全的参数。所以,在CGI程序编写或者PHP脚本编辑的时候,我们要留心,不能让其随便接受陌生人的参数。在接受参数之前,要先检验提供参数的人或者参数本身的正当性。在程序或者脚本编写的时候,可以预先参加一些判断条件。当服务器认为提供的参数不准确的时候,及时通知维护员。这也可以帮助我们尽早发觉可能存在的攻击者,并及时采取相应的防御措施。

4.做好系统备份

常言道,“有备无患”,虽然大家都不希望系统突然遭到破坏,但是做好准备是必须的。作好服务器系统备份,万一遭破坏的时候也可以及时恢复。

5.安装软件防火墙、杀毒软件

虽然我们已经有了一套硬件的防御系统,但是多一些保障会更好。关于防火墙、杀毒软件的论述已经很多,这里不再赘述。

6.开启事件日志

开启日志服务虽然对阻止黑客的入侵并没有直接的作用,但是它可以记录黑客的行踪,维护员可以分析入侵者在系统上做过什么手脚,在系统上留了哪些后门,给系统造成了哪些破坏及隐患,服务器到底还存在哪些安全漏洞等,以便有针对性地实施维护。