😊

RISKENというセキュリティモニタリングツールをローカルPCで動かしてみた

2021/11/19に公開

先日、 AWS Security Roadshow 2021 で紹介した、RISKENというツールをローカルPCで実際に動かしてみようと思います。


背景

私は社内でセキュリティのインシデント対応などを行っているのですが、昨今クラウドセキュリティのモニタリングが必須となってきた背景があり、それをいかに社内でスケールさせるか、作業を効率化するかという悩みを抱えていました。
また、社内では特定のCSP(AWSなど)だけを利用しているわけではなく、「自由と責任」という文化がありエンジニアの裁量で技術スタックを選択します。

  • モニタリング対象はAWSであったり、GCPであったり、さまざまなプラットフォーム(マルチクラウド)
  • クラウドだけじゃなくて、ソースコードやアプリケーションのスキャンなど色々な観点で情報収集

という要件があって、有償のサービスもいくつか検証したのですが、予算的に難しく、、、、最終的に自作し公開しました

RISKEN-demo-640x400
github.com/ca-risken/doc


インストール

手順はドキュメントの方にまとめられているので、そちらに沿っていきます。

準備

今回はMacでインストールしていきます。以下の必要なツールをPCにインストールします。

あと、自分の場合は k9s という便利なツールをよく使ってます。Kubernetesクラスタ内のPodの状態や、ログの確認なんかも簡単にできて便利です。

Kubernetesを有効化する

  • DockerDesktopが起動したら、Preferences (⚙) を開きます
  • Preferences > Resourses > ADVANCED で必要なリソースが割あたっているか確認します
    • 推奨は CPU=4, MEM=8GB 以上です
    • DockerDesktop
  • Preferences > Kubernetes から Enable Kubernetes にチェックをいれます
    • Kubernetes on DockerDesktop
  • Apply & Restartをクリックします

デプロイする

$ git clone https://github.com/ca-risken/k8s-sample.git
$ cd k8s-sample
  • makeコマンドでlocal環境にデプロイします
$ make local-apply
  • PodのStatusがRunnigになるのを待ちます(初回起動は少し時間がかかりますが、1分~2分待ってると立ち上がりました)
$ kubectl get pod -A
  • k9sの場合は以下のコマンドでPodの一覧とステータスが確認できます
$ k9s

M1 MacでDBコンテナが立ち上がらない問題があるかも?

RISKENは一部のコンテナはマルチアーキテクチャに対応していないイメージがあります。
Dockerのドキュメントにあるように起動時に対応が必要な場合があるかもしれません。(手元に環境がなく試せていないのですが、、、)

ARM64 アーキテクチャー向けのイメージがすべて利用可能となっているわけではありません。 Intel イメージの実行には、エミュレーションのもとで--platform linux/amd64をつけて実行することが必要です。 特に mysql イメージは ARM64 向けには利用できません。 これに対する当面の対処としては mariadb イメージを利用してください。


動作確認

  • http://localhost/ にアクセスし画面が表示されれば成功です👏
    • 最初にログインするとユーザ名の入力が求められます

User


環境削除

以下のコマンドでRISKEN環境を削除できます(RISKEN用に作成したKubernetesオブジェクトを全て削除します)

$ make local-delete

まとめ

  • ローカルPC上でRISKENというツールを動かしてみました
  • 次回は、RISKENを使ってWEBサイトやAWSやGCPをスキャンしてみた的なブログを書いてみようと思います

Discussion