来源:安全中国
8.3.2 Web服务器的安全结构
Web服务器是Internet上直接面向用户的计算机,为目标用户群访问提供信息,Web服务器必须是Internet上的任何接入点都可以访问的。与其他诸如DNS和FTP等公共服务相比,Web服务器对黑客高手更有诱惑力,因为一个成功地侵入一个网站的人可以随意更改主页从而让别人更加意识到他的存在。这些入侵事件能够让一个公司失去客户的信任,尤其是当一些敏感数据被窃取甚至被公开时就更加严重。
如果说用于防止从Internet对内部网络进行攻击的防火墙是最重要的网络安全领域的话,Web服务器应该说是第二个需要高度安全的领域了。
Web服务器安全由几个安全区域组成,为了保证允许条件下的最高度的安全保护,安全必须在每个区域都予以一致的实现。
1.基础设施区
基础设施区域定义服务器在网络中的位置。这个区域必须能够防止数据窃听、网络映射和端口扫描等入侵技术的威胁。而且对一个暴露的Web服务器的成功入侵要能进行跟踪,因为被侵入的服务器可能会用来作为攻击其他重要的服务器的基地(这种方式在DoS攻击中最为常见)。
所有提供Internet服务的服务器都通过一个集中部件保护起来并且位于一个隔离的网络,这个隔离的网络称为非军事区(DMZ)。具有保护功能的组件可能是一个复杂的防火墙或一个简单的路由器(这个路由器配置了具有很强限制的包过滤规则)。因此,只有指定的服务器服务才是允许访问的。一般DMZ会采用一个具有端口安全和报文保护的转换开关,这种方式可以保证DMZ的高度安全。
出于对服务器物理安全的考虑,必须将服务器安装在一个安全的房间里(或数据处理中心),并且所有的电源、电话线和网线等都必须得到物理上的保护。
2.网络协议区
网络通信一般指的都是TCP/IP通信,操作系统内核对通信负责并且保证一个透明的通信流。然而,一些函数或者协议的易受攻击点可能会被用来发起攻击或破坏行为。因此,内核必须经过必要的配置,以便阻挡这些类型的攻击手段。虽然位于服务器前面的防火墙或路由器可以防止很多类型的攻击,但一些Web服务器的设置也必须做一些相应的调整。
防止SYN洪水攻击是很关键的,在所有的操作系统中,Linux提供了一种称为SYNcookies的最有效的解决方案。此外,ICMP重定向和对广播地址的ping操作,以及IP源路由包也应该被拒绝。适用附加的内核过滤函数可以增加安全级别。
3.服务区
服务区定义哪些是需要的服务。通过“如果不是指定需要的全部禁止”的安全策略,服务器上仅仅配置完成必要的操作所必需的服务,否则就会为攻击者提供更多的攻击点。
服务区仅适用可以保证足够安全级的服务:没有充分认证能力的服务(如rexec)或者传输未经过加密的敏感数据的服务(如Telnet、FTP或通过WWW传输信用卡敏感数据)都应该用更安全的相应服务所替代(如SSH、SSLftp或HTTPS)。
4.应用区
为安全起见,每个服务都必须单独配置。一个配置的不好的邮件服务器可能会被用来发送垃圾邮件,配置不好的Web服务器可以执行所有的系统命令。注意,千万不要创建具有高特权的服务(root)。
5.操作系统区
最后的保护机制是操作系统自身的安全。如果应用区的安全方法配置合理的话,即使入侵者成功地进入计算机系统也没有足够的管理权限完成破坏工作。程序的安装,尤其是高特权的程序,应该限制在系统操作的绝对需要范围内。许多高特权的程序可以通过更高级别的认证来限制用户的滥用,因为系统中的标准用户账号根本不需要使用这些程序。但这还远远不够,万一攻击者成功地进入计算机系统,应该存在一个检测入侵的机制,这被称为基于主机的入侵检测。当然,最好还要能够监视和记录系统中的文件操作,以便了解入侵者的真正意图。也不能忽视经常性地备份,并且不要丢弃旧的备份文件。这种做法不仅可以用来配置备份服务器和避免数据丢失,它还可以用来跟踪系统中文件的操作情况。
Internet需要配置一台自己的Web服务器时,如果没有自己的安全基础设施,应该在Web服务器前面放一台配置了相应过滤规则的路由器。这台Web服务器仅仅提供WWW和HTTPS服务,当然它也需要具有远程控制特性。另外,这台Web服务器最好还能够发送邮件。Linux服务器和网页是由三个不同的管理员维护的,所有的管理操作都应该保证在以后进行日志分析时容易理解。
