使用 IPSec 锁定解决方案的第一步是完全了解不同系统之间的通信路径,以便建立适当的 IPSec 过滤器。应允许 Web 服务器与 SQL 服务器数据库进行通信;远程访问服务器应允许系统管理员使用虚拟专用网络 (VPN) 访问网络的管理段;管理服务器应授予 VPN 客户端创建 Windows 2000 终端服务客户端会话的权限(以便访问运行于远程计算机桌面上的应用程序)以及访问和复制文件以便在管理服务器上共享的权限;所有系统应允许管理服务器为其专用接口生成管理终端服务会话;最后,所有系统应能够访问管理系统上共享的特定文件。当系统之间所需的连接按每个端口进行映射时,我们便在每一个系统上创建了 IPSec 过滤器。
然后,必须确定处理通信的方法,因为通信是由系统上的过滤器识别的。对于 OpenHack 4,我们定义了四个可以采取的操作(称为“过滤器操作”):
阻止通信。
允许通信。
身份验证和签名 - 使用证书对通信来源进行身份验证,使用数据包签名建立安全性关联。
身份验证、签名和加密 - 使用证书对通信来源进行身份验证,使用加密和数据包签名建立安全性关联。
阻止规则就是丢弃数据包。此规则与“默认拒绝”规则的功能相同,它意味着“如果我们未明确地允许通信,则禁止通信”。允许规则允许通信通过,而无需考虑通信来源。此功能用于允许公开访问 Web 应用程序。
尽管使用证书对通信进行身份验证要求我们从公用的证书颁发机构 (CA) 生成并分发 IPSec 证书,但它却显著增强了系统进行安全通信的能力。值得注意的是,我们使用了一个独立的 CA。授予所有证书后,该 CA 将从网络中删除。如果生产时不再需要此 CA,请务必遵循此方法,因为这是减少解决方案表面区域的另一个好方法。
使用 IPSec 证书能够确保源系统和目标系统的标识,包括访问远程访问服务器的远程系统管理员。通过配置策略以便使用 SHA1 散列对所有传输进行签名,可确保数据包在后端系统之间传递时不会被攻击者成功修改。
我们使用 MD5 加密算法对管理服务器通信进行了加密。使用这种方法,即使攻击者能够破坏一个面向 Internet 系统的安全性,也无法窃取专用网络的通信。这就使得系统管理员能够安全地连接到实时的 Web 站点以进行应用程序更新。
IPSec 使用具有最高优先权的专用规则来处理规则。因此,每个系统最初具有以下两个规则:
阻止所有 IP 通信。
阻止所有 ICMP 通信。