用于安全工程师的Kubectl插件 排名前15

这篇文章是根据2023年1月17日NIGEL DOUGLAS在博客(https://sysdig.com/blog/top-15-kubectl-plugins-for-security-engineers/)上发布的内容翻译和重组成日文的。我强烈感觉这个Kubectl插件列表对于任何人,特别是安全工程师来说都非常有用,现在让我们深入探讨一下。Kubernetes在设计上非常可定制。Kubernetes支持为特定的用例场景进行自定义配置。因此,您不需要对基本功能进行补丁。插件是扩展Kubernetes功能、实现开箱即用提供的方式。

什么是Kubernetes插件?

Kubernetes的命令行工具

为什么插件对于安全运作是有用的?

 

与Kubernetes插件安全性相关的潜在考虑

提高安全姿势

使用 Krew 进行插件管理

克鲁

kubectl krew install <PLUGIN_NAME>

1. 斯特恩插件

GitHub存储库

严肃实时跟踪文件内容

kubectl krew install stern

 

kubectl stern appname

 

kubectl stern --container 

 

kubectl stern -t --since 15m auth

 

2. 角色基于访问控制(RBAC)工具

GitHub 存储库

基于角色的访问控制

RBAC工具

kubectl krew install rbac-tool

 

kubectl rbac-tool viz --cluster-context nigel-douglas-cluster

奈杰尔-道格拉斯-集群

谁能

重要的秘密 de

kubectl rbac-tool who-can get secret/important-secret

 

3. Cilium插件

GitHub 仓库

狗尾草CNI(网络)插件

硅絨

kubectl krew install cilium

 

kubectl cilium connectivity test --single-node <node>

哈勃

防止Kubernetes服务拒绝(DoS)攻击的方法是什么?

4. Kube策略顾问

GitHub仓库

PodSecurityPolicies被弃用了。入场控制器 (Rù qì)

建议政策

kubectl krew install advise-policy

 

    • Podが最小限の権限で実行され、不要なパーミッションが付与されていないことを確認します。

 

    • シークレットやその他の機密データがプレーンテキストで保存されたり、ソースコントロールにチェックされたりしないことを確認します。

 

    • リソースへの不正なアクセスから保護するためのネットワークポリシーが設定されていることを確認します。

 

    コンテナイメージの安全性を評価し、信頼できるソースからのものであることを確認します。

 

kubectl advise-policy inspect --namespace=<ns>

 

5. 使用kubectl-ssm-secret命令

GitHub仓库

kubectl-ssm-secret的中文释义亚马逊云服务(AWS)SSMKubernetes的秘密

秘密的ssm

kubectl krew install ssm-secret

LetsEncrypt 可以理解为“让我们加密”,这是一个提供免费 SSL/TLS 证书的开放式证书颁发机构。

kubectl ssm-secret list --ssm-path /foo

 

kubectl ssm-secret import foo --ssm-path /foo

 

关于安全性问题的注意事项

 

6. Kubernetes登录

GitHub存储库

kubectl krew install kubectl-login

 

http://localhost:33768/auth/callback

 

kubectl login nigeldouglas-oidc

 

7. Kubernetes密语秘密

GitHub存储库

私语-秘密

kubectl krew install whisper-secret

创建秘密的kubectlkubectl 创建秘钥库

kubectl create secret docker-registry my-secret --docker-password nigelDouglasP@ssw0rD

“使用kubectl密语-secret”– 来自文字意思即为从文字本身而来– docker 密码

kubectl whisper-secret docker-registry my-secret --docker-password -- -n nigel-test --docker-username <insert-password>

 

8. Kubectl-capture -> 8. 使用kubectl-capture

将数据储存在GitHub仓库中

Sysdig 检查

kubectl-capture的中文意思是拍摄kubectl。

kubectl krew install kubectl-capture

在Kubernetes中的事件响应和取证。Sysdig Inspect的原文重述:
Sysdig Inspect

kubectl capture kinsing-78f5d695bd-bcbd8

 

alt_text

使用Sysdig Inspect来进行容器故障排除。恶意容器的分类

9. Kubectl跟踪

GitHub存储库

使用kubectl-trace

kubectl krew install trace

 

kubectl trace run <node-name> -e "tracepoint:syscalls:sys_enter_* { @[probe] = count(); }"

 

10. 访问矩阵

GitHub仓库

访问矩阵

访问矩阵

kubectl krew install access-matrix

 

kubectl rakkess –n default

sysdig代理Sysdig控制器

kubectl access-matrix r cm sysdig-controller -n sysdig-agent --verbs=all

 

11. 角色总结

GitHub 代码库

角色总结

kubectl krew install rolesum

 

kubectl rolesum nigeldouglas

 

kubectl rolesum -k Group staging

 

12. 证书管理器

GitHub仓库

kubectl krew install cert-manager

 

13. 观众。

GitHub库

kubectl krew install np-viewer

 

kubectl np-viewer -p pod-name

 

kubectl np-viewer --all-namespaces

 

14. 嗯. 对的。

GitHub存储库

抓取

kubectl krew install ksniff

 

15. 机器侦探

Github存储库

警察特工

kubectl krew install gadget

 

Advice (クラスターのseccompプロファイルやネットワークポリシーを生成する)

Audit (seccompプロファイルが監査ログに送信するシステムコールをトレースする)

Profile (分散レイテンシーによるブロックI/Oの解析、スタックトレースのサンプリングによるCPU使用率の解析)

Snapshot (実行中のプロセスおよびTCP/UDPソケットの情報を収集)

Top (ブロックデバイスのI/Oアクティビティ、eBPFのランタイム統計、ファイルごとの読み取り/書き込みアクティビティを定期的にレポート)

Trace (DNSクエリー/レスポンスからOOMkillによるプロセスキルまで、ほぼすべてのアクティビティをトレース)

 

kubectl gadget advise network-policy report --input ./networktrace.log > network-policy.yaml

 

kubectl gadget audit seccomp -o custom-columns=namespace,pod,syscall,code

 

自己动手制作kubectl的插件。

`kubectl-sysdig` 的中文释义是什么?kubectl sysdig -> 使用 kubectl sysdig

路径

#!/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"

Kubernetes的官方文件

kubectl插件的最终审议事项

kubectl插件有208个选项。

在Kubernetes中的事件响应和数字鉴证

    1. 插件的漏洞:如果kubectl插件存在漏洞,攻击者可能会利用这些漏洞来访问Kubernetes集群。

不安全的插件安装:如果插件是从不可信的来源安装的,可能会包含威胁集群安全性的恶意代码。

权限提升:由于kubectl插件和kubectl命令具有相同的特权级别,因此如果插件受到入侵,可能会用于提升权限并访问集群中的机密资源。

数据泄露:如果kubectl插件未得到适当保护,可能会导致集群中的机密数据泄露。

 


学习云原生