Hello folks,我是 Luga,接着上一篇博文,我们继续来解析 Kubectl 安全插件相关内容...
(资料图片)
8、RBAC-tool Plugin
基于角色的访问控制 ( RBAC ) 是一种根据组织内各个用户的角色来调节对计算机或网络资源的访问的方法。RBAC 工具简化了 RBAC 策略的查询和创建。
我们可以使用以下 Krew 命令安装 RBAC 工具,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install rbac-tool
如果我们不熟悉如何将 RBAC 角色分配给不同的 Kubernetes Cluster 组件,那么,可视化命令将会帮助我们生成所有 RBAC 决策的有见地的图表,具体如下:
[leonli@Leon ~ % ]kubectl rbac-tool viz --cluster-context nigel-douglas-cluster
上面的命令使用 kubeconfig 上下文“ nigel-douglas-cluster ”扫描 Kubernetes Cluster。这些图表对于显示分配给服务帐户的权限前后的可视化很有帮助。
除了 RBAC 工具插件提供的“ viz ”之外,还有多个命令可供使用,最有用的是 " who-can " 命令。这表明哪些主体具有 RBAC 权限,可以对对象执行由“VERB”(创建、读取、更新或删除)表示的操作。
通常,我们若要查看某些内容,可以通过名称“ important-secret ”读取密钥资源,那么,我们可以运行以下命令进行:
[leonli@Leon ~ % ]kubectl rbac-tool who-can get secret/important-secret
9、Cilium Plugin
Cilium 是一个网络安全项目,由于其强大的 eBPF 数据平面而越来越受大众欢迎。由于 Kubernetes 在设计时并未考虑任何特定的 CNI(网络)插件,因此尝试通过 Kubectl 管理 Cilium 代理可能性不确定。于是,便有 Cilium 团队发布 Cilium Kubectl 插件以支撑此项功能。
我们可以使用以下 Krew 命令安装 Cilium 插件,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install cilium
作为基本的第一步,我们可以通过以下命令对由 Cilium 网络提供支持的单个 Node 进行连接检查,具体如下:
[leonli@Leon ~ % ]kubectl cilium connectivity test --single-node
这不仅提供了操作的可见性,例如,如果 Cilium 无法与“ Hubble ”等核心组件通信,将会以特定的方式进行可观测性显示。
Hubble 为 Kubernetes 提供网络、服务和安全可观察性。能够快速诊断连接错误,例如“连接被拒绝”,可以提高威胁的整体可见性,并提供维护法规遵从性所需的集中网络事件视图。如果想更深入地研究网络策略,请查阅“如何防止对 Kubernetes 的拒绝服务 (DoS) 攻击”等相关文章。
10、Access-matrix Plugin
Access-matrix,可称为“访问矩阵”(通常称为“Rakkess”)是一个 Kubectl 插件,可显示服务器资源的访问矩阵。
我们可以使用以下 Krew 命令安装 Access-matrix 插件,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install access-matrix
通常情况下,我们只需运行以下命令即可查看“默认”网络命名空间中所有资源的创建、读取、更新和删除 (CRUD) 权限,具体如下:
[leonli@Leon ~ % ]kubectl rakkess –n default
某些角色仅适用于具有特定名称的资源。要查看此类配置,请提供资源名称作为附加参数。例如,显示命名空间 sysdig-agent 中名为 sysdig-controller 的 ConfigMap 的访问权限,具体如下:
[leonli@Leon ~ % ]kubectl access-matrix r cm sysdig-controller -n sysdig-agent --verbs=all
由于 Rakkess 资源需要查询 Roles、ClusterRoles 及其绑定,因此通常需要管理集群访问权限。
11、Rolesum Plugin
Rolesum Kubectl 插件主要用于生成 Kubernetes 集群中定义的角色和权限的摘要。它允许我们查看已在集群中定义的所有角色和权限、已被授予这些角色的用户和组以及总结指定主题(ServiceAccount、用户和组)的 RBAC 角色。
我们可以使用以下 Krew 命令安装 Rolesum 插件,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install rolesum
使用 Rolesum kubectl 插件的一个潜在安全优势是它可以帮助我们识别和理解 Kubernetes Cluster 中定义的角色和权限。这对于确保适当的访问控制已经到位以及识别潜在的漏洞或错误配置很有用。
我们可以汇总绑定到 “nigeldouglas” ServiceAccount 的角色。默认情况下,rolesum 查找服务帐户时,无需指定任何标识符。
[leonli@Leon ~ % ]kubectl rolesum nigeldouglas
另一个潜在的安全优势便是 Rolesum 可以帮助我们快速识别已被授予特定角色或权限的用户和组,这对于解决问题或执行安全评估很有用。
例如,可以汇总绑定到 “staging” 组的角色,具体如下:
[leonli@Leon ~ % ]kubectl rolesum -k Group staging
总的来说,Rolesum Kubectl 插件可以帮助我们了解和管理集群中定义的角色和权限,从而成为提高 Kubernetes 集群安全性。
12、Cert-Manager Plugin
Cert-Manager 是一个 Kubectl 插件,可在集群内自动管理传输层安全 (TLS) 证书。它允许轻松地为我们的应用程序配置、管理和续订 TLS 证书,而无需手动处理证书签名过程。
我们可以使用以下 Krew 命令安装 Cert-Manager 插件,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install cert-manager
使用 Cert-Manager 的一个潜在安全优势是它可以帮助我们确保应用程序使用有效的、最新的 TLS 证书。这对于保护应用程序与其用户之间通信的机密性和完整性非常重要。
另一个潜在的安全优势是 Cert-Manager 可以帮助我们自动化获取和更新 TLS 证书的过程,这可以降低证书过期或管理不善的风险。
总的来说,Cert-Manager Kubectl 插件可以帮助我们以安全和自动化的方式管理 TLS 证书,从而成为提高 Kubernetes Cluster 安全性的有用工具。Cert-Manager 插件松散地基于 Kube-lego 的工作,并借鉴了其他类似项目的一些智慧,例如 Kube-Cert-Manager。
13、Np-viewer Plugin
Kubectl-np-viewer 插件是一个可视化 Kubernetes 集群网络拓扑的工具。它允许我们以图形格式查看集群内 Pod、Services 和其他 Resource 之间的连接。
我们可以使用以下 Krew 命令安装 Np-viewer 插件,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install np-viewer
与我们之前提到的 Cilium 插件不同,Kubectl-np-viewer 插件可以帮助用户理解和可视化集群内的通信模式,而不管使用的是否 CNI 插件。Cilium 插件仅帮助管理 Cilium 资源,例如 Cilium 网络策略。通过查看默认的 Kubernetes 网络策略,开始使用 Kubernetes 网络的团队可以从对潜在漏洞或错误配置的有用可见性中获益,例如与非预期资源通信或暴露在互联网上的 Pod。
若我们想知道影响当前 Namespace 中特定 Pod 的网络策略规则,那么,可以将其打印出来,具体如下:
[leonli@Leon ~ % ]kubectl np-viewer -p pod-name
同样,Kubectl-np-viewer 插件的潜在安全优势是它可以帮助用户解决集群内的网络问题。例如,如果我们遇到 Pod 或服务之间的连接问题,那么,可以使用该插件来可视化这些资源之间的连接,并确定所有网络命名空间中的问题根源。
以下命令打印所有命名空间的所有网络策略规则,具体如下:
[leonli@Leon ~ % ]kubectl np-viewer --all-namespaces
总的来说,Kubectl-np-viewer 插件可以帮助我们了解和监控集群的网络拓扑,从而成为提高 Kubernetes 集群安全性的有用工具。并非所有企业都已转向高级网络策略实施,例如 Calico 和 Cilium。当用户探索 Kubernetes 网络策略实施时,他们可以更好地了解他们的策略如何使用此安全插件控制集群中潜在的有害或恶意流量。
14、Ksniff Plugin
Ksniff Kubectl 插件是一个用于捕获和分析 Kubernetes Cluster 中网络流量的工具。基于此,可用于解决网络问题、监控流量模式和执行安全评估。
我们可以使用以下 Krew 命令安装 Ksniff 插件,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install ksniff
使用 Ksniff 的一个好处是它允许我们捕获和分析流量,而无需直接访问 Kubernetes Cluster 中的 Node。这在我们无法直接访问 Node 的情况下,或者我们希望将捕获流量对集群的潜在影响降至最低的情况下很有用。
另一个优势便是 Ksniff 可用于捕获 Pod 和服务之间的流量,这对于了解应用程序如何在集群内通信很有用。这有助于解决问题、优化性能和识别潜在的安全漏洞。
总的来说,Ksniff Kubectl 插件可以通过帮助识别和解决与网络相关的问题和漏洞来提高 Kubernetes 集群的安全性。它通过使用现有技术(例如 TCPdump 和 WireShark)嗅探 Kubernetes Pod 来实现这一点。
15、Inspektor-Gadget Plugin
Inspektor-Gadget 是最有用的 Kubectl 插件之一。该插件在用户系统中执行,并在集群中部署时作为 DaemonSet 执行。其本质上是一款调试和检查 Kubernetes 资源和应用程序的工具(或小工具)的集合。
我们可以使用以下 Krew 命令安装 Inspektor-Gadget 插件,具体如下所示:
[leonli@Leon ~ % ]kubectl krew install gadget
通常情况下,我们可以部署一个或多个小工具,常见的小工具涉及如下:
(1)建议(为集群生成 seccomp 配置文件和网络策略)
(2)审计(跟踪 seccomp 配置文件发送到审计日志的系统调用)
(3)配置文件(通过分布式延迟分析块 I/O ,通过采样堆栈跟踪分析 CPU 性能)
(4)快照(收集有关正在运行的进程和 TCP/UDP 套接字的信息)
(5)顶部(按文件定期报告块设备 I/O 活动、eBPF 运行时统计信息和读/写活动)
(6)跟踪(跟踪从 DNS 查询/响应到触发进程终止的 OOM kill 的几乎所有活动)
除此之外, Inspektor-Gadget 插件也管理 Kubernetes 集群中 eBPF 程序的打包、部署和执行,包括许多基于 BPF Compiler Collection (BCC) 工具的程序,以及一些专门为在 Inspektor Gadget 中使用而开发的程序。毕竟,借助 Inspektor-Gadget 能够自动将低级内核原语映射到高级 Kubernetes 资源,使查找相关信息变得更加容易和快捷。
若要根据网络跟踪活动“建议” Kubernetes 网络策略,我们可以运行以下命令,具体如下:
[leonli@Leon ~ % ]kubectl gadget advise network-policy report --input ./networktrace.log > network-policy.yaml
若要基于 Pod、Namespace、系统调用和代码“审核” seccomp 配置文件,可以运行以下命令,具体如下:
[leonli@Leon ~ % ]kubectl gadget audit seccomp -o custom-columns=namespace,pod,syscall,code
自定义 Kubectl 插件
当然,除了上述基于 Krew 插件管理器进行封装外,我们也可以使用任何能够用于编写命令行命令的编程语言或脚本进行自定义插件开发。不需要插件安装或预加载,这使得编译这些插件相当简单。
需要注意的是,必须在 PATH 的某处安装插件可执行文件
插件脚本参考如下所示:
#!/bin/bash# optional argument handlingif [[ "$1" == "version" ]]then echo "1.0.0" exit 0fi# optional argument handlingif [[ "$1" == "config" ]]then echo "$KUBECONFIG" exit 0fiecho "I am a plugin named kubectl-sysdig"
有关构建 Kubectl 插件的完整指南,大家若感兴趣的话,可以查看 Kubernetes 官方文档。
Kubectl 插件的有关思考
在撰写这篇博文时, Krew 插件管理器目前已支持 210* 个 Kubectl 插件,并且,这些插件能够应用于所有主流平台(如 MacOS、Linux 和 Windows)等,开发/维护人员都可以访问这些 Kubectl 插件并进行使用。虽然这些插件通常解决了对操作任务和安全审计的默认 Kubectl 实用程序的明显限制,但它们也为我们的 Kubernetes Cluster 打开了一系列新的安全漏洞。
从安全的角度来讲,基于上述所述,我们讨论了最常见、有用的 Kubectl 安全插件,基于这些插件,可以让安全、维护等团队技术人员能够更好地了解 Kubernetes Cluster 中的事件响应和取证。然而,随着我们向环境中添加更多插件,我们也在暴露额外的未经审计的二进制文件,这些二进制文件可能会受到损害。毕竟,Krew 不提供审计这些二进制文件的已知漏洞或不安全配置的义务。
在实际的业务场景中,我们使用 Kubectl 插件时,往往或多或少会存在一些安全隐患,主要涉及如下:
1、插件漏洞:如果 Kubectl 插件存在漏洞,攻击者可能会利用它来访问我们所构建的 Kubernetes Cluster 并对其进行尝试性破坏。
2、不安全的安装:如果插件是从不受信任的来源安装的,它可能包含可能危及集群安全的恶意代码。
3、权限提升:Kubectl 插件以与 Kubectl 命令相同的权限运行,因此如果插件遭到破坏,它可能会被用于提升权限并获得对集群中敏感资源的访问权限。
4、数据泄露:如果 Kubectl 插件没有得到妥善保护,它可能会泄露集群中的敏感数据,从而被不法分子利用。
为了减轻这些风险,重要的是对所构建的插件进行安全扫描,或只安装来自可信来源的 Kubectl 插件,并定期更新和修补已安装的所有关联插件。除此之外,定期检查已安装的插件并删除不再需要的插件也是一个较好的风险规避措施。
当然,如果我们觉得某个特定的插件不会为所构建的 Kubernetes Cluster 产生较高的价值收益,那么,以防万一,删除它也是一种可取的操作。
最后,给大家安利一本云原生安全书籍,如下所示,对于搞这块的朋友来说或许有一定的帮助。
Adiós !
-
一文读懂最佳 Kubectl 安全插件(下)Hellofolks,我是Luga,接着上一篇博文,我们继续来解析Kubectl安全插件相关内容
-
谷爱凌个人资料小百科_谷爱凌个人简介一览15岁的谷爱凌通过个人社交媒体宣布自己正式转为中国国籍,并发文“中国自由式滑雪运动员谷爱凌报到”。下面是小编为大家整理的谷爱凌个人资...
-
吃乌鸡会胖吗 吃乌鸡会不会胖-环球观热点1、适量地吃乌鸡不会胖。如果长期大量的吃乌鸡,就可能会胖。为了身体健康,吃任何的东西都要适量。2、乌鸡是一种动物,通常会作为滋补品来食
-
开发用英语怎么说开发,是指以荒地、矿山、森林、水力等自然资源为对象进行劳动,以达到利用的目的;开拓;发现或发掘人才、技术等供利用。那么你知道开发用英语
-
【世界时快讯】性骚扰的法律责任主要包括一、性骚扰的法律责任主要包括性骚扰的法律责任主要包括停止侵害、恢复名誉、消除影响、赔礼道歉等民事责任。且如果造成一方损失
-
热点!国家乡村振兴局局长:中国没有发生规模性返贫现象中新社北京2月14日电(记者陈溯)中央农村工作领导小组办公室副主任、国家乡村振兴局局长刘焕鑫14日表示,中国没有发生
-
【新视野】夏天去哪里旅游好玩夏天去哪里旅游好玩夏天去哪里游玩最好,夏天去哪里游玩比较凉爽。下面是小编整理的夏天去哪里旅游好玩,希望对你有所帮助!1
-
北信源董秘回复:北信源作为网信办数据安全与移动互联网安全领域的核心支撑单位|每日快报北信源(300352)02月14日在投资者关系平台上答复了投资者关心的问题。
-
内马尔:吵架经常都会发生 到底是谁把它捅给媒体?在巴黎与拜仁的欧冠大战前,巴西球星内马尔出席了赛前发布会,亲口承认了在输给摩纳哥赛后,与总监坎波斯发生了激烈争吵,并对媒体获知这一切
-
天天最新:微信头像图片卡通可爱微信头像图片大全卡通可爱微博、微信、qq、大家都需要一张好看的唯美的`高清图片,大家喜欢怎样风格的头像呢?小编整理了微信
-
成人高考延期至3月4日和5日-重点聚焦株洲日报讯(全媒体记者 谭筱)记者昨从市教育考试院获悉,根据教育部统一安排,2022年湖南省成人高考(延考)考试时间定为3月4日—5日举行。
-
光环新网2月14日快速上涨 世界聚看点以下是光环新网在北京时间2月14日11:01分盘口异动快照:2月14日,光环新网盘中快速上涨,5分钟内涨幅超过2%,截至11点01分,报10 41元,成交3
-
拆迁要做好哪些准备_资讯一、拆迁要做好哪些准备拆迁要做好以下准备:1 房屋拆迁首先相关拆迁文件要齐全。2 房屋拆迁需要有《拆迁许可证》,拆迁公告
-
颖儿付辛博婚后首亮相 新婚夫妇甜蜜养眼付辛博颖儿红毯颖儿付辛博红毯颖儿付辛博上海电影电视节付辛博颖儿上海电影电视节颖儿笑容甜美颖儿长裙仙美颖儿古剑二展映颖儿付辛博互喂小龙
-
如何增强记忆力的方法_怎样才能增强记忆力 观察解答:1、生活。建议在需要记忆的时候,将需要正确记忆的内容重复多次,平时保证睡眠质量,避免作息不规律,比如熬夜。适当运动
-
天天视点!野草莓的功效与作用野草莓的功效与作用,止咳清热:野草莓其味甘、性凉,具有止咳清热、利咽生津的功效,健脾和胃:野草莓本属于草本植物,叶可连同其他药用植物
-
Spring事务管理报错Transaction rolled back because it has been marked as rollback-only 全球看热讯事务是我们平时项目中对数据操作最为直接、常用的方式,现在无论是大小公司都离不开对事务的操作,伴随业务的提升,客户量的积累也大大增加了
-
世界速读:中关村二手电脑市场在哪里中关村二手电脑市场在哪里,中关村二手电脑市场:北京利康金桥二手电脑市场地址:西操场1号北京硅谷电脑城B1层。小虾米二手笔记本地址:海淀中
-
【时快讯】23国金证券CP003今日发布发行公告23国金证券CP003发布发行公告
-
李隆基是谁的儿子李隆基是谁的儿子,1、李旦。2、李隆基是唐睿宗李旦的儿子,唐中宗李显是他的伯父。李隆基的生母是唐睿宗的德妃,可以说李隆基能够继承皇位,
-
胜利精密股东户数增加2.71%,户均持股7.98万元胜利精密最新股东户数11 01万户,高于行业平均水平。公司户均持有流通股份2 86万股;户均流通市值7 98万元。
-
【世界速看料】吴承恩1、吴承恩,男,汉族。2、字汝忠,号射阳居士,又称射阳山人。3、明代文学家。文章到此就分享结束,希望对大家有所帮助。
-
环球速讯:降价为王,2023年的汽车没有最便宜汽车产业在2023年迈进复苏新常态,汽车供应链和生产制造逐步恢复正常,各大车企迎来了市场和用户的争夺战,因为汽车市场已经进入了产能过剩的
-
给老婆买什么礼物最贴心老婆刚刚过生完孩子,一个可爱的小公婆,一直是个个女人,一起住在老家看电影。都说丈夫老妻了,老妻都一人照顾你,你是不会为你
-
世界快看点丨“你只管踩油门,剩下的交给我们!” 这一幕,网友狂赞“你只管踩油门,剩下的交给我们!”这一幕,网友狂赞,赵辉,交警,铁骑,油门,收费站,重大交通事故
-
送长辈的礼物排行榜很多长辈给老人送礼物可以根据他们的喜好和嗜好来选择礼物,慢慢的回想一下,礼物就想出来了,然后你挑一个你认为最好的礼物送给
-
情侣个签简短_情侣个签_全球头条1、男:请不要怀疑我对你旳爱。2、女:我不会怀念你对我旳爱。3、男:我旳个性签名里丶一直都有你。4、女:谁旳个性签
-
全球要闻:华尔街紧盯周二美国CPI ChatGPT“血汗工厂”曝光情绪回落,美股上周均录得跌幅,纳指累跌2 4%;本周二通胀数据或成为美股由涨转跌节点;ChatGPT背后“血汗工厂”曝光:标注员工最低时薪仅9元
-
世界视点!梦幻西游:175级五开最佳阵容,预算8万,上班族赚外快的首选!众所周知,玩五开刷任务不仅可以随时随地享受游戏带来的快感,而且还可以当做赚外快的副业。但是想打造一组真正可以赚钱的五开号,资金投入是
-
世界最资讯丨给心爱的男人送什么生日礼物男人要求女人送上一份礼物,不管是什么,只要是他喜欢的就都可以。像什么女人都不喜欢那些浪漫的,送男人的生日礼物一定会很开心