【セキュアアカウント】セキュリティアラートをメールで通知してみよう

2023.06.08

セキュアアカウントとは

クラスメソッドでは、セキュリティに関するベストプラクティスをまるっと施した状態のAWSアカウントをお客様に提供しております。

クラスメソッドメンバーズご利用の全てのお客様がご利用可能ですので、この機会にご検討ください。

セキュアアカウントのアーキテクチャ

セキュアアカウントでは下記の設定が施されています。

各設定の詳細は下記記事や仕様書をご参照ください。

今回の設定対象のサービス

今回は「GuardDuty」「Security Hub」「IAM Access Analyzer」の検知結果をメールやSlackにて通知できるようにしていきます。

通知設定ってなんのこと?

詳細な説明はこちら

セキュアアカウントではアカウント内の脅威を検知してくれるセキュリティサービス(具体的にはGuardDutyやSecurity Hub、IAM Access Analyzer)を有効化にしていますが、初期状態だとその脅威はアカウント内のみ表示されます。

ユーザーはアカウントにログインしないとその脅威に気付きません。脅威はすぐさま発見し対応出来るようにする必要があります。

なので今回はセキュリティサービスが脅威を検知した際に、いい感じの内容で脅威をメールで伝えてくれるように設定していきます。

通知先はメールとSlackに対応していますが、今回はメールに通知する設定を紹介していきます。

やってみよう

前提

ステータス

アカウント申し込み時にセキュアアカウント状態で払い出すか、オプトイン機能により下記画像の赤枠部分の設定を事前に有効化する必要があります。

オプトインにて設定する場合

メンバーズポータルサイトから対象のアカウントIDを選択します。

下記画面から、メンバーズサービス設定を選択します。

新しくタブが開かれるので、セキュリティ設定を選択します。

設定項目にて、「Amazon Access Analyzer」「Amazon EventBridge通知設定」「Amazon GuardDuty」「AWS Security Hub」の有効化にて保存します。

オプトインにより設定が有効化されるのは毎週土曜日以降となるので、翌週にAWS内の設定反映をご確認いただけます

Security Hub設定

Security hubの設定で「統合されたコントロールの検出結果」はオフにしておきましょう。

オンとオフでSecurity Hubが出力する検出結果の値が異なり、メール通知のトリガーに引っ掛からなくなる為です。

事前準備

  • 通知先として登録したいメールアドレスを準備してください
  • セキュリティアラートを通知したいAWSアカウントのAWSマネジメントコンソールにログイン済みの状態にしてください

通知有効化作業

メール通知のクイック作成リンクをクリックしてください。

クリックすると下記画面が表示されので「メールアドレスの入力」と、「チェックボックスの有効化」を行い「スタックの作成」を選択してください。

CloudFormationによるリソースの作成が完了するまで少々待機しましょう。

リソースの作成が完了すると、入力したメールアドレス宛に下記のようなメールが飛んできているので、「Confirm subscription」を選択してメールの通知を許可しましょう。

このような画面が表示されば成功です、脅威がメールで通知されるようになります。

通知先メールアドレスを追加したい

複数のメールアドレスに通知したい場合は、こちらの手順を実施してください。

コンソール画面より「SNS」サービスを選んでいただき、トピック「cm-security-alert-mail-topic」を選択してください。

画面下に「サブスクリプションの作成」があるので選択してください。

プロトコル「Eメール」、エンドポイント「追加したいメールアドレス」を入力してください。

後は追加したメールアドレスに先ほどのメールが届いているので「Confirm subscription」を選択してメールの通知を許可しましょう。

通知先メールアドレスを削除したい

通知先のメールアドレスで不要になったものがある場合は、こちらの手順を実施してください。

SNSのサブスクリプションの一覧から、削除したいメールアドレスを選択した状態で「削除」を選択してください。

ポップアップが表示されるので削除して完了です。

通知に関連するリソースを完全に削除したい

「一連の通知機能はもういらないよ」って場合は、CloudFormationのスタックを削除し、関連のリソースを全て削除します。

コンソール画面より「CloudFormation」サービスを選んでいただき、「cm-security-alert-mail-stack」を選択し「削除」をクリックしてください。

ポップアップが表示されるので削除して完了です。

【追記】サブスクリプション削除

Amazon SNS トピックからサブスクリプションを削除することも、トピック全体を削除することもできます。Amazon SNS トピックを削除すると、そのトピックに関連するすべてのサブスクリプションも削除されます。つまり、削除されたトピックに対して以前に確立された、確認済みのサブスクリプションは存在しなくなります。

参考:Amazon SNS サブスクリプションおよびトピックを削除する

上記のような記述があるので、CloudFormation削除後(SNSトピック削除後)は自動的にサブスクリプションも削除されるかと思ったのですが、自分が試したところ手動で追加したサブスクリプションは少なくとも1日以上は残っていました(自動削除確認できず)。

なので手動で削除したい場合は、左のメニューバーから「サブスクリプション」を選択して削除していただければと思います。

最後に

正式なご案内はこちらのユーザーガイドをご参照していただければと思います。

実は意外とセキュアアカウントに通知機能を設定している方が少ないんじゃないでしょうか?

この記事を参考に通知機能を設定して、よりセキュアなアカウントに仕上げていただければと思います。

もしメールじゃなくてSlackに通知したい場合、ユーザーガイドを見てね!