Evident.ioでAWS環境のセキュリティ診断をしてみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、佐伯です。 今回はEvident.ioを利用して、AWS環境のセキュリティ診断を実施してみました。

Evident.ioとは

Evident.ioはAWSやAzureなどのクラウドサービスにおける、セキュリティリスクやコンプライアンス要件を満たしているかなどを継続的にモニタリングしてくれるEvident Security Platform(以下、ESP)というサービスを提供しています。特徴として組織、サブ組織、チームといった形でユーザーと外部アカウント(AWS or Azure)をグルーピングすることができ、組織で管理しているAWSアカウントやAzureアカウントのセキュリティリスクを一元的に管理することができます。

やってみた

モニタリング対象のAWSアカウントの登録からやってみました。

外部アカウントの登録

外部アカウントが登録されていない場合、登録手順が表示されるので手順に沿ってESPのAWSアカウントを信頼するIAMロールを作成します。 (追加で外部アカウントを登録する場合は上部の[Add External Account]より登録可能です)

登録する外部アカウントはAWSなのでAWSをクリックします。

IAMロール作成の手順まで進めると、AWSアカウントIDと外部IDが表示されるので登録するAWSアカウント側でIAMロールを作成します。

信頼するアカウントにESPで表示されたアカウントID、外部IDを入力します。

作成するIAMロールにIAMポリシー SecurityAudit をアタッチします。

ロール名を入力し、IAMロールを作成します。

あとはESPにIAMロールのARNと外部キーを登録して完了です。

シグネチャ

ESPではアラート条件の定義をシグネチャとよびます。2018年7月時点でデフォルトで定義されているAWS向けのシグネチャはおよそ140ほど存在していました。

ダッシュボード

外部アカウントを登録してしばらくするとESPがAWSの設定をスキャンし、リージョン/サービス/リスクレベルごとにアラートの一覧がグラフで表示されます。

アラート

ダッシュボードから各グラフをクリックするとアラートの一覧が表示されます。以下はハイリスクのアラート内容です。

デフォルトのネットワークACLがサブネットに関連付けられているというアラートを検知していました。アラートの[Details]よりアラートの説明、アラートの修復手順などを確認することができます。

アラートの抑止

私のAWS環境はネットワークACLによる通信制御は行わず、セキュリティグループのみで管理しているので、このシグネチャのアラートを抑止してみます。先程のアラートの[Details]より、[Suppression Option]->[Suppression this signature]をクリックします。アラートの抑止はリソースごと、シグネチャごと、リージョンごとなどで設定することができます。

[Reason]とアラート抑止対象の[External Accounts]を選択します。

[Regions]ではアラート抑止対象のリージョンを選択します。今回は全てのリージョンを選択しました。

[Resource]ではアラートを抑止したい単一のリソースIDを指定したり、ワイルドカードでリソースIDを指定することができます。今回は全てのリソースを対象としたいため、空欄のままとしました。

[Signatures]ではアラート抑止対象のシグネチャを選択します。今回はアラートの[Details]よりアラート抑止設定を行っているので、Default VPC NACL シグネチャが既に選択された状態となっていました。[Save]をクリックするとアラート抑止設定が保存されます。

次回スキャン後にダッシュボードからもアラートが減ったことを確認できました。

アラート抑止設定の一覧は[Control Panel]->[Alert Suppressions]より確認できます。この画面からアラート抑止設定を無効化したり、新たに作成することもできます。なお、アラート抑止設定は無効化したものを有効化することはできず、一度無効化した抑止設定を再度有効化したい場合は、同じ抑止設定を作成する必要があり、無効化された設定は自動で削除されるとのことです。

参考リンク: Live Community - Is it possible to delete, modify, or reactivate a ... - Live Community

コンプライアンス

Evident.ioはCIS AWS Foundations Benchmarkなどのコンプライアンスに準拠している構成か否かをレポートする機能もあります。トライアルアカウントでは AWS S3 Bucket FitnessNetwork Security Group Fitness がデフォルトで有効化されており、その他のコンプライアンスは有効化できませんでした。

以下はAWS S3 Bucket FitnessNetwork Security Group Fitnessのチェック項目の一覧となります。

AWS S3 Bucket Fitness

Network Security Group Fitness

レポート

ESPは定期的にAWS環境の設定をスキャンし自動でレポートを生成してくれます。デフォルトでは1時間おきにレポートを生成しますが、手動でレポート生成を実行することも可能です。

レポート画面ではアラートの増減を確認できたり、外部アカウントごとのコンプライアンスレポートを確認できます。

参考リンク

まとめ

クロスアカウントアクセスの設定を行うだけで、AWS環境における様々なセキュリティリスクを継続的、一元的に管理できる便利なサービスでした。Evident.ioにはオートメーション機能などがあるようなので、後日別エントリとしてご紹介できればと思います。