Kubernetes Novice Tokyo #23 で発表させていただいた資料です。 KubescapeとPrometheus, Grafanaを用いてKubernetesクラスタのセキュリティー診断をサクッと行う方法をお話しする予定です。
Kubescapeでサクッと始めるKSPM@HonMarkHuntKubernetes Novice Tokyo 23 #k8snovice
View Slide
mixi, Inc.アジェンダ1. Introduction2. KSPMとは?3. Kubescapeとは?4. 導入してみる5. 運用してみる6. まとめMIXI, Inc.
mixi, Inc.1. IntroductionMIXI, Inc.
mixi, Inc.自己紹介本間 匡晃 ( まさてる )株式会社MIXI みてねプロダクト開発部 SREグループTwitter : HonMarkHunt好き : GOLD’S GYM、スニーカー、ラーメン二郎 上野毛店苦手 : 転売ヤー妻1人、子2人 (3歳、0歳 ←NEW!! )MIXI, Inc.
子どもの写真・動画を家族で共有し、コミュニケーションして楽しむサービス
子どもの写真・動画を、無料・無制限に共有できるスマートフォンアプリです
mixi, Inc.「家族アルバム みてね」のアーキテクチャMIXI, Inc.アプリケーションの運用基盤にEKSを採用しています(概略図)
mixi, Inc.2. KSPMとはMIXI, Inc.
mixi, Inc.より強いセキュリティへの課題ご家族の大切な写真やデータを預かっているやりすぎるに越したことはない今以上にできることはないだろうか?MIXI, Inc.
mixi, Inc.より強いセキュリティへの課題ご家族の大切な写真やデータを預かっているやりすぎるに越したことはない今以上にできることはないだろうか?機密情報を伴うアプリケーションの基盤となるKubernetesクラスタのセキュリティについて漠然とした課題感MIXI, Inc.
mixi, Inc.セキュリティとは言ったもののひと口にKubernetesクラスタのセキュリティと言っても、考慮しなければならない点は多く存在する。● ホストの脆弱性● 依存ライブラリ● ネットワーク● アクセス制限● KSPM● などなど...MIXI, Inc.
mixi, Inc.セキュリティとは言ったもののひと口にKubernetesクラスタのセキュリティと言っても、考慮しなければならない点は多く存在する。● ホストの脆弱性● 依存ライブラリ● ネットワーク● アクセス制限● KSPM● などなど......?KSPMってなんだっけ?MIXI, Inc.
mixi, Inc.KSPMKubernetes Security Posture Management の略Kubernetesクラスタ上の設定の不備やマニフェストへの違反などを継続的に検出し運用し続けていくこと一言で言えば「K8sのポスチャ管理」より上位の概念に Cloud Security Posture Management ( CSPM ) があるMIXI, Inc.
mixi, Inc.KSPMKubernetes Security Posture Management の略Kubernetesクラスタ上の設定の不備やマニフェストへの違反などを継続的に検出し運用し続けていくこと一言で言えば「K8sのポスチャ管理」より上位の概念に Cloud Security Posture Management ( CSPM ) があるみてねではここが不十分なのでやっていこう!MIXI, Inc.
mixi, Inc.3. Kubescapeとは?MIXI, Inc.
mixi, Inc.KubescapeARMO が提供しているオープンソースの Kubernetes のセキュリティープラットフォーム特徴● オープンソース● IDE, CI/CD pipelines, cluster, CLI などさまざま場所で容易に実行できる● 実行時の診断に複数のフレームワークを選択できる● Kubernetesクラスタ, YAMLファイル, Helm chartsを診断可能● 2022年12月には CNCF の Sandbox Projects にも選出MIXI, Inc.
mixi, Inc.採用までの経緯「可能な限り低コストで運用を続けていけること」を目標MIXI, Inc.
mixi, Inc.採用までの経緯「可能な限り低コストで運用を続けていけること」を目標● 実際に支払うコスト● 使用するツール/管理画面が増え、運用者の負担が増えるコストMIXI, Inc.
mixi, Inc.採用までの経緯「可能な限り低コストで運用を続けていけること」を目標● 新しいツールを使って最初だけすごい感動したが、運用までは考えずそれ以降使われなくなる● とりあえず計測開始したがだんだん誰も見なくなる○ テストカバレッジ○ 静的解析MIXI, Inc.
mixi, Inc.採用までの経緯「可能な限り低コストで運用を続けていけること」を目標日常業務の中に落とし込んで運用できるようにしたい!MIXI, Inc.
mixi, Inc.判断基準● オープンソースなので無料で運用することができる● Argo CD 経由で簡単にインストールできる● Helm charts が機能モリモリ用とPrometheusに送るだけ用の2つ提供されており後者を使用することで最低限の機能で始められる● Prometheus にスキャンした結果のメトリクスを送信することができる● みてねのSREチームは毎朝の朝会で Grafana のダッシュボードを確認しているので、Prometheus のメトリクスを Grafana で可視化しておけば新しく運用フローを構築しなくとも毎朝確認することができるMIXI, Inc.
mixi, Inc.注意事項● 基本的にはARMO側にスキャン結果が送信され、結果をARMO Platform上で確認する● ARMO Platformはスキャンするworker nodeの数によって課金が発生するので継続的に利用していきたい場合は課金するか無料枠の中で運用していく● Kubescape以外にもいくつかのソフトウェアがあるがPrometheusでメトリクスが取得できるのはKubescapeのみ● imageやホストスキャン、RBACなどはメトリクスは取得できないためそれらをみたい場合はARMO Platformを利用する必要があるMIXI, Inc.
mixi, Inc.4. 導入してみるMIXI, Inc.
mixi, Inc.やりたいことMIXI, Inc.
mixi, Inc.インストール公式ドキュメントに各ツールごとのインストール方法が紹介されているのでほぼその通りにすれば利用開始できます。(今回はArgo CDを選択)https://hub.armosec.io/docs/argocd*注意点としていずれの方法でも ARMO Platformのアカウント発行が必要になりますkubescape-prometheus-integratorをインストールするサンプルMIXI, Inc.
mixi, Inc.5. 運用してみるMIXI, Inc.
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.
mixi, Inc.メトリクスの可視化1. Frameworks metrics : フレームワークごとの集計各種フレームワークごとのスコアとそのトレンドを表示スコアは0が最高で100が悪いMIXI, Inc.
mixi, Inc.メトリクスの可視化2. Overall metrics : フレームワークを合算フレームワークごとの結果をいい感じにまとめてくれたスコア基本的にはこれだけ追っていてもOKMIXI, Inc.
mixi, Inc.メトリクスの可視化3. Controls metrics : コントロールごとの集計MIXI, Inc.コントロール毎のメトリクス検出数とレキュリティレベルでテーブル表示
mixi, Inc.朝会での確認みてねSREチームの朝会ではGrafanaのダッシュボードを確認して異常がないかチェックする時間があります。ここまでに作ったグラフだと数が多いので朝会で見るには適しませんでした。「コントロールのセキュリティレベルが最大 ( Critical ) の検出数」のグラフを別途作成し朝会で確認するようにしました。検出され次第これまでに作ったダッシュボードを用いて調査していく流れになります。現状Criticalは検出されていないのでNo dataMIXI, Inc.
mixi, Inc.6. まとめMIXI, Inc.
mixi, Inc.まとめ● KubernetesクラスタのセキュリティについてはKSPMも考慮してみる● KubescapeでKSPMをサクッと始める● 今後もKSPMの運用改善、他のセキュリティアクションも行っていく● 導入時のハマりどころなども記載した詳細はこちらのブログで!○ https://team-blog.mitene.us/kubescape-d07a12fccbdbMIXI, Inc.
mixi, Inc.MIXI, Inc.