用于安全工程师的Kubectl插件 排名前15
这篇文章是根据2023年1月17日NIGEL DOUGLAS在博客(https://sysdig.com/blog/top-15-kubectl-plugins-for-security-engineers/)上发布的内容翻译和重组成日文的。我强烈感觉这个Kubectl插件列表对于任何人,特别是安全工程师来说都非常有用,现在让我们深入探讨一下。Kubernetes在设计上非常可定制。Kubernetes支持为特定的用例场景进行自定义配置。因此,您不需要对基本功能进行补丁。插件是扩展Kubernetes功能、实现开箱即用提供的方式。
什么是Kubernetes插件?
为什么插件对于安全运作是有用的?
与Kubernetes插件安全性相关的潜在考虑
提高安全姿势
使用 Krew 进行插件管理
kubectl krew install <PLUGIN_NAME>
1. 斯特恩插件
严肃实时跟踪文件内容
kubectl krew install stern
kubectl stern appname
kubectl stern --container
kubectl stern -t --since 15m auth
2. 角色基于访问控制(RBAC)工具
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插件
狗尾草CNI(网络)插件
硅絨
kubectl krew install cilium
kubectl cilium connectivity test --single-node <node>
防止Kubernetes服务拒绝(DoS)攻击的方法是什么?
4. Kube策略顾问
PodSecurityPolicies被弃用了。入场控制器 (Rù qì)
建议政策
kubectl krew install advise-policy
-
- Podが最小限の権限で実行され、不要なパーミッションが付与されていないことを確認します。
-
- シークレットやその他の機密データがプレーンテキストで保存されたり、ソースコントロールにチェックされたりしないことを確認します。
-
- リソースへの不正なアクセスから保護するためのネットワークポリシーが設定されていることを確認します。
- コンテナイメージの安全性を評価し、信頼できるソースからのものであることを確認します。
kubectl advise-policy inspect --namespace=<ns>
5. 使用kubectl-ssm-secret命令
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登录
kubectl krew install kubectl-login
http://localhost:33768/auth/callback
kubectl login nigeldouglas-oidc
7. Kubernetes密语秘密
私语-秘密
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
kubectl-capture的中文意思是拍摄kubectl。
kubectl krew install kubectl-capture
在Kubernetes中的事件响应和取证。Sysdig Inspect的原文重述:
Sysdig Inspect
kubectl capture kinsing-78f5d695bd-bcbd8
使用Sysdig Inspect来进行容器故障排除。恶意容器的分类
9. Kubectl跟踪
使用kubectl-trace
kubectl krew install trace
kubectl trace run <node-name> -e "tracepoint:syscalls:sys_enter_* { @[probe] = count(); }"
10. 访问矩阵
访问矩阵
访问矩阵
kubectl krew install access-matrix
kubectl rakkess –n default
sysdig代理Sysdig控制器
kubectl access-matrix r cm sysdig-controller -n sysdig-agent --verbs=all
11. 角色总结
角色总结
kubectl krew install rolesum
kubectl rolesum nigeldouglas
kubectl rolesum -k Group staging
12. 证书管理器
kubectl krew install cert-manager
13. 观众。
kubectl krew install np-viewer
kubectl np-viewer -p pod-name
kubectl np-viewer --all-namespaces
14. 嗯. 对的。
抓取
kubectl krew install ksniff
15. 机器侦探
警察特工
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"
kubectl插件的最终审议事项
kubectl插件有208个选项。
-
- 插件的漏洞:如果kubectl插件存在漏洞,攻击者可能会利用这些漏洞来访问Kubernetes集群。
不安全的插件安装:如果插件是从不可信的来源安装的,可能会包含威胁集群安全性的恶意代码。
权限提升:由于kubectl插件和kubectl命令具有相同的特权级别,因此如果插件受到入侵,可能会用于提升权限并访问集群中的机密资源。
数据泄露:如果kubectl插件未得到适当保护,可能会导致集群中的机密数据泄露。