Hi!这里是Tungsten Fabric架构解析内容的最后一篇,介绍TF基于应用程序的安全策略。
Tungsten Fabric架构解析系列文章,由TF中文社区为你呈现,旨在帮助初入TF社区的朋友答疑解惑。我们将系统介绍TF有哪些特点、如何运作、如何收集/分析/部署、如何编排、如何连接到物理网络等话题。
常规防火墙策略包含基于单个IP地址或子网范围的规则。在任何规模的数据中心中,这都会导致防火墙规则的激增,这些规则在创建时难以管理,在故障排除时也难以理解。
这是因为服务器或VM的IP地址与应用程序、应用程序所有者、位置或任何其他属性无关。例如,考虑一个拥有两个数据中心并在开发和生产中部署三层应用程序的企业,如下图所示。
在该企业中,要求每层应用程序的每个实例只能与同一实例中的下一层实例通信。如图所示,这需要针对每个应用程序实例的单独的策略。
在解决问题时,管理员必须知道IP地址和应用程序实例之间的关系,并且每次部署新实例时,都必须编写新的防火墙规则。
应用标签
Tungsten Fabric控制器支持基于标签的安全策略,可应用于项目、网络、vRouters、VM和接口。
标签在对象模型中,传播到应用了标签的对象中包含的所有对象,并且在包含层次结构的较低级别应用的标签,优先于在较高级别应用的标签。标签具有名称和值。许多标签名称作为Tungsten Fabric发布版本的一部分。
下表显示了标签类型的典型用途:
如表中所示,除了Tungsten Fabric提供的标签类型之外,用户还可以根据需要创建自己的自定义标签名称,并且有一个_label _type标签,可用于更精细地调整数据流。
创建应用程序策略
应用程序策略包含基于标记值和服务组的规则,这些值是TCP或UDP端口号的集合。
首先,安全管理员为应用程序堆栈分配类型为_application _的标签,并为应用程序的每个软件组件分配类型为_tier _的标签。如下图所示。
在此示例中,应用程序被标记为FinancePortal _,层被标记为_web,app_和_db。Service组已为进入应用程序堆栈以及每一层之间的流量创建。
然后,安全管理员创建一个名为_Portal-3-Tier _containing规则的应用程序策略,该策略将仅允许所需的流量。
接下来,应用程序策略集与应用程序标记_FinancePortal关联,并包含应用程序策略_Portal-3-Tier。
此时,可以启动应用程序堆栈,并将标签应用于Tungsten Fabric控制器中的各个VM。这会导致控制器计算需要将哪些路由发送到每个vRouter以强制执行应用程序策略集,并将这些路由发送到每个vRouter。
如果每个软件组件都有一个实例,则每个vRouter中的路由表如下:
网络和虚拟机在这里被命名为它们所在的层。实际上,实体名称和层之间的关系通常不会那么简单。
从表中可以看出,路由仅启用应用策略中指定的流量,但此处基于标签的规则已转换为vRouter能够应用的基于网络地址的防火墙规则。
控制部署之间的流量
成功创建应用程序堆栈之后,让我们看一下创建堆栈的另一个部署时会发生什么,如下所示。
原始策略中没有任何内容阻止流量在一个部署中的层之间流动到另一个部署中的层。
可以通过以下方式来修改此行为:使用_deployment _tag标记每个堆栈的每个组件,并在应用程序策略中添加_match _condition来允许流量仅在部署标签匹配时才在层之间流动。
更新后的政策如下所示:
现在,流量符合严格的要求,即流量仅在同一堆栈内的组件之间流动。
更高级的应用程序策略
通过应用不同类型的标签,可以将安全策略应用于多个维度,所有这些都可以在单个策略中应用。
例如,在下图中,单个策略可以根据站点对单个堆栈内的流量进行分段,但允许在站点内共享数据库层。
如果在相同的站点和部署组合中部署了多个堆栈,则可以创建实例名称的自定义标签,并且可以使用实例标签上的匹配条件来创建所需的限制,如下图所示。
Tungsten Fabric中的应用程序策略功能提供了一个非常强大的实施框架,同时可以显着简化策略并减少其数量。
至此,Tungsten Fabric Carbide架构解析系列文章连载完毕,往期回顾——
第一篇:TF主要特点和用例
第二篇:TF怎么运作
第三篇:详解vRouter体系结构
第四篇:TF的服务链
第五篇:vRouter的部署选项
第六篇:TF如何收集、分析、部署?
第七篇:TF如何编排
第八篇:TF支持API一览
第九篇:TF如何连接到物理网络
关于Tungsten Fabric:
Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件。项目的组件包括:SDN控制器,虚拟路由器,分析引擎,北向API的发布,硬件集成功能,云编排软件和广泛的REST API。
关于TF中文社区:
TF中文社区由中国的一群关注和热爱SDN的志愿者自发发起,有技术老鸟,市场老炮,也有行业专家,资深用户。将作为连接社区与中国的桥梁,传播资讯,提交问题,组织活动,联合一切对多云互联网络有兴趣的力量,切实解决云网络建设过程中遇到的问题。