前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tungsten Fabric基于应用程序的安全策略

Tungsten Fabric基于应用程序的安全策略

原创
作者头像
Tungsten Fabric
修改2020-06-12 09:53:44
7420
修改2020-06-12 09:53:44
举报

常规防火墙策略包含基于单个IP地址或子网范围的规则。在任何规模的数据中心中,这都会导致防火墙规则的激增,这些规则在创建时难以管理,在故障排除时也难以理解。

这是因为服务器或VM的IP地址与应用程序、应用程序所有者、位置或任何其他属性无关。例如,考虑一个拥有两个数据中心并在开发和生产中部署三层应用程序的企业,如下图所示。

在该企业中,要求每层应用程序的每个实例只能与同一实例中的下一层实例通信。如图所示,这需要针对每个应用程序实例的单独的策略。

在解决问题时,管理员必须知道IP地址和应用程序实例之间的关系,并且每次部署新实例时,都必须编写新的防火墙规则。

应用标签

Tungsten Fabric控制器支持基于标签的安全策略,可应用于项目、网络、vRouters、VM和接口。

标签在对象模型中,传播到应用了标签的对象中包含的所有对象,并且在包含层次结构的较低级别应用的标签,优先于在较高级别应用的标签。标签具有名称和值。许多标签名称作为Tungsten Fabric发布版本的一部分。

下表显示了标签类型的典型用途:

标签名称

典型应用

例子

应用

标识一组运行不同类型组合的软件实例的VM,以支持最终用户或其他服务访问的服务。可以对应一个Heat堆栈。

LAMP堆栈,Hadoop集群,一组NTP服务器,Openstack / Tungsten Fabric集群

应用程序堆栈中执行相同功能的一组相同类型的软件实例。可以根据不同堆栈中的性能要求来缩放这种实例的数量。

Apache Web服务器,Oracle数据库服务器,Hadoop从属节点,OpenStack服务容器

部署

表示一组VM的用途。通常适用于堆栈中的所有VM。

开发,测试,生产

站点

表示堆栈的位置,通常是数据中心的粒度。

美国东部,伦敦,内华达州-2

定制化

根据需求创建的新标签

实例名称

标签

可以应用多个标签来提供对堆栈内和堆栈之间的数据流的细粒度控制

客户访问,财务门户,数据库客户端访问

如表中所示,除了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中的路由表如下:

Host

VRF

源地址

目的地址

端口

路由

S1

Net-web

0.0.0.0/0 \ 10.1.1.3/32 \ 10.1.1.3/32

10.1.1.3/32 \ 10.1.2.3/32 \ 0.0.0.0/0

80 \ 8080 \ Any

Interface for VM-web \ NH=S2, Lbl=10 \ Route to Internet

S2

Net-app

10.1.1.3/32110.1.2.3/321010.1.2.3/32

10.1.2.3/32 \ 10.1.3.3/32 \ 10.1.1.3/32

8080 \ 1521, 1630 \ 1521, 1630

Interface for VM-app \ NH=S3, Lbl=12 \ NH=S1, Lbl=5

S2

Net-db

10.1.2.3/3210.1.3.3/32

10.1.3.3/32 \ 10.1.2.3/32

1521, 1630 \ 1521, 1630

Interface for VM-db \ NH=S3, Lbl=12

网络和虚拟机在这里被命名为它们所在的层。实际上,实体名称和层之间的关系通常不会那么简单。

从表中可以看出,路由仅启用应用策略中指定的流量,但此处基于标签的规则已转换为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的志愿者自发发起,有技术老鸟,市场老炮,也有行业专家,资深用户。将作为连接社区与中国的桥梁,传播资讯,提交问题,组织活动,联合一切对多云互联网络有兴趣的力量,切实解决云网络建设过程中遇到的问题。


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应用标签
  • 创建应用程序策略
  • 控制部署之间的流量
  • 更高级的应用程序策略
相关产品与服务
数据库专家服务
数据库专家服务(Database Expert Service,DBexpert)为您提供专业化的数据库服务。仅需提交您的具体问题和需求,即可获得腾讯云数据库专家的专业支持,助您解决各类专业化问题。腾讯云数据库专家服务团队均有10年以上的 DBA 经验,拥有亿级用户产品的数据库管理经验,以及丰富的服务经验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档