使用服务网格提升应用和网络安全
当今的企业在正常进行经营的同时,也在不断地与潜在的黑客和不良行为者进行斗争。安全边界逐渐消失,攻击面不断扩大,新的攻击向量不断出现。再加上持续的疫情、全球冲突,难怪每天新闻里都有漏洞、黑客和攻击等内容。
云原生和微服务等下一代技术已经消除了边界。过去,公司的资产有明确的边界与外界隔开。现在,没有“内部”与“外部”之分;一切都被认为是“外部”。更大的攻击面意味着网络犯罪分子有更多机会。企业又该如何减少攻击面、加强安全态势并降低整体风险?
安全事项
为什么安全是大多数组织的头等大事?表明,对于 83% 的公司而言,“重要的不是是否会发生数据泄露,而是何时——而且这个通常不止会发生一次。” 美国数据泄露造成的损失平均大约 944 万美元。具有前瞻性的企业已实施纵深防御 (DiD) ,这是一种多层网络安全方法,设置了多种防御机制来保护有价值的数据和信息,或零信任,这基本上意味着检查、再次检查,信任作为验证的前提。阐明采用零信任网络安全方法的重要性已有一年,但仅采用了零信任模型。
与此同时,政府机构、财富 500 强公司以及介于两者之间的企业都在努力保护他们的资产——同时与多个团队、多个设备和多个位置进行竞争。现代企业面临的最大挑战之一是准确评估他们必须保护多少实体。请记住,微服务和现代应用程序的组成比传统应用程序复杂得多。一个微服务可能包含 10 个部分,而以传统应用程序只有一个。一旦分解了这些由多部分组成的应用程序和服务,您就必须考虑所有部分如何通过网络进行通信,网络本来就应该是不受信任的。
进入服务网格
随着企业采用,他们正在构建更易于扩展和增加更多业务的新型应用程序和微服务。微服务是指一种软件开发架构方法,其中软件由通过定义明确的 API 进行通信的小型独立服务组成。在此过程中,企业发现这些现代应用程序由更多更改更频繁的“部分”组成
这引入了新的安全风险(以及更大的攻击面)。基本上,网络上有更多的流量,这意味着要跟踪更多的应用程序。这些应用程序也有更多且更频繁的更改。随着云原生的扩展,更多的开发人员和应用程序开发团队也加入进来。这带来了几个问题:网络是否可信?如果有更多的团队为这些应用程序做出贡献,我们如何确保我们能够识别每个人的真实身份?我们如何管理域外的应用程序和服务的安全性?随着事情的变化,我们如何才能继续验证一切?我们如何验证承包商和他们构建的软件?这就是服务网格可以提供帮助的地方。
服务网格为分布式应用程序提供可观察、安全和可靠的网络框架。它在平台层而不是在应用程序层执行此操作。由于云原生应用程序通常由数十个或数百个微服务组成,因此服务之间的通信至关重要,但难以管理。服务网格有效地(安全地)控制网络上的服务到服务通信,并提供应用程序流量监控和管理。企业越依赖微服务来构建软件,它就越能从服务网格中受益。
随着越来越多的企业对微服务进行标准化,越来越多的企业也开始转向服务网格来支持这种架构。事实上,Solo.io 的显示,85% 的公司正在将其应用改为微服务架构。87% 的公司报告使用或评估服务网格来管理日益复杂的应用程序环境。与此同时,Istio 正在逐渐成为服务网格的 Kubernetes,先进的公司几乎以三比一的比例选择基于 Istio 的服务网格。
了解服务网格
服务网格(Service Mesh)是处理服务间通信的基础设施层。它负责构成现代云原生应用程序的复杂服务拓扑来可靠地交付请求。在实践中,Service Mesh 通常以轻量级网络代理阵列的形式实现,这些代理与应用程序代码部署在一起,对应用程序来说无需感知代理的存在。
在服务网格中,请求将通过所在基础架构层中的代理在微服务之间路由。正因如此,构成服务网格的各个代理有时也被称为"sidecar"(挎斗),这是因为它们与每个服务并行运行,而非在内部运行。总之,这些"sidecar"代理(与每项服务分离)构成了网格式网络。
服务网格的特点
Service Mesh 有如下几个特点:
- 应用程序间通信的中间层
- 轻量级网络代理
- 应用程序无感知
- 解耦应用程序的重试/超时、监控、追踪和服务发现
目前两款流行的 Service Mesh 开源软件 Istio 和 Linkerd 都可以直接在 Kubernetes 中集成,其中 Istio 正在逐渐成为服务网格的 Kubernetes。
服务网格作为流量控制
服务网格通过将身份验证和授权转移到公共基础设施层,解决了开发和服务网格有助于在您的服务之间进行身份验证,以确保安全的流量,同时强制执行服务到服务和最终用户到服务的授权。服务网格强制执行基于角色的访问控制 (RBAC) 和基于属性的访问控制 (ABAC)。服务网格可以验证微服务的身份以及运行微服务的资源(服务器)。
服务网格充当网络中的流量控制,使应用程序团队能够专注于构建有利于业务的应用程序,而无需承担保护这些应用程序的额外任务。服务网格为内部和外部流量提供一致的安全策略,并为用户和机器提供灵活的身份验证。它还为用户和机器或应用程序启用加密可信身份验证。加密安全依赖于加密和解密数据以验证用户的密钥。除了在应用程序之间启用加密路径外,服务网格还允许灵活的故障转移和安全日志记录和监控的已知点。
服务网格和零信任
早些时候,我提到了零信任的概念——验证每台设备、每笔交易、每一次。零信任方法对于快速移动的云原生应用程序环境至关重要。许多商业组织和政府机构正在转向服务网格来支持他们的零信任计划。例如,政府机构一直在努力保护高价值资产包括关键基础设施免受黑客、不良行为者和攻击者的侵害。这些攻击者可以是内部的(心怀不满的员工或承包商/供应商违规行为)或外部的(外国民族国家的威胁行为)。没有内部人员或外部人员的区分,除非获得信任,否则每个人都在外面并且不受信任。
服务网格有助于对人员、设备和角色进行身份验证、加密验证和授权。我们还可以使用服务网格来执行策略并识别潜在威胁:如果有人超过特定流量限制或正在与私有数据库“对话”,我们可以快速将其关闭。我们可以决定流量模式应该是什么样子,以及允许谁参与什么的规则。流行且经过行业验证的服务网格可以从第 4 层(设备、连接)到第 7 层(应用程序)、加密身份以及内部流量和外部流量的众所周知的安全模式实现了一致的安全性。Istio 服务网格,由(Cloud Native Computing Foundation),现在是 Kubernetes 环境中的主流。
Service Mesh 是一种主流技术,实施起来相当容易,适用于各个行业的企业。这是一种实现零信任网络安全的有效且高效的方式,理想情况下,可以让您的企业在明天的违规、黑客攻击和威胁面前领先一步。
关于HummerRisk
HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。
Github 地址:https://github.com/HummerRisk/HummerRisk