freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用kubeaudit审查Kubernetes集群中的常见安全控制策略
2022-08-03 22:19:35

关于kubeaudit

kubeaudit是一款针对Kubernetes集群安全的审计工具,该工具基于命令行实现其功能,并通过Golang包帮助广大研究人员审计Kubernetes集群中的各种安全问题,其中包括以非root权限运行或使用只读root文件系统等等。

工具安装

Brew

brew install kubeaudit

下载源码

广大研究人员还可以直接访问该项目的【Releases页面】下载最新的官方稳定版。

自定义构建

该项目可能随时会进行代码更新,如需使用最新版本的功能,你可以选择进行自定义构建,在构建前别忘了在本地设备上安装并配置好Go v1.17+环境,然后运行下列命令:

go get -v github.com/Shopify/kubeaudit

Docker使用

该项目还提供了一个Docker镜像:shopify/kubeaudit,广大研究人员也可以通过Docker镜像来运行kubeaudit。

工具使用

kubeaudit提供了以下三种模式:

1、Manifest模式

2、本地模式

3、集群模式

Manifest模式

我们可以通过“-f/--manifest”选项来给工具提供一个Kubernetes Manifest文件,此时kubeaudit将会审计这个Manifest文件。

参考命令如下:

kubeaudit all -f "/path/to/manifest.yml"

输出结果如下:

$ kubeaudit all -f "internal/test/fixtures/all_resources/deployment-apps-v1.yml"

 

---------------- Results for ---------------

 

  apiVersion: apps/v1

  kind: Deployment

  metadata:

    name: deployment

    namespace: deployment-apps-v1

 

--------------------------------------------

 

-- [error] AppArmorAnnotationMissing

   Message: AppArmor annotation missing. The annotation 'container.apparmor.security.beta.kubernetes.io/container' should be added.

   Metadata:

      Container: container

      MissingAnnotation: container.apparmor.security.beta.kubernetes.io/container

 

-- [error] AutomountServiceAccountTokenTrueAndDefaultSA

   Message: Default service account with token mounted. automountServiceAccountToken should be set to 'false' or a non-default service account should be used.

 

-- [error] CapabilityShouldDropAll

   Message: Capability not set to ALL. Ideally, you should drop ALL capabilities and add the specific ones you need to the add list.

   Metadata:

      Container: container

      Capability: AUDIT_WRITE

...

如果没有报错并且没有安全问题的话,则会返回下列内容:

All checks completed. 0 high-risk vulnerabilities found

自动修复

Manifest模式还支持使用“autofix”命令自动修复所有的安全问题:

kubeaudit autofix -f "/path/to/manifest.yml"

集群模式

kubeaudit支持检测当前环境是否是集群中的一个容器,并尝试审计该集群中所有的Kubernetes资源:

kubeaudit all

本地模式

kubeaudit将会使用本地kubeconfig文件($HOME/.kube/config)尝试与一个集群进行连接,可以使用“--kubeconfig”选项来指定kubeconfig路径:

kubeaudit all --kubeconfig "/path/to/config" --context my_cluster

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

kubeaudit:【GitHub传送门

参考资料

https://pkg.go.dev/github.com/Shopify/kubeaudit

https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/

本文作者:, 转载请注明来自FreeBuf.COM

# Kubernetes # Kubernetes安全 # Kubernetes集群 # Kubernetes审计
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦