IIS 6.0 包括各种可确保网站和 FTP 站点内容以及通过站点传输的数据的完整性的安全性功能和技术。IIS 安全功能包括下列与安全有关的任务:身份验证、访问控制、加密、证书和审核。本主题描述值得关注的新安全功能。
要点 为了更好地预防恶意用户和攻击者的攻击,在默认情况下,没有将 IIS 安装到 Microsoft® Windows® Server 2003 家族成员上。而且,当您最初安装 IIS 时,该服务在高度安全和“锁定”模式下安装。在默认情况下,IIS 只为静态内容提供服务 - 即,诸如 ASP、ASP.NET、在服务器端的包含文件、WebDAV 发布和 FrontPage® Server Extensions 功能只有在启用时才工作。如果您在安装 IIS 之后未启用该功能,则 IIS 返回一个 404 错误。您可以为动态内容提供服务,并通过 IIS 管理器中的 Web 服务扩展节点启用这些功能。同样,如果应用程序扩展未在 IIS 中进行映射,则 IIS 返回一个 404 错误。要映射扩展,请参阅设置应用程序映射。有关如何解决 404 错误(包括 404.2 和 404.3)、与 IIS 6.0 的新安装相关的问题或从低版本的 IIS 进行升级的详细信息,请参阅疑难解答。
摘要式身份验证允许跨代理服务器和防火墙对用户进行安全和严格的身份验证。另外,匿名身份验证、基本身份验证和集成 Windows 身份验证仍可用。
高级摘要式身份验证对基本身份验证进行了改进,它的凭据通过网络以 MD5 哈希形式发送并像在域控制器的 Active Directory® 中那样存储。该机制使入侵者很难发现用户的密码,且不需要您修改应用程序。
安全套接字层 (SSL) 3.0 和传输层安全 (TLS) 提供了一种在客户端与服务器之间进行信息交换的安全方式。另外,SSL 3.0 和 TLS 还为服务器提供了一种在用户登录服务器之前对客户端进行验证的方法。在 IIS 中,ISAPI 和 Active Server Pages (ASP) 都可以访问客户端证书,以便编程人员可以通过其站点跟踪用户。同时,IIS 还可以将客户端证书映射为 Windows 用户帐户,以便管理员可以根据客户端证书控制对系统资源的访问。
服务器网关加密 (SGC) 是 SSL 的扩充,允许金融机构借助出口版本的 IIS 使用加强 (128 位) 加密。虽然 IIS 中已内置了 SGC 功能,但使用 SGC 时仍然需要特殊的 SGC 证书。
安全套接字层提供了一种在客户端和服务器之间交换信息的安全方法。但是,CPU 必须执行大量的加密运算,从而降低性能。IIS 提供可选的加密服务提供程序 (CSP),允许您选择适合自己需要的加密提供程序。每个加密提供程序都可以创建一个公钥和私钥来加密发送到 Web 服务器和从中发送的数据。私钥存储在服务器的硬件、PCI 卡、智能卡或注册表中 — 因为它是面向 Microsoft 安装的两个默认提供程序的。如果将私钥存储在硬件上,则允许您插入基于硬件的加速卡,加密运算由加速卡(而非由服务器)来执行。可以很方便地从 IIS 管理器中选择使用 Microsoft 或已安装的第三方 CryptoAPI 提供商的提供程序。所有的 CryptoAPI 都实现相同的方法,以便您不必更改代码即可在不同的提供程序之间切换。
要阻止系统攻击者和恶意用户,可配置应用程序池,从而在其中运行的工作进程在具有比“本地系统”更低的权限的帐户下运行。如果您向 Internet 用户提供服务,则可以允许客户上载静态内容和可执行代码。错误代码将不会导致万维网发布服务(WWW 服务)或计算机失败。只有应用程序将失败。
下面的安全向导简化了服务器的管理任务:
您可以分配或拒绝对单个计算机的 Web 访问,以及对计算机组或整个域的 Web 访问。
IIS 与在 Windows Server 2003 家族成员中实现的 Kerberos V5 身份验证协议完全集成,允许您在运行 Windows 的多台连接计算机之间传递身份验证凭据。
IIS 证书存储目前已与 Windows CryptoAPI 存储集成在一起。Windows 证书管理器提供单一入口,允许用户存储、备份和配置服务器证书。