要保护 Web 服务器,必须应用许多配置设置以减少受攻击的服务器漏洞。但是,怎么知道从哪里入手,又怎么知道什么时候着手呢?最好的方法是将您必须采取的防范措施和必须配置的设置按类别进行组织。使用类别使您能够自顶向下系统化地实施保护过程,也可以选择某个特殊的类别然后完成特定的步骤。
配置类别
本单元中的安全方法已经组织为如图 2 中所示的类别。
类别的基本信息如下所示:
修补程序和更新 许多安全威胁是由于广为发布而且众所周知的漏洞所造成的。在许多情况下,当发现一个新的漏洞时,利用此漏洞的代码将在首次成功攻击后几小时内就张贴到 Internet 公告板上。如果您不修补和更新服务器,就相当于为攻击者和恶意的代码提供机会。修补和更新服务器软件是保护 Web 服务器关键的第一步。 | |
服务 对于能够利用服务的特权和能力访问本地 Web 服务器或者其他下游服务器的攻击者而言,服务是主要的漏洞。如果服务对于 Web 服务器的操作并不必要,就不要在您的服务器上运行它。如果服务是必要的,就对其进行保护和维护。考虑监视任何服务以确保可用性。如果您的服务软件不安全,但是又需要此服务,尝试寻找安全的替代方案。 | |
协议 不要使用内在不安全的协议。如果您无法避免使用这些协议,采取适当的措施提供安全的身份验证和通信,例如,通过使用 IPSec 策略。不安全的明文协议的例子有 Telnet、邮局协议 (POP3)、简单邮件传输协议 (SMTP),和文件传输协议 (FTP)。 | |
帐号 帐号能够为计算机授予身份验证的访问权限,而且这些帐号必须进行审核。用户帐号的目的何在呢?它有多大的访问权限?常见帐号可能成为攻击目标吗?服务帐号是否可能被攻击因此必须包含吗?将账号配置为最低特权有助于防止特权提升。删除任何不需要的帐号。用强密码策略减慢蛮力和字典攻击,然后审核和警告登录失败。 | |
文件和目录 使用受限的 NTFS 权限保护所有文件和目录,只允许访问必要的 Windows 服务和用户帐号。使用 Windows 审核,在可疑或者未授权的活动出现时能够检测到。 | |
Shares 如果不需要,删除所有不必要的文件共享(包括默认的管理共享)。用受限的 NTFS 权限保护任何剩下的共享。虽然共享可能并不直接向 Internet 公开,但是防范策略(使用受限和受保护的共享)将减少服务器受攻击所带来的风险。 | |
端口 运行在服务器上的服务侦听特定的端口,以响应传入的请求。定期审核服务器上的端口,以确保 Web 服务器上不存在活动的不安全或者不必要的服务。如果您检测到非管理员打开的一个活动端口,这是未授权访问和安全威胁的可靠标志。 | |
注册表 许多与安全相关的设置存储在注册表中,因此,您必须保护注册表。您可以通过应用受限的 Windows ACL 或者通过阻塞远程注册表管理进行保护。 | |
审核和日志记录 审核是标识入侵者、实施中的攻击和发生攻击的证据最重要的工具。结合使用 Windows 和 IIS 的审核功能,以配置 Web 服务器上的审核。事件和系统日志也有助于解决安全疑难问题。 | |
站点和虚拟目录 站点和虚拟目录直接向 Internet 公开。即使安全的防火墙配置和防御性 ISAPI 筛选器(例如 URLScan,随 IISLockdown 工具发行)能够阻塞对受限配置文件或者程序可执行文件的请求,仍然推荐采取一个纵深防范策略。将站点和虚拟目录移到到非系统分区,并使用 IIS Web 权限进一步限制访问。 | |
脚本映射 删除所有可选文件扩展名的不必要的 IIS 脚本映射,以防止攻击者利用处理这些类型文件的 ISAPI 扩展中的任何错误。未用的扩展映射经常会被忽视,并且存在很大的安全漏洞。 | |
ISAPI 筛选器 攻击者已经成功地利用了 ISAPI 筛选器中的漏洞。从 Web 服务器上删除不必要的 ISAPI 筛选器。 | |
IIS 元数据库 iis 元数据库维护 IIS 配置设置。必须确保与安全相关的设置适当地进行了配置,而且使用加固的 NTFS 权限限制对元数据库文件的访问。 | |
Machine.config machine.config 文件存储应用于 .NET Framework 应用程序(包括 ASP.NET Web 应用程序)的机器级配置设置。修改 Machine.config 中的设置以确保安装在服务器上的任何 ASP.NET 应用程序都应用了安全的默认值。 | |
代码访问安全 限制代码访问安全策略设置以确保从 Internet 或者 intranet 下载的代码没有权限,并因此不允许执行。 |