服务器的物理安全

服务器运行的物理安全环境是很重要的,很多人忽略了这点。物理环境主要是指服务器托管机房的设施状况,包括通风系统、电源系统、防雷防火系统以及机房的温度、湿度条件等。这些因素会影响到服务器的寿命和所有数据的安全。我不想在这里讨论这些因素,因为在选择IDC时你自己会作出决策。
在这里着重强调的是,有些机房提供专门的机柜存放服务器,而有些机房只提供机架。所谓机柜,就是类似于家里的橱柜那样的铁柜子,前后有门,里面有放服务器的拖架和电源、风扇等,服务器放进去后即把门锁上,只有机房的管理人员才有钥匙打开。而机架就是一个个铁架子,开放式的,服务器上架时只要把它插到拖架里去即可。这两种环境对服务器的物理安全来说有着很大差别,显而易见,放在机柜里的服务器要安全得多。
如果你的服务器放在开放式机架上,那就意味着,任何人都可以接触到这些服务器。别人如果能轻松接触到你的硬件,还有什么安全性可言?以下是几个不安全的事例:
很多Windows服务器采用终端服务进行管理,在一个机架式的机房里,你可以随便把显示器接在哪台服务器上。如果你碰巧遇到某台机器的管理员或使用者正通过终端使用这台机器,那么他的操作你可以一览无余。甚至,你可以把键盘接上去,把他killoff,然后完全控制这台机器。当然,这种事情比较少见,但不意味着不可发生。
另外,很多Unix系统的管理员在离开机房时,没有把root或其他帐号的shell从键盘退出,这样你只要把键盘和显示器接上去,就完全可以获取这个shell的权限。这可比远程攻击获取系统权限容易得太多。我有次在机房时想要一个unixshell临时使用一下,于是我把显示器在旁边机架的几台服务器上接了一下,很快就发现一个没有退出的rootshell,我把键盘接上去,做完我自己的事后,帮他退出了这个shell。如果我是一个不安好心的人,我完全可以在他的服务器里不带任何痕迹的安装一个木马(RootKit)。
某天我看到一个公司的维护人员在机房调试专线时,怀疑是协议转换仪有问题,于是他毫不犹豫的把旁边一个机架上的协议转换仪拔下来,接到他自己的专线上用于调试。被破坏的服务器数据传输会中断几分钟,这对某些公司可能是致命的,而他们的服务器管理人员可能到死也查不出原因!
还有,用一张Linux光盘引导Linux系统,你可以毫无障碍的重新获取主机的root权限;你可以无意中碰动别人的电源,等等,不在这里赘述。所有这些是要说明一点,放在开放机架上的服务器是不安全的。如果你的服务器硬件可以让其他人轻易接触,那么不出事是你的幸运,出事了你也找不到原因或找不到责任人。
而放在密封式机柜里的服务器会安全很多,一般情况下,你的所有服务器放在一起(同一个机柜或者几个机柜)是明智之举,机柜里不要有其他公司的服务器。如果你的服务器只有有限的几台,那么放在机柜里也会安全很多。因为不是任何人都可以打开机柜接触到你的硬件,就算同一个机柜的其他公司的服务器的维护人员有这个机会,但风险也要小得多。而且,就算出事了,你也可以追查到责任人。
有一次我们的服务器因为电源断掉,而中断几个小时,我们根据系统日志很快判断出服务器的down机情况,在追查责任时,我首先想到是IDC机房的维护人员的责任,因为在我们那个机柜里没有其他公司的服务器,别人不会接触到那里面的电源。后来经查实,果然是该IDC的电工在弄电时不小心把我们的服务器电源断掉,他们向我们出具了道歉声明。而如果在一个开放式机架的机房里,碰到这样的情况你无从查起。
如果你的服务器只能放在开放式机架的机房,那么你可以这样做:
1)将电源用胶带绑定在插槽上,这样避免别人无意中碰动你的电源;
2)安装完系统后,重启服务器,在重启的过程中把键盘和鼠标拔掉,这样在系统启动后,普通的键盘和鼠标接上去以后不会起作用(USB鼠标键盘除外)
3)跟机房值班人员搞好关系,不要得罪机房里其他公司的维护人员。这样做后,你的服务器至少会安全一些。
通过以上方法,我们基本就能保证服务器的物理安全了。

本文摘自网络网络安全攻防研究室(www.91ri.org) 网络信息安全小组收集整理.