云原生时代,你的 Kubernetes 应用安全是否还需要 VPC 来保证?

2024-02-28 07:20

本文主要是介绍云原生时代,你的 Kubernetes 应用安全是否还需要 VPC 来保证?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

9b5617e2d01f9b2f557a2ee0c3511f58.png

本文翻译自 2020 年的一篇英文文章 DO I REALLY NEED A VPC?[1]

由于译者水平有限,本文不免存在遗漏或错误之处。如有疑问,请查阅原文。

以下是译文。



从安全的角度来说,VPC 非但不是一种超能力,反而是另一层责任(another layer of responsibility)。

准备在 AWS 上部署应用?那你需要一个 VPC[2]:这种虚拟私有网络(virtual private network)能够保护你的应用免受来自公网的攻击, 就像它们部署在老式数据中心一样。这是“虚拟机为王” —— 即所谓 的 Cloud 1.0 (IaaS 浪潮) —— 时代的指导哲学

但如今,当我在云上构建新应用或与同行交流类似主题时,我们通常都不会提到 “VPC”。这 是因为,人们越来越倾向于将云原生应用(cloud-native applications)直接部署在更 高层的托管服务之上 —— 例如 Lambda、API Gateway 和 DynamoDB —— 这些服务通过 API 与彼此进行通信。在 AWS 上,这种情况下的最佳实践是 使用 IAM[3] 做认证和鉴权,以保障微服务间的通信安全。

如果需要将公有云和私有数据中心打通,那 VPC 是不可或缺的。但**现代云原生应用 的安全,真的还需要 VPC 扮演关键角色吗?**在给出我自己的答案之前,我先陈述几位业 内专家的观点。

1. 需求分析:VPC 是可选还是必需?

也许此刻你正在与安全团队一起,评估你们为本地部署的应用(on-prem applications )设计的云原生方案【译者注 1】。你们的评估方式是:对照一个清单(checklist),逐 一检查方案是否满足其中列出的要求,满足的就打对勾(checking the box)。我们来听听 PurpleBox Security 公司的 Nihat Guven 对此怎么说:“安全(security)与合规 (compliance)在其中同样重要,二者互相追赶(playing catch-up)”。但是,相比 于真正去思考 VPC 能否提供安全优势、能提供哪些安全优势,“大家更多地将精力放在了 合规方面,即 —— 遵循既有标准,只要清单上列出了(例如,VPC),我们就做”。

【译者注 1】

On-premises 表示部署在私有数据中心。这个词来源于单词 “premises”,注意这是一个 独立的单词,并不是 “premise”(“前提、假设”)的复数形式(虽然 “premise” 的复数也 是“premises”)。单词 “premises” 表示“(企业、机构的)营业场所”,由此引申出两个 早期术语:

  • on-premises:本地机房

  • off-premises:非本地机房

到了云计算时代,公有云显然就是 off-premises 模式(不过没人这么叫);与此相 对应,on-premises 指没有部署在公有云上的,一般就是公司自己的数据中心,不管是自建的 还是租赁的,也不管是自维护的还是托管的。On-premises 或 on-premises deployment 现在一般翻译为“本地部署”,虽然“本地”一词通常让人首先想到的是 “local”。

另一位 AWS hero Teri Radichel(即将出版的 *Cloud Security for Executives* 一 书的作者)赞同这样一种观点:VPC 并没有什么神奇之处。“VPC 实际上并没有做任何 事情”,她指出。“你真正需要的是一个包含 NACL、子网和安全组的合理网络架构。你 需要知道如何构建这样的架构,然后才能针对攻击做好监控。此外,你还要理解网络的各个 分层、攻击的种类,以及攻击者是如何渗透网络的。”

这引出了问题的关键所在:基于 IAM 的安全方案,其暴露面已经是理论上最小的;而为应 用添加 VPC 这件事情,最终都会变成在这个最小暴露面之外,再加额外的防护层( adding layers of security to the theoretical minimum imposed by IAM)。所以你 引入 VPC 并不是为了解决某个问题,而是为了 —— 例如,增加额外的保护层防止数据渗透( data exfiltration),或者能够对流量模式进行更细粒度的分析。

以上例子都说明,很多时候 VPC 只是可选项,而非必需。遗憾的是,很多工程师并没有理 解到这一层。

2. 利弊权衡:额外的责任而非超能力

从安全的角度来说,VPC 非但不是一种超能力(superpower),反而是额外的责任 (additional responsibility)

“如果没有业务需求 —— 例如与私有数据中心互联 —— 那最好不要引入 VPC”,否则,“由 于 VPC 而引入的额外复杂性对安全配置来说非但无益,反而有害”。– Don Magee,前 AWS 安全专家

确实,对于安全配置来说,越多并非永远意味着越好(more is not always better) 。如果你连配置 IAM 角色都还没搞熟,那又如何相信你能做好 VPC 安全?如果你连 S3 bucket 的 public 属性都不清楚,那又如何确定你能管好安全组、ACL 以及 VPC 引入的 subnets?

VPC 确实会带来一些额外的网络监控工具,例如 flow logs,但问题又来了:你知道如何高 效地使用这些工具吗?如果不知道,那就是在花大价钱抓数据,但又没有如何分析这些数据 的清晰计划。

另外,并不是说引入了 VPC,它就自动为你的数据提供一层额外的防护。正如 Magee 提醒我们的:“即使在 VPC 内,数据的保护也仅仅 HTTPS 加密 —— 就像你自己用 HTTPS 加 密一样。你觉得这种安全值得信赖吗?”。

3. 云原生安全:模型抽象与安全下沉

云安全太难了!但我显然不是在鼓励大家因此而放弃。相反,正是因为云安全如此困难且重 要(both hard and important),我才建议你不要轻易引入自己的网络控制方案,而 应该尽可能用好平台提供的安全能力

这听起来像是 “serverless” 的套路 —— 事实上,我们确实离此不远了。毕竟,如 AWS Lambda 项目的创始人 Tim Wagner 所乐于指出[4]的,所有 Lambda functions 默认都在 VPC 内运 行 —— 这种 VPC 是 AWS 托管的,因此比大部分人自维护的 VPC 要更安全(我们得 承认这个事实)。

这是目前大的技术趋势。AWS 仍然会维护主机层安全(host-level security),同时也会 提供更上层的服务,例如 AppSync 和 DynamoDB。但我并不是说网络安全在这些领域已经式 微了,而是说越来越多的职责下沉到了云提供商那里。你确实会失去一些控制能力 ,但换来的是 AWS 最佳实践的保驾护航之下,更快的应用构建速度

你可能会说,保护云原生应用的安全其实最后就是:“要么裸奔,要么上云”(letting go and letting cloud)。确实,但这种职责模型转变(paradigm shift)是传统的安全团队才需要关心的[5] ;对于用户来说,只需要用好这种优势,自然就会取得巨大收益。

4344f59db9be99d8b1a7f2db7f786599.png

因此,尝试去建立你的威胁模型,理解你面临的风险,对你的团队进行恰当的培训。做完这 些你可能会发现,你最终还是需要 VPC,但那说明你是真的需要它,而不是为了合规或其 他需求而无脑地引入。

如果有一天,你的云原生蜘蛛侠(cloud-native Spidey)意识开始变得模糊,有一点还请 牢记:有时候,责任越小,能力越大(sometimes, great power comes from less responsibility)。

引用链接

[1]

DO I REALLY NEED A VPC?: https://info.acloud.guru/resources/do-i-really-need-a-vpc

[2]

VPC: https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html

[3]

IAM: https://aws.amazon.com/iam/

[4]

所乐于指出: https://medium.com/@timawagner/not-using-serverless-yet-why-you-need-to-care-about-re-invent-2019s-serverless-launches-c26fa0263d77

[5]

传统的安全团队才需要关心的: https://containerjournal.com/topics/container-ecosystems/comparing-serverless-and-containers-which-is-best/

原文链接:https://arthurchiao.art/blog/do-i-really-need-a-vpc-zh/

本文转载自:「云原生实验室」,原文:https://tinyurl.com/htn44edf,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

cbf4497c56dbf170d1ec70f64ba32cb3.gif

ae0e4115aa0dfcb89658fbb53ae8e342.png

你可能还喜欢

点击下方图片即可阅读

53398fdf7227478e9b4d19f6d2d81176.png

超实用,推荐一款命令行终端网页分享利器

1e48cf2d9c2979427214baa16a752dc0.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

7aa803de29934a0ab353119687c153ec.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

这篇关于云原生时代,你的 Kubernetes 应用安全是否还需要 VPC 来保证?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754774

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

zoj3820(树的直径的应用)

题意:在一颗树上找两个点,使得所有点到选择与其更近的一个点的距离的最大值最小。 思路:如果是选择一个点的话,那么点就是直径的中点。现在考虑两个点的情况,先求树的直径,再把直径最中间的边去掉,再求剩下的两个子树中直径的中点。 代码如下: #include <stdio.h>#include <string.h>#include <algorithm>#include <map>#

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。