Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

mixi, Inc. 1. Introduction MIXI, Inc.

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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.

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

mixi, Inc. MIXI, Inc.