Amazon Inspectorの診断結果をメール通知する

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

はじめに

Inspectorの診断結果をメール通知する方法が無いかな、と思ったら
以下のような記事が2016年に投稿されていました。全然知らなかった…。

Amazon Inspector でセキュリティ脆弱性テストを拡大

Inspectorの診断結果をLambdaに渡して、見やすい形でメール通知させる、というものです。

本記事では、ここで紹介されているLambdaのコード(Python)を少しだけ変えて紹介したいと思います。
Inspectorの利用方法までは細かく解説していません。

設定方法

Inspectorが診断結果をLambdaに渡す用のSNSトピック作成

Inspectorが診断結果をLambdaに渡す用のSNSトピックを作成します。
診断結果を通知したいメールアドレスを登録するわけではないので注意ください。

トピック名はinspector-lambdaとしました。

アクセスポリシーはJSONを貼り付けて設定します。

それ以外は特に設定せずトピックを作成します。

Lambda用のIAMロール作成

以下内容のIAMポリシーを作成し、

このポリシーをアタッチしたロールを作成します。

Lambda関数の作成

sns-message-pythonという設計図を利用します。

IAMロールや、関数実行のトリガーとなるSNSトピックを設定し、関数を作成します。

関数が作成されたら、以下のコードを適用します。
黄色部分は適宜変更ください。

Inspector側の設定

評価テンプレートの設定で、診断結果を今回作成したSNSトピックに通知するように設定します。

診断実施

Inspectorによる診断を実施します。
初回は通知先アドレスにSNSのサブスクリプション確認メールが届くはずなので、承認してください。

2回目では診断の結果が1タイトルごとに1通届きますが、中には通知しなくてもよいタイトルがあると思います。
例えば下記はグローバルからインスタンスにHTTPSでアクセスできるよ、という警告なのですが
LB無しでWEBサービスを提供していれば当たり前のことなので、次回診断以降は通知しないようにしたいところです。

ちなみに、メールの内容をよく見ると「HTTPSをListenしているプロセスが無いのに、
セキュリティグループでHTTPSのアクセスを許可しているよ」と書かれています。
実際はHTTPSをListenしているのですが、診断時間1時間が推奨されるところを
15分に設定して診断しているので、精度が低くなっているのかも知れません。

通知不要なタイトルは、Lambdaのコードの以下の部分に追記してください。
これによって、次回以降はこのタイトルがメールで通知されなくなります。

おわりに

以上、Inspectorの診断結果をメールで通知する方法を書かせていただきました。
本当は通知不要タイトルをコード外に置きたかったのですが、それは今後の検討事項とします。

ご覧いただき有難うございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.