应用服务器的常见安全管理漏洞
来源:asp之家 时间:2009-05-28 11:08:00
企业信息化技术的应用,以不可逆转。随着文件服务器、ERP管理软件等等在企业中生根发芽,应用服务器也逐渐在企业中普及起来。以前在企业中有一台应用服务器已经是了不起的事情,现在有两台、三台的,也不为怪了。
但是,企业应用服务器虽然增加了,可是对这个应用服务器的安全管理,却跟不上。随便到一家企业看看,总是可以看到一些明显的安全管理漏洞。下面笔者就把其中一些典型的漏洞列举出来,就当作抛砖引玉,提醒大家注意服务器的安全管理。
一、所有主机可以Telnet到服务器。
由于服务器往往都放在一个特定的空间中,若对于服务器的任何维护工作,如查看服务器的硬盘空间等等,这些工作都需要到服务器上面去查看的话,很明显不是很方便。我们希望能够在我们平时用的电脑上就可以对服务器进行一些日常的维护,而不用跑到存放服务器的房间中去。
所以,我们对于服务器的大部分维护工作,都可以通过Telnet到服务器上,以命令行的方式进行维护。这无疑为我们服务器的管理提供了一个方便的管理渠道,但是,也给服务器带来了一些隐患。
当非法攻击者利用某些特定的方法知道Telent的用户名与密码之后,就可以在企业任何一台主机上畅通无阻的访问服务器。特别是当一些心怀不满的员工,更容易借此发泄自己对企业的不满。以前我有个朋友在一家软件公司中当CIO,有个员工乘管理员不注意的时候,取得了文件服务器的Telent用户名与密码。后来因为其泄露客户的机密信息而被公司警告处分。这个员工心怀不满,就利用窃取过来的用户名与密码,登陆到文件服务器,删除了很多文件。还好,在文件服务器中采取了比较完善的备份制度,才避免了重大的损失。
所以,Telent技术为我们服务器管理提供了比较方便的手段,但是,其安全风险也不容忽视。一般来说,对于Telent技术,我们需要注意以下几个方面。
一是Telent用户名与密码跟服务器的管理员登陆用户名与密码最好不一样。也就是说,在服务器主机上登陆的用户名与密码,与远程Telent到服务器的管理员用户名与密码要不一样。如此的话,可以把用户名与密码泄露对服务器的危害降到最低。
二是最好能够限制Telent到服务器的用户主机。如我们可以在服务器上进行限制,只允许网络管理员的主机才可以远程Telent到服务器上去。这实现起来也比较简单。若是微软服务器系统的话,可以利用其本身自带的安全策略工具实现。或者可以借助防火墙来限制Telent到服务器上的IP地址或者MAC地址。如此的话,即使用户名或者密码泄露,由于有了IP地址或者MAC地址的限制,则其他人仍然无法登陆到服务器上去。如此的话,就可以最大限度的保障只有合法的人员才可以Telent到服务器上进行日常的维护工作。
三是若平时不用Telent到服务器管理的话,则把这个Telent服务关闭掉。没有必要为攻击者留下一个后门。
二、服务器的上的共享文件家所有用户都有访问权限。
在应用服务器上,我们有时会为了维护的方便,会在上面建立几个共享文件夹。但是,若这些共享文件夹管理不当,也会给应用服务器带来比较大的安全隐患。
如若我们某个共享文件夹设置所有用户都可以无限制的进行访问的话,则会出现一个问题,当网络中若有病毒的话,这些文件夹就很容易被感染。当我们在服务器上不小心打开这些共享文件夹的时候,服务器就会感染病毒,甚至会导致服务器当机。
所以,在服务器上设置共享文件夹的时候需要特别的注意,因为服务器崩溃后,对于企业的信息化应用来说,是致命的。一般情况下,不要在应用服务器上设置共享文件夹。若一定要的话,则也需要遵循如下的安全原则。
一是用好以后需要及时把文件加设置为不共享。当我们因为某种需要建立一个临时的共享文件夹时,当我们用完之后,需要及时把这个共享文件夹删除掉,或者改为不共享。及时清理共享文件夹,使保护共享文件夹安全的不二法则。
二是为共享文件夹设置最小权限。平时在设置共享文件夹的时候,我们可能系习惯了不设置访问权限,所以员工都可以不受限制的访问共享文件夹。但是,若在文件服务器上面设置共享文件夹的时候,一定需要注意,在设置共享的时候,就需要设置访问的用户,最好只有特定的用户才可以访问这个共享文件夹,特别是读写权限需要严格控制。有些人可能会以为我只是暂时共享一下,中间不超过十分钟。可是,若网络中有病毒的话,则会自需要一秒钟的时间就可以感染共享文件夹。故在服务器管理的时候,不能够有这种侥幸心理。
三、没有关闭不必要的服务。
在服务器操作系统安装的时候,会装了比较多的服务。如我们在安装文件服务器系统的话,默认情况下,可能会开启WWW服务、Telent服务、DSN服务等等。但是,对于文件服务器来说,这些服务往往是没有必要的。我们在应用服务器上开启了这些不必要的服务,不但会占用可贵的硬件资源,而且,最重要的是,会降低文件服务器的安全性。
所以,笔者建议,在服务器管理的时候,把一些没有必要的服务关闭掉。
若采用的是微软的服务器操作系统,我们可以通过开始、设置、控制面板、管理工具、服务来查看当前操作系统所开启的服务。如一般情况下,我们可以把如下的一些服务关闭掉。
一是DHCP客户端。由于应用服务器我们一般都采用固定的IP地址,所以可以把这个DHCP客户端关闭掉,禁止服务器从DHCP服务器那边获取IP地址。这可以有效的防治IP地址的冲突,从而造成服务器断网。
二是要注意Ping 攻击。利用Ping命令来对应用服务器实施拒绝服务式攻击是很多攻击者常用的一个手段。其基本原理就是利用肉鸡同时连续的Ping应用服务器,从而导致应用服务器资源耗竭而当机。所以,一般情况下,需要在文件服务器上,设置“禁止他人Ping自己”,如此的话,就可以杜绝DDOS等恶性攻击。
三是可以关闭Remote Desktop Help Session Manager服务。这个服务主要用来管理并控制远程协助。如果此服务被终止的话,远程协助将不可用。若我们平时不用远程桌面连接等工具远程维护这个应用服务器的话,则可以直接把这个服务关闭掉。默认情况下,这个服务需要手工启动。我们为了安全起见,可以把这个服务禁用。
三是自动更新服务。这是一个有争议的服务。若启用了这个服务的话,则应用服务器操作系统可以自动从网络上升级最新的操作系统补丁,提高操作系统的安全性。但是,有时候当装了微软的升级补丁后,服务器反而不稳定了,有时候甚至导致部属在上面的应用服务器无法使用。故笔者的建议是,若你在应用服务器上部属的都是微软的产品,如微软的邮箱服务器等等,则可以打开这个自动更新服务。若你在他们的服务器操作系统上,部署了其他牌子的邮箱服务器,或者部署了一些其他牌子的数据库系统的话,则是否开启这个自动更新服务,则要慎重考虑了。
四、不同管理人员利用同一个账户管理服务器。
有时候,在一个服务器上可能会部署多个应用,如在一台应用服务器中,可能既是邮箱服务器,又是文件服务器。而不同的应用有不同的管理员负责。有些企业为了管理的方便,可能会利用同一个用户名来管理不同的服务。笔者认为,这是不安全的。
当某个管理员在一个应用服务管理的时候,有可能会不小心更改另外一个服务的配置,而此时,另外一个管理员并不知情。如此的话,就可能会导致另外一个服务出现运行上的错误。所以,这就会给服务器管理产生安全上的漏洞。
为此,笔者建议,最好是一个服务采用一台服务器,虽然这需要增加一定的支出,但是,一台服务器出现问题的话,最多只影响一个应用,可以把因为服务器的问题造成的不良影响降至到最低。
若出于成本的限制的话,确实需要在不同的服务器中部署不同的服务的话,则最好在安装服务的时候,就先建立不同的管理员帐户,然后利用对应的帐户登陆再部署相关的服务。如此的话,就可以最大限度的减少管理员之间的相互干扰。即使是同一个管理员管理不同的服务,最好也是建立不同的帐户为妙。