背景など
最近ではクラウドの利用が進んでおり、様々な企業がクラウド上にシステムを構築し、データを格納しています。
クラウドは常に新しい機能が開発されており、クラウドに対する理解が浅いままシステムを構築するとセキュリティの観点からは脆弱な設定になってしまっている場合があります。
また、一般的な脆弱性診断では、システムの脆弱性の有無は確認できますが、クラウド特有の設定項目(IAM等)に対しては対応できない場合があります。
そのため、クラウドの設定を監査できるサービス/ソリューションも多く提供されています。
サービスの例
Scout Suiteについて
Scout Suiteとは
今回はクラウドの設定を監査できる無料のScout Suiteを使って、GCP上のサーバ(以前たてたハニーポット)のチェックをしてみました。
Scout Suiteの説明は以下の通りです。
オープンソースのマルチクラウドセキュリティ監査ツールであり、クラウド環境のセキュリティポスチャ(技術的および非技術的要素(ポリシー、手順、およびコントロールなど)評価を可能にします。クラウドプロバイダーによって公開されているAPIを使用して、Scout Suiteは手動で検査するための構成データを収集し、リスク領域を強調表示します。
Scout Suiteの構築
今回はUbuntu18.04にScout Suiteをインストールしました。
1.Ubuntuでの作業
sudo apt install python3 python3-pip
git clone https://github.com/nccgroup/ScoutSuite.git
cd ScoutSuite
pip3 install -r requirements.txt
2.GCP側の設定
ScoutSuiteの説明にもある通り、ScoutSuiteはクラウドが提供しているAPIを使用して設定情報を収集するので、Cloud Resource ManagerのAPI機能を有効化することが必要です。
GCPのコンソールより、「APIとサービス」よりCloud Resource Managerを検索し、APIを有効化します。
補足:Cloud Resource Managerとは
概要としては組織で利用しているGCPの複数プロジェクトをの権限や請求先などを一元管理できる仕組みです。
APIを利用するためのキーをUbuntuにダウンロードします。「IAMと管理」-「サービスアカウント」より、アカウントのキーをダウンロードします。
※「操作」より「新しいキーの発行」でjson形式でファイルをダウンロードします。
3.ScoutSuiteの実行
再度、Ubuntu側に戻り、ダウンロードしたキーを登録し、ScoutSuiteを実行します。
環境変数の設定
export GOOGLE_APPLICATION_CREDENTIALS="/home/[ユーザー名]/Downloads/[ファイル名].json
ScoutSuiteの実行
python3 scout.py gcp --user-account
上記コマンドを実行すると、チェックした結果がブラウザで表示されます。
「Checks」にScoutSuiteがチェックした項目数が表示されます。
チェック項目を見ていくと指摘の内容や、指摘の根拠が表示されます。
以下の画面からは、ScoutSuiteが設定チェックのベースラインとして、CISのベンチマークを参照していることがわかります。