家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

GCPのセキュリティ設定を監査してみた「Scout Suite」

背景など

最近ではクラウドの利用が進んでおり、様々な企業がクラウド上にシステムを構築し、データを格納しています。

ascii.jp

クラウドは常に新しい機能が開発されており、クラウドに対する理解が浅いままシステムを構築するとセキュリティの観点からは脆弱な設定になってしまっている場合があります。

また、一般的な脆弱性診断では、システムの脆弱性の有無は確認できますが、クラウド特有の設定項目(IAM等)に対しては対応できない場合があります。

そのため、クラウドの設定を監査できるサービス/ソリューションも多く提供されています。 

 

サービスの例

esg.teldevice.co.jp

it.impress.co.jp

 

 

 

Scout Suiteについて

Scout Suiteとは

今回はクラウドの設定を監査できる無料のScout Suiteを使って、GCP上のサーバ(以前たてたハニーポット)のチェックをしてみました。

 

Scout Suiteの説明は以下の通りです。

オープンソースのマルチクラウドセキュリティ監査ツールであり、クラウド環境のセキュリティポスチャ(技術的および非技術的要素(ポリシー、手順、およびコントロールなど)評価を可能にします。クラウドプロバイダーによって公開されているAPIを使用して、Scout Suiteは手動で検査するための構成データを収集し、リスク領域を強調表示します。

github.com

 

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を有効化します。

f:id:iestudy:20200527103603p:plain

APIの有効可

 

補足:Cloud Resource Managerとは

概要としては組織で利用しているGCPの複数プロジェクトをの権限や請求先などを一元管理できる仕組みです。

cloud.google.com

 

APIを利用するためのキーをUbuntuにダウンロードします。「IAMと管理」-「サービスアカウント」より、アカウントのキーをダウンロードします。

※「操作」より「新しいキーの発行」でjson形式でファイルをダウンロードします。 

f:id:iestudy:20200527103722p:plain

キーのダウンロード

 

3.ScoutSuiteの実行

再度、Ubuntu側に戻り、ダウンロードしたキーを登録し、ScoutSuiteを実行します。

 

環境変数の設定

export GOOGLE_APPLICATION_CREDENTIALS="/home/[ユーザー名]/Downloads/[ファイル名].json

 

ScoutSuiteの実行

python3 scout.py gcp --user-account

 

上記コマンドを実行すると、チェックした結果がブラウザで表示されます。

「Checks」にScoutSuiteがチェックした項目数が表示されます。

f:id:iestudy:20200527104533p:plain

実行結果

チェック項目を見ていくと指摘の内容や、指摘の根拠が表示されます。

以下の画面からは、ScoutSuiteが設定チェックのベースラインとして、CISのベンチマークを参照していることがわかります。

f:id:iestudy:20200527104820p:plain

チェック項目詳細