Cloud OptixにGCPアカウントを追加する
Sophos Cloud Optixをご紹介します。Cloud Optixはパブリッククラウドを対象にしたエージェントレスのSaaS型サービスです。クラウド環境の可視化をできるほか、設定がコンプライアンスに沿っているか確認できます。今回はGCPアカウントをCloud Optixに追加する方法を紹介します。
GCPプロジェクトの課金を有効にする
GCPプロジェクトの課金を有効にしておかないと、API実行に失敗するためスクリプトが失敗します。事前に有効化しておきます。
You must have billing enabled for your GCP project in your Google account. If it isn't, for example a free trial, Google restricts access to APIs that Cloud Optix needs and the script will fail.
引用元:https://docs.sophos.com/pcg/optix/help/en-us/pcg/optix/tasks/GoogleCloud.html
GCPアカウントをCloud Optixに追加する
Cloud OptixのEnvironmentsから、環境を追加します。Google Cloud Shellで表示されたコマンドを実行します。
コマンドを実行すると、対話形式でオプションを設定します。全てのプロジェクトを対象に有効化しました。
Do you want to onboard all projects (y/n)? y Do you want cloud-optix-xxxx as your main project(where service account will be created) (y/n)? y Enter admin account email for your gsuite domain, Leave blank if you dont want user/group data of your gsuite domain
スクリプトが完了すると、Cloud Optixの環境に追加されます。
Cloud OptixにG Suiteドメイン全体の委任を行う場合、以下の手順を行います。手順を行うにはGCPの組織に関連付けられているドメインの管理者である必要があります。今回は行いませんでした。
GKEを含める場合、マスターノードのファイアウォールルールにSophosのIPを追加します。
Cloud OptixからGCPを管理する
テストのためにCloud Storageを作成し、パブリックにしました。手順はバケット内のすべてのオブジェクトを公開するを参考にしています。
AWS、IaCなど複数の環境を追加した場合、特定の環境だけ表示できます。
事前にPublic設定を行っていたため、ストレージバケットがPublicであるアラート「Ensure that Cloud Storage bucket is not anonymously or publicly accessible」が発生しました。
Remediationには、このアラートを解消するための方法が記載されています。allUsersまたはallAuthenticatedUsersの権限を取り除くよう記載されています。
- Go to the Google Cloud Portal
- Go to Storage Section
- In Storage, Click Browser
- Select each storage bucket and click on menu in right most column
- Select Edit Bucket Permissions
- Expand every role displayed
- Click Delete button in front of allUsers and/or allAuthenticatedUsers to remove that particular role assignment
Public設定が意図通りの場合、ベルのマークを選択後、リソースを選び理由を入力して抑制します。抑制されたアラートはアラート一覧画面から削除されます。
おわりに
Cloud OptixにGCPアカウントを追加し、パブリックなバケットをアラート検知できることを確認しました。