引言简介

在开始之前,我要感谢我的朋友 JP Cedeno 为我提供了Tetration速成课程,并允许我使用他教给我的内容撰写下几篇博客文章。我也想把这篇博文献给 马特·怀特 几个月前要求的。在这篇博客文章中,我们将介绍Tetration的基础知识。

那么,Tetration有什么作用?如果您阅读Cisco 滴定网站,则说明Tetration通过使用分段启用零信任模型,为多云数据中心提供了整体工作负载保护。让我们退后一步,考虑一下什么是工作负载:工作负载是数据中心或云中提供任何功能的端点或服务器。假设我们有一个由三台服务器组成的网络层。如果其中两台服务器是虚拟机,而其中一台是裸机服务器,则Tetration会将其视为三项工作负载。工作负载可以是虚拟机,裸机服务器,VDI环境等。

为了了解Tetration可以帮助解决的问题,让我们看一下可能是典型应用程序的图。

注意:我已经完全从JP Cedeno手中盗取了这张图纸,并使用了他的真实示例。谢谢,JP!

上图是需要保护的应用程序的示意图。不管您是否了解,阅读本文的大多数人在您的环境中都有类似上图的应用程序。在上述情况下,JP被聘为顾问以确保上述申请的安全并确保其申请的安全性。他的目标是能够保护应用程序和网络的安全,他必须确保所有内容都位于正确的VLAN,子网等中,并正确创建了防火墙规则。这就是发现的过程:

  • Web层中有多少台服务器?没有人确定。它们都是虚拟机,裸机还是混合机?没有人知道。他们只是知道存在某种类型的网络层,因此他们认为可以复制该层,但不确定。

  • 他们确定知道用户(先生用户)通过边缘防火墙进入并访问了HTTP 443上的Web层。

  • 然后,Web层与Oracle和SQL 服务器通信。当被问到为什么两者都使用时,客户不确定使用哪个,不使用哪个。曾经有人说,他们曾经有Oracle,但是升级到了SQL。不幸的是,客户端不确定哪些服务器正在与SQL服务器通信以及哪些服务器正在与Oracle服务器通信,因此它们都维护两者。不幸的是,这种信息的缺乏使编写防火墙规则变得更加困难,而又不知道应该与哪些服务器在与打开哪些数据库服务器和打开哪些端口进行通信。一种选择是长时间捕获数据包,然后进行捕获,但这需要一些时间。

  • 然后,由于人们通过身份验证进入了Web和应用程序层,因此客户端具有Active Directory依赖性。 JP需要知道他们有一个或多个服务器需要进行身份验证?他们被复制了吗?他们是一样的吗?他们都运行相同的进程吗?与基于功能的端口相比,防火墙需要打开哪些端口才能使应用程序正常工作?他们真的在使用这些功能吗?如果他们不使用功能,则不需要打开端口,但不确定是否正在使用它们或将要使用它们。那么,客户可以做什么?通常,客户会因为不确定和不希望应用程序无法使用而将所有内容都打开。

  • JP还知道SQL和Oracle服务器将需要访问NFS以及需要访问数据源的服务器,但是客户端不确定什么端口,什么源,有多少服务器等,因此又有太多东西敞开。

  • 因此,一旦User先生越过该边缘防火墙,他将获得太多的访问权限,因为在此客户端环境中有太多东西是敞开的,并且他们不想锁定它,因为有太多的变量,他们不确定。如果User先生破坏了网络层,他可能会去他想去的任何地方,并且如果一切都保持开放状态,没有太多阻止他直接与Oracle或SQL 服务器进行对话的机会

不幸的是,这不是罕见的情况,并且在典型环境中都太熟悉了。仅查看所有内容,这张地图上就遗漏了很多东西,这只是数据中心中数千个应用程序中的一个。因此,当您的客户或团队打电话给您寻求帮助来保护应用程序安全时,如果无法立即获得这些详细信息,该如何帮助他们?除了安全性之外,如果您不知道在哪里查找该拥塞的位置,那么在出现问题时,我们如何开始对该应用程序进行故障排除并寻找网络拥塞?

滴定有什么用?

  • 工作负载发现-帮助您发现工作负载依赖性,同时使应用程序“混合云就绪”。本质上,Tetration提供了自动发现应用程序映射的能力,并允许我们收集信息,包括但不限于:

    • 服务器响应时间(SRT)

    • TCP重置并重新传输

    • 窗口大小-这有助于我们查看问题是应用程序还是网络

    • TCP性能-让我们看看流量从数据中心的A点到达B点需要多长时间

    • 主机名

    • 接口信息

    • 进程-让我们看到服务器上打开并运行的每个进程,并能够基于该进程创建策略。例如,可以编写一个策略来阻止任何运行Docker的服务器访问Internet或园区。如果看到了该过程,则Tetration的政策可以阻止此类交流。

    • 用户信息-可以看到谁登录的用户ID,登录失败,用户在登录时启动的进程,特权升级等。例如,如果一个用户以KatMac身份登录,则将其特权升级为root,然后执行5命令,Tetration将看到所有这些。 滴定可以提供用户登录该服务器后所做的所有事情的完整取证报告。然后,管理员可以在Tetration中为特定事件以及特权升级创建警报。

    • 软件清单&CVE漏洞-Tetration可以识别已安装软件包中的严重漏洞,并制定相关的策略。 滴定可以基于该漏洞自动阻止资源访问互联网或数据中心中的其他资源。如果存在漏洞,Tetration可以立即更改或阻止访问,并且一旦该漏洞消失,服务器即可自动再次获得访问权限。”

    • 以及更多

    有了以上所有信息,Tetration开始将流分割在一起,以查看服务器1可能正在与服务器2和3以及数据中心中的所有流进行通信。实际流可能是大量数据,但是发送到Tetration的仅仅是元数据。 滴定集群需要进行所有艰苦的工作,以将它们放在一起并进行映射。

    注意:AppDynamic和Tetration使用“应用程序依赖关系映射”的相同助记符,但每种产品提供的内容不同。在AppDynamic中,它只是第7层应用程序。也就是说,“我有一个与网络服务器通信的应用服务器,这是介于两者之间的确切查询。”它仅关注第7层可见性。在Tetration中,应用程序依存关系映射包括数据中心中的所有依存服务。例如,“我有一个应用服务器,不仅与Web服务器进行通信,而且还对Active Directory群集执行身份验证,这是该AD群集中的5台服务器。”如您所愿,滴定可以是颗粒状的,也可以是高级的。

  • 工作负载保护-通过便携式策略帮助保护工作负载,该策略适用于任何云,任何数据中心和任何操作系统。在Tetration发现所有应用程序以及这些应用程序与之通信之后,它将映射该应用程序使用长达一年的端口和协议。然后,Tetration将获取该信息并自动生成白名单策略。创建这些策略后,管理员可以对其进行分析和编辑。 滴定甚至可以在部署策略之前对其进行测试。这些策略本身是通过主机防火墙或iptables实施的。如果您想将规则和策略导入到可以吸收规则的另一个平台(如防火墙)中,Tetration还可以将规则和策略导出到JSON,YAML,XML等中。从ACI 3.1开始,Tetration还可以驱动ACI配置,这意味着在Tetration中创建白名单时,可以将其发布到ACI。然后,ACI将摄取该策略并更新端点组的合同。简而言之,Tetration将规划数据中心,并向ACI提供实施所需的所有策略。

  • 工作负载保证-Tetration使您能够在部署安全策略之前分析安全策略并确保策略合规性。在Tetration创建白名单规则之后,可以通过后保证来运行它并确保合规性。如果Tetration正在执行该政策,它将不允许流量发送,但仍可以警告管理人员是否尝试了该行为。 滴定知道它在集群中执行的策略,如果发现映射表之外有其他行为,它可以立即向某人发出警报。

  • 网络洞察力-Tetration具有历史参考,实时提供每个工作负载的性能洞察力。使用Tetration,它可以在群集中的任何位置进行流搜索,从而可以显示一台服务器可能与另一台服务器进行通信的位置,它可能使用的所有端口和协议,并针对这些流运行报告。如果已部署ACI,则Tetration可以进行逐跳拓扑。滴定会抽出那些叶子和脊椎。使用该拓扑,可以显示一台服务器可能与另一台服务器进行通信的位置以及该流量如何在拓扑中移动。

滴定如何收集数据?

有很多方法,包括:

  • 软件传感器-安装在端点上。强烈建议这样做,并在过程级别提供大量可见性。使用这些软件传感器,工作负载是在公共云中还是在本地本地数据中心中都没有关系。这将捕获服务器本身的所有活动,包括东西向流量。它在服务器本身上的占用空间非常小(服务器利用率不到3%),并且支持裸机服务器,虚拟机和容器。

  • ERSPAN传感器-用于来自不存在软件和硬件传感器的网络部分的丰富遥测数据。

  • 网络流传感器-用于来自不存在软件和硬件传感器的网络部分的丰富遥测数据。

  • 硬件传感器-交换机ASIC(Nexus 9000s)内的线速遥测

  • AnyConnect NVM代理传感器-端点设备(如笔记本电脑,台式机等)的遥测

就Tetration本身而言,它可以作为大型Tetration硬件群集,小型Tetration硬件群集,虚拟形状群集安装,也可以作为SaaS部署。

我希望这篇文章能概述Tetration的一些优点,它要解决的问题,从何处获取数据以及如何部署。在接下来的几篇文章中,我将深入研究Tetration UI,并进行一些配置以显示其一些功能。