使用服务网格提升应用和网络安全

news2024/11/16 8:24:33

当今的企业在正常进行经营的同时,也在不断地与潜在的黑客和不良行为者进行斗争。安全边界逐渐消失,攻击面不断扩大,新的攻击向量不断出现。再加上持续的疫情、全球冲突,难怪每天新闻里都有漏洞、黑客和攻击等内容。

云原生和微服务等下一代技术已经消除了边界。过去,公司的资产有明确的边界与外界隔开。现在,没有“内部”与“外部”之分;一切都被认为是“外部”。更大的攻击面意味着网络犯罪分子有更多机会。企业又该如何减少攻击面、加强安全态势并降低整体风险?

安全事项

为什么安全是大多数组织的头等大事?表明,对于 83% 的公司而言,“重要的不是是否会发生数据泄露,而是何时——而且这个通常不止会发生一次。” 美国数据泄露造成的损失平均大约 944 万美元。具有前瞻性的企业已实施纵深防御 (DiD) ,这是一种多层网络安全方法,设置了多种防御机制来保护有价值的数据和信息,或零信任,这基本上意味着检查、再次检查,信任作为验证的前提。阐明采用零信任网络安全方法的重要性已有一年,但仅采用了零信任模型。

与此同时,政府机构、财富 500 强公司以及介于两者之间的企业都在努力保护他们的资产——同时与多个团队、多个设备和多个位置进行竞争。现代企业面临的最大挑战之一是准确评估他们必须保护多少实体。请记住,微服务和现代应用程序的组成比传统应用程序复杂得多。一个微服务可能包含 10 个部分,而以传统应用程序只有一个。一旦分解了这些由多部分组成的应用程序和服务,您就必须考虑所有部分如何通过网络进行通信,网络本来就应该是不受信任的。

进入服务网格

随着企业采用,他们正在构建更易于扩展和增加更多业务的新型应用程序和微服务。微服务是指一种软件开发架构方法,其中软件由通过定义明确的 API 进行通信的小型独立服务组成。在此过程中,企业发现这些现代应用程序由更多更改更频繁的“部分”组成

这引入了新的安全风险(以及更大的攻击面)。基本上,网络上有更多的流量,这意味着要跟踪更多的应用程序。这些应用程序也有更多且更频繁的更改。随着云原生的扩展,更多的开发人员和应用程序开发团队也加入进来。这带来了几个问题:网络是否可信?如果有更多的团队为这些应用程序做出贡献,我们如何确保我们能够识别每个人的真实身份?我们如何管理域外的应用程序和服务的安全性?随着事情的变化,我们如何才能继续验证一切?我们如何验证承包商和他们构建的软件?这就是服务网格可以提供帮助的地方。

3f6bea6403286fa8735ac5341cb8f5c0.jpeg

服务网格为分布式应用程序提供可观察、安全和可靠的网络框架。它在平台层而不是在应用程序层执行此操作。由于云原生应用程序通常由数十个或数百个微服务组成,因此服务之间的通信至关重要,但难以管理。服务网格有效地(安全地)控制网络上的服务到服务通信,并提供应用程序流量监控和管理。企业越依赖微服务来构建软件,它就越能从服务网格中受益。

随着越来越多的企业对微服务进行标准化,越来越多的企业也开始转向服务网格来支持这种架构。事实上,Solo.io 的显示,85% 的公司正在将其应用改为微服务架构。87% 的公司报告使用或评估服务网格来管理日益复杂的应用程序环境。与此同时,Istio 正在逐渐成为服务网格的 Kubernetes,先进的公司几乎以三比一的比例选择基于 Istio 的服务网格。

了解服务网格

服务网格(Service Mesh)是处理服务间通信的基础设施层。它负责构成现代云原生应用程序的复杂服务拓扑来可靠地交付请求。在实践中,Service Mesh 通常以轻量级网络代理阵列的形式实现,这些代理与应用程序代码部署在一起,对应用程序来说无需感知代理的存在。

在服务网格中,请求将通过所在基础架构层中的代理在微服务之间路由。正因如此,构成服务网格的各个代理有时也被称为"sidecar"(挎斗),这是因为它们与每个服务并行运行,而非在内部运行。总之,这些"sidecar"代理(与每项服务分离)构成了网格式网络。

aa6366a8d8bd636effb5a81dfa5ea353.jpeg

服务网格的特点

Service Mesh 有如下几个特点:

  • 应用程序间通信的中间层
  • 轻量级网络代理
  • 应用程序无感知
  • 解耦应用程序的重试/超时、监控、追踪和服务发现

目前两款流行的 Service Mesh 开源软件 Istio 和 Linkerd 都可以直接在 Kubernetes 中集成,其中 Istio 正在逐渐成为服务网格的 Kubernetes。

9aac5be3b9aa41fba0e5dae57dd066b8.jpeg

服务网格作为流量控制

服务网格通过将身份验证和授权转移到公共基础设施层,解决了开发和服务网格有助于在您的服务之间进行身份验证,以确保安全的流量,同时强制执行服务到服务和最终用户到服务的授权。服务网格强制执行基于角色的访问控制 (RBAC) 和基于属性的访问控制 (ABAC)。服务网格可以验证微服务的身份以及运行微服务的资源(服务器)。

服务网格充当网络中的流量控制,使应用程序团队能够专注于构建有利于业务的应用程序,而无需承担保护这些应用程序的额外任务。服务网格为内部和外部流量提供一致的安全策略,并为用户和机器提供灵活的身份验证。它还为用户和机器或应用程序启用加密可信身份验证。加密安全依赖于加密和解密数据以验证用户的密钥。除了在应用程序之间启用加密路径外,服务网格还允许灵活的故障转移和安全日志记录和监控的已知点。

服务网格和零信任

早些时候,我提到了零信任的概念——验证每台设备、每笔交易、每一次。零信任方法对于快速移动的云原生应用程序环境至关重要。许多商业组织和政府机构正在转向服务网格来支持他们的零信任计划。例如,政府机构一直在努力保护高价值资产包括关键基础设施免受黑客、不良行为者和攻击者的侵害。这些攻击者可以是内部的(心怀不满的员工或承包商/供应商违规行为)或外部的(外国民族国家的威胁行为)。没有内部人员或外部人员的区分,除非获得信任,否则每个人都在外面并且不受信任。

服务网格有助于对人员、设备和角色进行身份验证、加密验证和授权。我们还可以使用服务网格来执行策略并识别潜在威胁:如果有人超过特定流量限制或正在与私有数据库“对话”,我们可以快速将其关闭。我们可以决定流量模式应该是什么样子,以及允许谁参与什么的规则。流行且经过行业验证的服务网格可以从第 4 层(设备、连接)到第 7 层(应用程序)、加密身份以及内部流量和外部流量的众所周知的安全模式实现了一致的安全性。Istio 服务网格,由(Cloud Native Computing Foundation),现在是 Kubernetes 环境中的主流。

Service Mesh 是一种主流技术,实施起来相当容易,适用于各个行业的企业。这是一种实现零信任网络安全的有效且高效的方式,理想情况下,可以让您的企业在明天的违规、黑客攻击和威胁面前领先一步。

关于HummerRisk

HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。

Github 地址:https://github.com/HummerRisk/HummerRisk

Gitee 地址:https://gitee.com/hummercloud/HummerRisk

19dce7793ab491ecd862482008534415.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码平台的七大误解(下)

接上一篇文章“低代码平台的三大误解(上)”,我们继续看看,人们对于低代码平台还有哪些误解。 误解四:低代码应用程序只能解决我的部分问题 无论您构建什么应用程序,它都必须是可以随着业务增长而扩展的可…

Linux应用编程---2.fork()函数

Linux应用编程—2.fork()函数 ​ fork()函数用来创建子进程,函数具体功能与使用方法一起看编程手册。Linux终端命令下输入:man fork,敲击回车键即可打开fork函数详情页。 2.1 fork()函数详情 图1 fork函数详情首先看SYNOPSIS: 图2 fork函数…

一分钟带你上手JS对象的基本用法

前言 相信大家对 JavaScript 中的对象都不陌生,而且我们几乎每天都在使用它,那你对对象的认识有多少呢?本章就带大家一起出浅入深的了解 JavaScript 中的对象。 一、什么是对象? 到底什么是对象呢?大多数人可能都会脱…

生物信息学——基础篇——一至三代测序技术

生物信息学 生物信息学——基础篇——一至三代测序技术 文章目录生物信息学一、一代测序二、二代测序三、三代测序四、总结一、一代测序 概述:一代测序(又称Sanger测序)。 原理:Sanger测序利用一类特殊的核昔酸,即dd…

imx6ull内核添加exfat,并自动开机加载

下载地址:https://github.com/dorimanx/exfat-nofuse.git 方式一,移植到内核,通过内核开启 1、下载exfat源码(将源码目录设置成exfat方便修改),将其放到内核的fs目录下 2、修改fs目录下的Kconfig文件 3、…

Go语言设计与实现 -- GC的简要介绍

GC实现原理 什么是GC? 垃圾回收也称为GC(Garbage Collection),是一种自动内存管理机制 现代高级编程语言管理内存的方式分为两种:自动和手动,像C、C 等编程语言使用手动管理内存的方式,工程师…

OpenHarmony 标准系统 HDF 框架音视频驱动开发

OpenHarmony 标准系统 HDF 框架音视频驱动开发引言OpenHarmony 音频概述HDF 音频驱动框架概述HDF 音频驱动框架分析 —— 音频设备驱动HDF 音频驱动框架分析 —— supportlibs 实现HDF 音频驱动框架分析 —— hdi-passthrough 实现HDF 音频驱动框架分析 —— hdi-binder 实现HD…

从零开始计算机网络——计算机网络课程的了解初步认识计算机网络

目录 🍘计算机网络学科到底学什么? 🧇两个参考模型的介绍 🥪OSI参考模型&TPC参考模型&五层参考模型 🍱 计算机网络学科的重难点——网络协议 🥘如何学好计算机网络课程? 🍣相…

Java使用BigDecimal(公式精确计算)+(精度丢失问题)

一、Java使用BigDecimal公式计算(精确计算) 介绍: 使用BigDecimal加减乘除方法运算,可以使用BigDecimal类提供的add、subtract、multiply、divide方法函数实现。 公式加法计算~add public static void main(String[] args){BigDecimal a BigDecimal.valueOf(5.6);…

动态规划合集

62 斐波那契数列 public class Solution {public int Fibonacci(int n) { return f(n);}public int f(int n){if(n1||n2){return 1;}return f(n-1)f(n-2);} }这种做法时间复杂度O(2^N),空间复杂度是用递归栈,O(n) 改进:用动态规划,可以…

Pytorch优化器全总结(三)牛顿法、BFGS、L-BFGS 含代码

目录 写在前面 一、牛顿法 1.看图理解牛顿法 2.公式推导-三角函数 3.公式推导-二阶泰勒展开 二、BFGS公式推导 三、L-BFGS 四、算法迭代过程 五、代码实现 1.torch.optim.LBFGS说明 2.使用LBFGS优化模型 优化器系列文章列表 Pytorch优化器全总结(一&…

C 程序设计教程(09)—— 数据输出函数(printf)用法详解

C 程序设计教程(09)—— 数据输出函数(printf)用法详解 该专栏主要介绍 C 语言的基本语法,作为《程序设计语言》课程的课件与参考资料,用于《程序设计语言》课程的教学,供入门级用户阅读。 目录…

Python小案例

1、简单的打印输出 age =18 print("我的名字是%s,我的国籍是%s"%("小张","中国")) print("我的年纪是:%d岁"%age) print("www","baidu","com",sep=".") #sep是使用.分割的意思,这个输出是百…

微信小程序开发——小程序的宿主环境API,协同工作和发布

一.小程序API概述 小程序中的 API 是由宿主环境提供的,通过这些丰富的小程序 API ,开发者可以方便的调用微信提供的能力,例如:获取用户信息、本地存储、支付功能等。 二.小程序API的3大分类 a.事件监听AP1 特点:以…

【服务器数据恢复】服务器硬盘掉线的数据库数据恢复案例

服务器数据恢复环境&故障: 某公司服务器,配备24块FC硬盘,两块硬盘出现故障掉线,导致服务器上层的卷无法挂载。 服务器数据恢复过程: 1、查看服务器硬盘状态发现有两块硬盘离线,将服务器内的所有硬盘做好…

【数据结构-JAVA】栈(Stack)和队列(Queue)

栈1.1 栈的概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守先进后出,后进先出的原则(LIFO——Last In First Out&a…

【从零开始学习深度学习】41. 算法优化之RMSProp算法【基于AdaGrad算法的改进】介绍及其Pytorch实现

上一篇文章AdaGrad算法中提到,因为调整学习率时分母上的变量st\boldsymbol{s}_tst​一直在累加按元素平方的小批量随机梯度,所以目标函数自变量每个元素的学习率在迭代过程中一直在降低(或不变)。因此,当学习率在迭代早…

LeetCode 45. 跳跃游戏 II

45. 跳跃游戏 II - 力扣(LeetCode) 解法1:(动态规划 贪心) 果然代码越短,思路越难。这题用的是动态规划贪心的思想。首先分析题意我们可以知道,从索引0这个点开始,我们走一步可以…

redis命令第二弹

1、redis命令-hash类型练习2、redis命令-list类型练习3、redis命令-set类型练习

YOLOV5环境搭建以及训练COCO128数据集

前言记录了自己训练coco128的全过程手把手教你YOLOV5环境搭建以及训练COCO128数据集。相关配置文件在百度网盘中。如果懒得话可以直接全部用我的数据一、准备工作1.1创建环境打开anaconda power shell(最好以管理员身份运行,免得到后面相关文件权限进不去…