web|web服务|web服务器|安全
WEB服务器是Internet上最暴露的服务器。为了让客户/目标用户群访问提供的信息,WEB服务器必需是Internet上的任何接入点都可以访问的。与其它诸如DNS和FTP等公共服务相比,WEB对黑客高手更有诱惑力,因为一个成功地侵入一个网站的人可以更改主页从而让别人更加意识到他的存在。这些入侵事件能够让一个公司失去客户的信任,尤其是当一些敏感数据(如信用卡详细信息等)被窃取甚至被公开时就更加严重。
如果说用于防止从Internet对内部网络进行攻击的防火墙是最重要网络安全领域的话,WEB服务器应该说是第二个需要高度安全的领域了。本文的目标就是如何只用45分钟的时间就可以在Linux系统上配置一个安全的WEB服务器。当然,您也可以在其他操作系统上完成同样的事情。下面是基于SuSE Linux 6.4发布的一个例子。
安全区域
服务器安全由几个安全区域组成,为了保证允许条件下的最高度的安全保护,安全必需在每个区域都予以一致的实现。
1. 基础设施区
基础设施区域定义服务器在网络中的位置。这个区域必需能够防止数据窃听、网络映射和端口扫描等黑客技术的威胁。而且,可以跟踪对一个暴露的WEB服务器的成功入侵,因为被侵入的服务器可能会用来作为攻击其它重要的服务器的基地(这种方式在DoS攻击中最为常见)。
在这一端,所有提供Internet服务的服务器都通过一个集中部件保护起来并且位于一个隔离的网络是必需的。这个隔离的网络称为非军事区(DMZ)。具有保护功能的组件可能是一个复杂的防火墙或一个简单的路由器(这个路由器配置了具有很强限制的包过滤规则)。因此,仅仅指定的服务器服务才是允许访问的。
一般DMZ会采用一个具有端口安全和报文洪水保护的转换开关,这种方式可以保证DMZ的高度安全。
如果您关心物理安全,那么您必需保证服务器安装在一个安全的房间里(或数据处理中心)并且所有的电源、电话线和网线等都必需得到物理上的保护。
2. 网络协议区
网络通信一般指的都是TCP/IP通信,操作系统内核对通信负责并且保证一个透明的通信流。然而,一些函数或者协议的易受攻击点可能会被用来发起攻击或破坏行为。因此,内核必需经过必要的配置,以便阻挡这些类型的攻击手段。虽然位于服务器前面的防火墙或路由器可以防止很多类型的攻击,但一些WEB服务器的设置也必需做一些相应的调整。
防止SYN洪水攻击是很关键的,在所有的操作系统中,Linux提供了一种称为SYNcookies的最有效解决方案。此外,ICMP重定向和对广播地址的ping操作以及IP源路由包也应该被拒绝。适用附加的内核过滤函数可以增加安全级别。