OSS探訪

Kubernetes nodeとcluster設定をCIS Benchmarkに照らして監査する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
8,209
主要言語
Go
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/01
ページ内ナビ

概要

kube-benchは、Kubernetesの設定をCIS Kubernetes Benchmarkなどの基準と照合するsecurity check toolです。node上のprocess、configuration file、permission、API server等の設定を検査し、PASS・FAIL・WARNとして結果を出力します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

CIS Kubernetes Benchmarkのcheckを自動実行する

CIS Benchmarkの各項目に対応するcheckをYAMLで定義し、Kubernetes componentの起動option、file permission、configuration値などを検査します。手動監査の確認項目をCLIで繰り返し実行できます。

出典:[1][3]

cluster内Jobまたはnode上のbinaryとして実行する

公式job.yamlを使ってKubernetes Jobとして実行できるほか、binaryやcontainerをnode上で動かす方法もあります。cluster内実行ではhost PID namespaceや設定fileへのmountが必要です。

出典:[1][4]

Kubernetes versionから適切なbenchmark設定を選ぶ

defaultでは稼働中Kubernetes versionを判定し、対応するbenchmark configを選択します。必要に応じてbenchmarkやconfigを明示し、platform固有のprofileも利用できます。

出典:[1][3]

向いている用途

Kubernetes hardeningの定期監査と変更前後の比較に向く

cluster build時のbaseline確認、version update後の再監査、security reviewやCIでの設定逸脱検知などに適しています。結果を継続保存するとhardening変更の影響を追跡できます。

出典:[1][4]

導入前の確認

v0.16.0がcurrent stable release

2026年8月5日公開のv0.16.0が現在のstable releaseです。benchmark定義はKubernetes releaseと同じ周期では更新されないため、tool versionだけでなく対応benchmark表を確認してください。

出典:[2][3]

CIS BenchmarkとKubernetes versionは一対一対応ではない

例えばCIS 1.12はKubernetes 1.32-1.33、CIS 2.0は1.34-1.35向けとして管理されています。実際のcluster versionとkube-benchが選択するprofileの対応を監査記録に残します。

出典:[3]

managed Kubernetesでは一部checkを直接修正できない

EKS、GKE、AKSなどではcontrol plane設定をcloud providerが管理する項目があります。FAIL/WARNを一律にnode設定変更へ結び付けず、providerのresponsibility modelとplatform固有benchmarkを確認します。

出典:[3][4]

参考にした公式資料

  1. [1]kube-bench README(2026-10-03)
  2. [2]kube-bench v0.16.0 release(2026-10-03)
  3. [3]kube-bench supported platforms(2026-10-03)
  4. [4]Running kube-bench(2026-10-03)
編集部からの補足

kube-benchのFAILは直ちに脆弱性を意味するのではなく、CIS Benchmark上の期待値との差分です。managed Kubernetesでは利用者が変更できないcontrol plane項目もあるため、結果はplatform責任範囲と例外理由を合わせて管理すると実務で使いやすくなります。

3ステップで試す

  1. 1

    kube-bench v0.16.0のsourceを取得する

    release tagを固定してofficial job.yamlを取得します。

    git clone --depth 1 --branch v0.16.0 https://github.com/aquasecurity/kube-bench.git && cd kube-bench
  2. 2

    Kubernetes Jobとして実行する

    JobはhostのPID namespaceや設定fileへaccessしてCIS checkを実行します。対象clusterでこの権限を許可できることを確認してください。

    kubectl apply -f job.yaml
  3. 3

    Jobのlogから監査結果を確認する

    Job完了後にPASS・FAIL・WARNを確認します。managed Kubernetesではprovider責任範囲の項目もあるため、FAILを自動修正せず内容を確認してください。

    kubectl logs job/kube-bench
公式READMEで確認

成長

成長の推移 · 直近30日

8,209 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
3
Open PR
37

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • kube-bench
  • cis-security
  • kubernetes-security
  • cis-benchmark
  • cis-kubernetes-benchmark
  • openshift
  • kubernetes
  • hacktoberfest
Stars
8,209
Forks
1,341
Watchers
107
Open Issues
70
Contributors
165
所有者種別
Organization
主要言語
Go
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?