本节书摘来自异步社区《网络安全体系结构》一书中的第1章,第1.3节,作者【美】Sean Convery,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.3 网络安全催生良好的网络设计
网络安全体系结构
尽管现在已经不常见,但我偶尔还会听到客户对我说:“OK,网络设计这一部分已经完工了,现在咱们得考虑一下网络安全了。我们肯定得要一台防火墙,另外我们也听说IDS具有一些有用的功能。”
用补充安全技术的这种方式设计网络会迫使网络不断进行更新与补充,这会影响网络的性能,这也给其他IT职员维护网络带来负担。虽然从网络设计观点看,“安全通常不是免费的”,但是如果你从开始设计网络时就考虑到安全需求,那么安全性就可以与其他网络基础设施达到平衡的状态。这不仅可以提高网络的安全性,也会提高网络可靠性与可扩展性。
让我们考虑一个十分简单的例子。假设你必须将数据中心、一组用户和一个通过外部连接进行访问的远程公司这三者连接在一起。在不考虑安全的情况下,你的网络设计也许类似于图1-2所示。
这时一个信息安全(information security,INFOSEC)代表过来了,他说:“哇!你怎么能让其他公司直接连接到我们的数据中心呢?我们这里需要一些安全措施。”于是,你赶紧在路由器上添加软件防火墙,使用一系列访问控制列表(ACL)来控制远程公司和数据中心之间的流量。当路由器承担了软件防火墙的额外负担后,它的CPU利用率开始增加。这不但导致远程公司和数据中心之间的性能下降,也影响到用户网络与数据中心之间的性能。因此,在这个示例中,网络安全不仅没有提升网络设计的质量,反而对其产生了不利影响。即使你将来很快使用了线速防火墙并在所有设备上加密,将一个不同的系统添加到这个环境中来也会给操作带来不小的难度。
如果考虑到安全风险,并据此重新设计网络,也许你会得到类似于图1-3所示的网络。
当然,图1-3所示的环境是一种经过了高度简化的模型,但我希望它清楚地表达出了其中的要点。在这个例子中,远程公司与数据中心之间安装了一台独立的防火墙,它更便于IT技术人员进行控制,对网络性能的影响也比较小。最重要的是,它不会影响用户与数据中心之间的通信。
当你深入学习本书时,你将看到安全网络设计方面许多更加复杂的例子。如果你从网络安全与网络互联的角度出发,增加了一些设计中的变量,这还会使设计难度进一步增加。若想通过最简单的方式保证安全策略在组织机构全局具有一致性与可预测性,那么你在网络设计阶段就要把这个网络当作一个整体来考虑。不过,如果你已经不幸继承了一个需要改进安全策略的现成网络,实现起来可就未必是个好差事了。
如果你手上的网络几乎没有部署或者完全没有部署网络安全技术,这时,对它进行网络安全改造的最有效方法是将网络从逻辑上划分成多个功能模块,然后再单独对每个模块进行改进,改进的重点是最薄弱的区域。有些下分出来的小区域有可能要从头进行设计,不要规避这项工作,有些工程师只在安全策略上进行小规模的修修补补,不想执行重新规划IP地址范围之类的艰巨任务。从长远看,一旦你发现小的改动无法胜任安全性方面的要求,那么随之而来的工作量就会更加繁巨。为了引起读者的警觉,这一点我们会在本书中反复论证。
总结一下,在网络设计已经完成之后再考虑网络安全会对网络设计造成不良影响。因此,把网络安全考虑在先可以_提升网络设计的水平。最后,如果网络设计不安全已经既成事实,就应当将其从逻辑上划分成更小的模块,随后从最薄弱的区域开始,一次完善一个区域的安全性设计。