メインコンテンツまでスキップ

CIS AWS/Google Cloud Foundations Benchmark に対する解説・検査の拡充

· 約7分
Takashi Yoneuchi

Shisho Cloud における CIS AWS/Google Cloud Foundations Benchmark に関連して提供している解説・検査ルールを拡充しました。 これにより Shisho Cloud 上で、より広い範囲の AWS/Google Cloud 上のリソースのセキュリティ様態を、より広い観点で評価していただけます。

eyecatch

拡充の概要

今回の拡充により、以下のベンチマークに記載のある項目のうち、自動化が可能な項目全て に対して Rego によるマネージド検査ルール・Flatt Security による解説がご利用いただけるようになりました:

  • CIS AWS Foundations Benchmark v1.5.0
  • CIS Google Cloud Foundations Benchmark v1.3.0
info

同ベンチマークの最新版は現在以下です:

  • CIS AWS Foundations Benchmark v2.0.0
  • CIS Google Cloud Foundations Benchmark v2.0.0

バージョン間で削除されずに残っている項目のうち、ManualAudomated の分類の変化や、Profile Applicability の変化のみを有するものは、既に今回の更新において変更を一部適用しております。 また数点ほど存在する追加項目に関しても、Shisho Cloud 上でのマネージド検査ルールや解説の提供を順次進めてまいります。

Findings

利用開始方法

Shisho Cloud を新しく利用したい場合

ご関心をお寄せ頂きありがとうございます!Shisho Cloud 公式ページ からお問い合わせください。 直ちに Shisho Cloud の無料トライアルの開始手順をご案内いたします。

既存の Shisho Cloud 組織での適用

既に Shisho Cloud を利用している 全てのお客様 が、以下の手順で拡充されたポリシーを利用できます:

  1. Shisho Cloud とクラウド間の連携を更新する
  2. Shisho Cloud に新規ワークフローを追加する
  3. ワークフローを GitHub リポジトリに追加する (オプショナル)

(1) 連携の更新

以下のガイドを確認し、Shisho Cloud と AWS/Google Cloud 間の連携を更新してください。

既に連携用のサービスアカウントを作成している場合、Google Cloud 連携に関して、Shisho Cloud 側で変更すべき設定は基本的にありません。 また、サービスアカウントを再作成する必要もありません。

しかし、連携用サービスアカウントが存在するプロジェクトにおいて、一部の Google Cloud API を有効化する必要があります。 以下のコマンドや、Google Cloud 連携のチュートリアル 中に記載のある Terraform コード片により、必要な API を全て有効化できますから、これを 必ず 実行してください:

gcloud services enable \
bigquery.googleapis.com \
cloudasset.googleapis.com \
cloudkms.googleapis.com \
cloudresourcemanager.googleapis.com \
compute.googleapis.com \
container.googleapis.com \
dns.googleapis.com \
essentialcontacts.googleapis.com \
logging.googleapis.com \
iamcredentials.googleapis.com \
iam.googleapis.com \
pubsub.googleapis.com \
serviceusage.googleapis.com \
storage-component.googleapis.com \
sqladmin.googleapis.com \
--project "$PROJECT_ID"

(2) 更新後のワークフローの適用

以下の手順で最新のワークフローを適用できます:

danger

以下の手順では Shisho Cloud 上に登録されたワークフローを上書きします。 Shisho Cloud 上でパラメータの設定をしている場合や、Rego ポリシーを変更している場合は、以下のコマンドにより 必ず 既存の Shisho Cloud マニフェストのバックアップを取得してください:

SHISHO_ORG_ID="自分の Shisho Cloud 組織 ID"
shishoctl workflow export --structured --org "$SHISHO_ORG_ID" --path .

なお現在 Shisho Cloud 上でのワークフローのバージョニング機能の提供も検討してしています。 また意図せずにワークフローを上書きしてしまい、ワークフローに対するパラメータの設定が失われた場合は、Flatt Security サポートにお問い合わせください。

info

shishoctl コマンドを利用したことがない場合は、チュートリアル を参照し、設定を行ってください。

SHISHO_ORG_ID="自分の Shisho Cloud 組織 ID"

# 最新のワークフローを取得する
git clone https://github.com/flatt-security/shisho-cloud-managed-workflows
cd ./shisho-cloud-managed-workflows

# CIS AWS Foundations Benchmark v1.5.0 に対応するポリシーを $SHISHO_ORG 組織に適用する
shishoctl workflow apply --org "$SHISHO_ORG_ID" -f ./workflows/cis-benchmark/aws-v1.5.0

# CIS Google Cloud Foundations Benchmark v1.3.0 に対応するポリシーを $SHISHO_ORG 組織に適用する
shishoctl workflow apply --org "$SHISHO_ORG_ID" -f ./workflows/cis-benchmark/googlecloud-v1.3.0

(3) 自組織の GitHub リポジトリへの取り込み

GitHub Actions に関するチュートリアル に記載の手順でポリシーコードを格納したリポジトリを作成した場合は、上記手順で Shisho Cloud 上のワークフローを更新した後に、以下の手順を実施してください:

SHISHO_ORG_ID="自分の Shisho Cloud 組織 ID"

# 自組織の GitHub リポジトリを習得する
git clone <GitHub リポジトリの URL> ./repo
cd ./repo

# 改めて更新後のワークフローを Shisho Cloud からエクスポートする
shishoctl workflow export --structured --org "$SHISHO_ORG_ID" --path .

# 差分をレビューする
git diff

# ... 変更を取り込むか判断し、コミット・プッシュする

flatt-security/shisho-cloud-managed-workflows を fork して作成した場合は、同リポジトリの最新のブランチをマージし、差分を取り込んでください。