ASP 的最佳安全做法
引言
安全管理的主要目标是保证 SLA 中规定的 ASP 和客户之间的机密性、完整性和可用性的级别。最佳做法可向 ASP 展示如何确保实现安全目标。
Active Directory 的主要安全优势
使用 Active Directory 服务,ASP 可更好地为内部用户和外部客户提供适当的安全性。从根本上说,Active Directory 是 ASP 安全策略和帐户信息的中心位置。
ASP 可用 Active Directory 安全功能来自定义 ASP 的安全策略,保护系统不被非授权访问并避免可能的损失。Active Directory 可提供多方面的安全优势。其中包括:
一次性登录到域
支持标准的 Internet 安全协议
能够将域中用户和对象的管理委派给他人
一次性登录
具有多目录服务的 ASP 中,用户和客户访问不同的网络资源可能需要进行多次登录。Active Directory 通过为资源的访问提供一次性登录而改变了这种不必要的重复。一旦用户登录到域控制器,所有网络资源都会根据这次登录的结果而授权或拒绝访问。一次性登录提供了安全的身份验证,用于加密与网络之间的会话。登录过程通常使用 Kerberos 身份验证协议,我们将在文章的后面讨论该协议。由于在客户或用户登录时,数据安全就已启动,所以一次性登录减小了破坏安全的威胁,因为客户和用户不需要去写多个密码。另外,由于所有的帐户都统一在 Active Directory 中的一个地方,因此可对帐户的管理具有更多的控制。
组策略继承和本地设置
ASP 环境中的 AD 容器有一个层次结构。一些容器可认为是其它容器的“父”容器。组策略具有继承性,即它可以从父容器传递给下面的子容器。当为父容器分配一个“组策略”时,该“组策略”也适用于父容器下面的所有容器。若更改子容器的设置,则可替代父容器传递下来的设置。如果子容器和父容器的“组策略”设置不兼容,则不继承父容器的设置,并且用户只接收子容器的“组策略”设置。
在继承过程中,可以对特定容器进行更改,它会自动影响所有下级容器及其对象。为了便于管理,推荐在高级别的容器(如高级别的文件夹)上定义权限。这样,这些权限将自动传递给该文件夹内的对象。
支持 Internet 标准身份验证协议
Active Directory 服务提供对几种身份验证方法的支持,如 Internet 标准协议 Kerberos、公钥基本结构 (PKI) 以及加密套接字协议层 (SSL) 上的轻型目录访问协议 (LDAP)。对这些协议的支持意味着无论用户是内部连接还是通过 Internet 连接,网络资源都能得到保护。
安全的身份验证和网络协议
Windows 通常使用 Windows NT LAN Manager (NTLM) 协议来进行网络身份验证。ASP 可利用几种增强的身份验证方法和网络协议(如 Internet 标准协议 Kerberos、公钥基本结构、使用 Ipsec 的虚拟专用网络 (VPN)、加密套接字协议层 (SSL))来加强安全性。Windows 2000 提供对这些协议的支持。
Kerberos 身份验证的优点:
快速连接。利用 Kerberos 身份验证,服务器不必转向域控制器。它可通过检查客户提供的凭据来验证客户的身份。客户可一次获得对特定服务器的凭据并在整个 ASP 登录会话中重复使用。
相互身份验证。NTLM 允许服务器验证其客户的身份。它不允许客户验证服务器的身份,也不允许一台服务器验证另一服务器的身份。NTLM 身份验证是为网络环境设计的,假定该环境中的服务器是真实的。Kerberos 协议不做这种假设。网络连接两端的 ASP 和客户可以知道另一端的一方声称是什么人。
委派的身份验证。当代表客户机访问资源时,Windows 服务就模拟成客户机。许多情况下,服务可通过访问本地计算机上的资源为客户机完成其工作。NTLM 和 Kerberos 都可提供服务在本地模拟其客户机时需要的信息。但是,一些分布式的应用程序是这样设计的:当连接到其它计算机上的后端服务时,前端服务必须模拟客户机。Kerberos 协议有一个代理机制,允许当某个服务连接到其它服务时模拟其客户机。
公钥基本结构 (PKI)
公钥基本结构 (PKI) 是新出现的标准,适用于利用数字证书来验证用户的身份。PKI 使用三种技术来提供避免安全破坏的保护:数字信封、数字签名和数字证书。这些技术经常用于 Extranet 和 ASP 解决方案。可使用 PKI 的例子有:
安全电子邮件
基于 PK 的安全电子邮件产品(包括 Microsoft Exchange),依靠 PK 技术完成:
数字签名,用来证明电子邮件的来源和可靠性
没有预先共享密码的大量加密,用以保守通信者之间的机密
操作中,这些系统利用用户的私钥为发出的电子邮件添加数字签名。证书和电子邮件一起发送,这样接收者可验证该签名。S/MIME 为这些证书定义一个配置文件以确保互操作性,并采用一种层次模型来提供可伸缩的信任管理。若要对电子邮件加密,用户可从以前的电子邮件或目录服务中获得接收方的加密证书。一旦验证了该证书,用户就可用所包含的公钥对所用的密钥加密,从而实现对电子邮件的加密。
确认/加密文件系统
Windows 2000 加密文件系统 (EFS) 支持 Windows NT 文件系统 (NTFS) 中在磁盘上存储的文件的透明加密和解密。用户可指定要加密的个别文件或需要对其内容保持加密格式的文件夹。应用程序可以像访问非加密文件一样访问用户的加密文件。但是,它们无法对任何其他用户的加密文件进行解密。
PKI 和 UPN
Windows 2000 PKI 执行一项安全服务,该服务使用证书信息来映射到存储于 Active Directory 中的帐户,以便确定已验证身份的客户的访问权限。该目录操作可根据证书中的用户主要名称 (UPN) 来执行,或通过在目录中搜索与客户证书中的属性、颁发者或颁发者和主题匹配的帐户来执行。如果 UPN 都不匹配,或者颁发者未被授权颁发域身份验证的证书,则用户可以登录。这样,它就增强了登录的安全性。
通过 SSL 的安全 Web
加密套接字协议层 (SSL) 协议依赖于基于 PK 的身份验证技术,并使用基于 PK 的密钥协商来为每个客户端/服务器会话生成唯一的加密密钥。它们最常与基于 Web 的应用程序及 HTTP 协议(称为 HTTPS)相关联。
ASP 可通过使用加密的安全 SSL 通道,利用 SSL 协议进行保密的网络通讯。服务器和客户端针对要使用的加密算法进行协商。它们还协商用于安全通讯的保密的共享会话密钥。如果客户没有有效的受信任的身份验证证书(它可以降低拒绝服务攻击的风险),则 ASP 可用 SSL 来防止(可能的)客户与 ASP 解决方案进行通讯。您还可以用 SSL 协议来保护所有 Web 通讯的通道,以保护机密信息,例如个人信息和信用卡号码。
虚拟专用网络 (VPN)
VPN 技术使用了隧道协议,该协议可使 ASP 在公用 Internet 上建立专用数据网。换句话说,通过“共享管道”进行安全的隧道客户通信,VPN 能使 ASP 降低成本。