(2)禁用服务和。在了解了服务器必须提供的服务后,可以终止其它的服务和。最难的是找出需要那些服务和可以安全终止的服务。对于单纯的Web服务器角色而言(只提供HTTP(s)服务,远程桌面功能只用于管理),可以中止的服务包括:Computer Browser、DHCP Client、Distributed File System、Distributed Link Tracking Client、、Distributed Transaction Coordinator、Error Reporting Service、Help and Support、Print Spooler、Remote Registry、Secondary Logon、Server、TCP/IP NetBIOS Helper、Wireless Configuration、Workstation、Application Management、File Replication、Portable Media Serial Number Service、Remote Access Auto Connection Manager、Remote Access Connection Manager、Remote Desktop Help Session Manager、Resultant Set of Policy Provider、Smart Card、Special Administration Console Helper、Telephony、Upload Manager、Windows Installer、WinHTTP Web Proxy Auto-Discovery Service、File and print sharing、NetBIOS over TCP/IP等。可以看到,默认情况下,操作系统启用了很多服务,而Web服务器不需要这些服务。停止这些服务,那么性能、自由内存和稳定性都可以得到提升,并且服务器更不容易受到攻击。这是考虑最小化服务器中软件和服务的规则的结果。
(3)配置实现包过滤。通过关闭所有不需要的服务,可关闭大多数的开放端口。这可以极大减低服务器的受攻击面。可是,有一些端口不能被关闭,例如TCP/135,它是RPC,Windows操作系统非常依赖这个协议。另外,还有一些其它端口应只针对一部分网络。例如,远程管理和Terminal Services。通常,只允许从局域网、特定的子网或特定的IP地址上进行远程管理,但是不对开放。在面对这种情况时,需要在Web服务器上本地安装一个信息包过滤器,这样能够额外增加一个深度安全防御实体。Windows操作系统有两个内建的信息包过滤器:Windows Firewall和Internet Protocol Security(IPSec)。Windows Firewall的优点是它提供了一个简单的接口来关闭端口,但是,它不限制对外的连接。IPSec可以控制内外通讯,但是设置比较复杂。
(4)配置好Windows文件共享。很少有人知道Windows文件共享传输的数据完全没有保护措施。其默认情况下,数据是没有经过加密或完整性保护。管理人员可以开启内建的、签名机制来进行通信支持,这可以使恶意用户修改网络信息包更加困难,但是,如果使用Windows文件共享协议来传输敏感数据,那么应该进行额外地加密通信。管理人员可以在“本地安全策略”中开启签名。如果还要保密,建议使用IPSec来设置受保护数据的计算机的传输层安全。
(5)启用审核功能。Windows操作系统内建有审核功能。它使操作系统能记录成功的或失败的登陆、策略修改和资源访问。启用审核分为两步。首先,必须启用系统级别的审核,然后,指定要审核的资源。管理人员使用安全配置向导能够自动地实现这两个步骤。另外,操作系统还允许管理人员手动修改配置,管理人员能够在本地安全策略窗口中实现人工配置。
强化数据库服务器安全
多数Web应用程序都涉及数据库,因此,强化数据库服务器的安全性也是非常重要的。除了