第 8 章 相信交通 信任交通
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
验证和授权网络流是零信任网络的一个重要方面。在本章中,我们将讨论加密如何融入其中、如何通过安全引入 Bootstrap 流量信任,以及这些安全协议在网络中的最佳位置。
零信任并非完全背离我们所知道的一切。传统的网络过滤在零信任网络中仍然发挥着重要作用,尽管其应用是非传统的。我们将在本章末尾探讨过滤在这些网络中的作用。
加密与验证
加密 加密和真实性往往是相辅相成的,但两者的目的却截然不同。加密可确保机密性--保证只有接收方能读取你发送的数据。身份验证使接收者能够确认信息是由其声称的那个人发送的。
身份验证还有一个有趣的特性。为了确保信息的真实性,必须能够验证发件人和信息未被篡改。这被称为完整性,是信息验证的基本属性。
加密可以在没有验证的情况下进行,但这被认为是一种糟糕的安全做法。如果不对发件人进行验证,攻击者就可以随意伪造信息,还可能重放以前的 "好 "信息。攻击者可以更改密文,而接收者却无从知晓。省略身份验证会带来许多问题,因此我们的建议大致相同:使用身份验证。
没有加密的真实性?
信息真实性是零信任网络的既定要求,没有它就不可能建立零信任网络。那么加密呢?
加密带来了保密性,但偶尔也会带来麻烦。如果没有复杂的解密过程,就无法读取数据包捕获内容,那么故障排除就会变得更加困难。如果无法检查网络流量,入侵检测就会变得困难甚至不可能。事实上,有一些合理的理由可以避免加密。
也就是说,如果您选择不使用加密技术,请务必确定您并不关心数据的保密性。虽然保持数据不加密对管理员来说很方便,但如果数据确实需要保密,这种做法是绝对不合法的。例如,考虑一下图 8-1 所示的情况。
图 8-1. 数据中心内和数据中心外的保密同样重要
这是一种极为常见的架构。需要注意的是,它只对某些区域的流量进行加密,其余区域则保持开放(也许是为了系统管理员的利益)。不过,这些数据显然需要保密,因为它们是在站点之间传输时加密的。
这与零信任架构直接矛盾,因为它在网络中建立了特权区。因此,提出不加密流量的充分理由是非常危险的。实际上,真正不需要保密的系统并不多见。
除此之外,还需要进行身份验证。很少有网络协议能提供强大的身份验证而不提供加密,而我们在本书中讨论的所有传输协议都提供身份验证和加密。从这个角度看,加密是 "免费 "获得的,没有什么充分的理由将 排除在外。
Bootstrap 信任:第一个数据包
流量中的第一个数据包往往是一个繁重的数据包。根据连接的类型或设备生命周期的不同阶段,这个数据包的可信度可能非常低。
我们通常知道数据中心内会有哪些流量,但在面向客户的系统中,谁也说不准。这些系统必须具有广泛的可达性,这就大大增加了风险。我们可以使用相互验证的 TLS 等协议,在允许设备访问服务之前对其进行验证;但是,这种情况下的攻击面仍然很大,而且资源也是可以公开发现的。
那么,如何在不回答任何未认证数据包的情况下,只允许信任的连接,而默默地丢弃所有其他连接呢?这就是所谓的第一个数据包问题,可以通过一种称为预验证的方法来缓解(图 8-2)。
预认证可被视为通过设定对认证请求的期望值来授权认证请求。通常的做法是加密和/或签署一小段数据,然后将其作为 ...