Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubescapeでサクッと始めるKSPM

HonMarkHunt
March 13, 2023
380

 Kubescapeでサクッと始めるKSPM

Kubernetes Novice Tokyo #23 で発表させていただいた資料です。
KubescapeとPrometheus, Grafanaを用いてKubernetesクラスタのセキュリティー診断をサクッと行う方法をお話しする予定です。

HonMarkHunt

March 13, 2023
Tweet

Transcript

  1. Kubescapeで
    サクッと始めるKSPM
    @HonMarkHunt
    Kubernetes Novice Tokyo 23 #k8snovice

    View Slide

  2. mixi, Inc.
    アジェンダ
    1. Introduction
    2. KSPMとは?
    3. Kubescapeとは?
    4. 導入してみる
    5. 運用してみる
    6. まとめ
    MIXI, Inc.

    View Slide

  3. mixi, Inc.
    1. Introduction
    MIXI, Inc.

    View Slide

  4. mixi, Inc.
    自己紹介
    本間 匡晃 ( まさてる )
    株式会社MIXI みてねプロダクト開発部 SREグループ
    Twitter : HonMarkHunt
    好き : GOLD’S GYM、スニーカー、ラーメン二郎 上野毛店
    苦手 : 転売ヤー
    妻1人、子2人 (3歳、0歳 ←NEW!! )
    MIXI, Inc.

    View Slide

  5. 子どもの写真・動画を家族で共有し、
    コミュニケーションして楽しむサービス

    View Slide

  6. 子どもの写真・動画を、無料・無制限に
    共有できるスマートフォンアプリです

    View Slide

  7. mixi, Inc.
    「家族アルバム みてね」のアーキテクチャ
    MIXI, Inc.
    アプリケーションの運用基盤にEKSを採用しています(概略図)

    View Slide

  8. mixi, Inc.
    2. KSPMとは
    MIXI, Inc.

    View Slide

  9. mixi, Inc.
    より強いセキュリティへの課題
    ご家族の大切な写真やデータを預かっている
    やりすぎるに越したことはない
    今以上にできることはないだろうか?
    MIXI, Inc.

    View Slide

  10. mixi, Inc.
    より強いセキュリティへの課題
    ご家族の大切な写真やデータを預かっている
    やりすぎるに越したことはない
    今以上にできることはないだろうか?
    機密情報を伴うアプリケーションの基盤となる
    Kubernetesクラスタのセキュリティについて漠然とした課題感
    MIXI, Inc.

    View Slide

  11. mixi, Inc.
    セキュリティとは言ったものの
    ひと口にKubernetesクラスタのセキュリティと言っても、
    考慮しなければならない点は多く存在する。
    ● ホストの脆弱性
    ● 依存ライブラリ
    ● ネットワーク
    ● アクセス制限
    ● KSPM
    ● などなど...
    MIXI, Inc.

    View Slide

  12. mixi, Inc.
    セキュリティとは言ったものの
    ひと口にKubernetesクラスタのセキュリティと言っても、
    考慮しなければならない点は多く存在する。
    ● ホストの脆弱性
    ● 依存ライブラリ
    ● ネットワーク
    ● アクセス制限
    ● KSPM
    ● などなど...
    ...?
    KSPMって
    なんだっけ?
    MIXI, Inc.

    View Slide

  13. mixi, Inc.
    KSPM
    Kubernetes Security Posture Management の略
    Kubernetesクラスタ上の設定の不備やマニフェストへの違反などを継続的に検出し
    運用し続けていくこと
    一言で言えば「K8sのポスチャ管理」
    より上位の概念に Cloud Security Posture Management ( CSPM ) がある
    MIXI, Inc.

    View Slide

  14. mixi, Inc.
    KSPM
    Kubernetes Security Posture Management の略
    Kubernetesクラスタ上の設定の不備やマニフェストへの違反などを継続的に検出し
    運用し続けていくこと
    一言で言えば「K8sのポスチャ管理」
    より上位の概念に Cloud Security Posture Management ( CSPM ) がある
    みてねではここが不十分なのでやっていこう!
    MIXI, Inc.

    View Slide

  15. mixi, Inc.
    3. Kubescapeとは?
    MIXI, Inc.

    View Slide

  16. mixi, Inc.
    Kubescape
    ARMO が提供しているオープンソースの Kubernetes のセキュリティープラットフォーム
    特徴
    ● オープンソース
    ● IDE, CI/CD pipelines, cluster, CLI などさまざま場所で容易に実行できる
    ● 実行時の診断に複数のフレームワークを選択できる
    ● Kubernetesクラスタ, YAMLファイル, Helm chartsを診断可能
    ● 2022年12月には CNCF の Sandbox Projects にも選出
    MIXI, Inc.

    View Slide

  17. mixi, Inc.
    採用までの経緯
    「可能な限り低コストで運用を続けていけること」を目標
    MIXI, Inc.

    View Slide

  18. mixi, Inc.
    採用までの経緯
    「可能な限り低コストで運用を続けていけること」を目標
    ● 実際に支払うコスト
    ● 使用するツール/管理画面が増え、
    運用者の負担が増えるコスト
    MIXI, Inc.

    View Slide

  19. mixi, Inc.
    採用までの経緯
    「可能な限り低コストで運用を続けていけること」を目標
    ● 新しいツールを使って最初だけすごい感動したが、
    運用までは考えずそれ以降使われなくなる
    ● とりあえず計測開始したがだんだん誰も見なくなる
    ○ テストカバレッジ
    ○ 静的解析
    MIXI, Inc.

    View Slide

  20. mixi, Inc.
    採用までの経緯
    「可能な限り低コストで運用を続けていけること」を目標
    日常業務の中に落とし込んで運用できるようにしたい!
    MIXI, Inc.

    View Slide

  21. mixi, Inc.
    判断基準
    ● オープンソースなので無料で運用することができる
    ● Argo CD 経由で簡単にインストールできる
    ● Helm charts が機能モリモリ用とPrometheusに送るだけ用の2つ提供されており
    後者を使用することで最低限の機能で始められる
    ● Prometheus にスキャンした結果のメトリクスを送信することができる
    ● みてねのSREチームは毎朝の朝会で Grafana のダッシュボードを確認しているので、
    Prometheus のメトリクスを Grafana で可視化しておけば新しく運用フローを構築し
    なくとも毎朝確認することができる
    MIXI, Inc.

    View Slide

  22. mixi, Inc.
    注意事項
    ● 基本的にはARMO側にスキャン結果が送信され、結果をARMO Platform上で確認する
    ● ARMO Platformはスキャンするworker nodeの数によって課金が発生するので
    継続的に利用していきたい場合は課金するか無料枠の中で運用していく
    ● Kubescape以外にもいくつかのソフトウェアがあるが
    Prometheusでメトリクスが取得できるのはKubescapeのみ
    ● imageやホストスキャン、RBACなどはメトリクスは取得できないため
    それらをみたい場合はARMO Platformを利用する必要がある
    MIXI, Inc.

    View Slide

  23. mixi, Inc.
    4. 導入してみる
    MIXI, Inc.

    View Slide

  24. mixi, Inc.
    やりたいこと
    MIXI, Inc.

    View Slide

  25. mixi, Inc.
    インストール
    公式ドキュメントに各ツールごとの
    インストール方法が紹介されているので
    ほぼその通りにすれば利用開始できます。
    (今回はArgo CDを選択)
    https://hub.armosec.io/docs/argocd
    *注意点としていずれの方法でも
     ARMO Platformのアカウント発行が必要になります
    kubescape-prometheus-integratorをインストールするサンプル
    MIXI, Inc.

    View Slide

  26. mixi, Inc.
    5. 運用してみる
    MIXI, Inc.

    View Slide

  27. mixi, Inc.
    メトリクスの可視化
    取得できる メトリクスの一覧 ( https://hub.armosec.io/docs/prometheus-exporter )
    1. Frameworks metrics : フレームワークごとの集計
    2. Overall metrics : フレームワークを合算
    3. Controls metrics : コントロールごとの集計
    おおきくこの3つのメトリックス
    それぞれ resource とコントロールごとの success/fail などの count を取得できる
    *コントロールとはデータベースに登録されているリスク1ケースを指します
    MIXI, Inc.

    View Slide

  28. mixi, Inc.
    メトリクスの可視化
    1. Frameworks metrics : フレームワークごとの集計
    各種フレームワークごとのスコアと
    そのトレンドを表示
    スコアは0が最高で100が悪い
    MIXI, Inc.

    View Slide

  29. mixi, Inc.
    メトリクスの可視化
    2. Overall metrics : フレームワークを合算
    フレームワークごとの結果をいい感じに
    まとめてくれたスコア
    基本的にはこれだけ追っていてもOK
    MIXI, Inc.

    View Slide

  30. mixi, Inc.
    メトリクスの可視化
    3. Controls metrics : コントロールごとの集計
    MIXI, Inc.
    コントロール毎のメトリクス
    検出数とレキュリティレベルでテーブル表示

    View Slide

  31. mixi, Inc.
    朝会での確認
    みてねSREチームの朝会ではGrafanaのダッシュボードを確認して
    異常がないかチェックする時間があります。
    ここまでに作ったグラフだと数が多いので朝会で見るには適しませんでした。
    「コントロールのセキュリティレベルが最大 ( Critical ) の検出数」のグラフを別途作成し
    朝会で確認するようにしました。
    検出され次第これまでに作ったダッシュボードを用いて調査していく流れになります。
    現状Criticalは検出されていないのでNo data
    MIXI, Inc.

    View Slide

  32. mixi, Inc.
    6. まとめ
    MIXI, Inc.

    View Slide

  33. mixi, Inc.
    まとめ
    ● KubernetesクラスタのセキュリティについてはKSPMも考慮してみる
    ● KubescapeでKSPMをサクッと始める
    ● 今後もKSPMの運用改善、他のセキュリティアクションも行っていく
    ● 導入時のハマりどころなども記載した詳細はこちらのブログで!
    ○ https://team-blog.mitene.us/kubescape-d07a12fccbdb
    MIXI, Inc.

    View Slide

  34. mixi, Inc.
    MIXI, Inc.

    View Slide