セキュリティイベントを Security Hub から検出通知する
こんにちは。
ご機嫌いかがでしょうか。
"No human labor is no human error" が大好きな吉井 亮です。
AWS Security Hub が GA になりました。
一つのコンソールでセキュリティを表示出来るのは運用者にとって喜ばしいと思います。
GuardDuty、Inspector、Macie、CISベンチマーク、対応するセキュリティ製品のアラートを集約管理することが可能です。
ただ、コンソールと睨めっこしているわけにはいかないので
セキュリティイベントを通知させたいと思います。
Security Hub の有効化
まずは Security Hub を有効化します。
すでに有効にしている方は飛ばしてください。
マネジメントコンソールから Security Hub を開きます。
Security Hub に移動 をクリックします。
続いて AWS Security Hub の有効化 をクリックします。
セキュリティイベントの通知
Security Hub → CloudWatch Events → SNS → EMail という通知経路を今回は試しています。
SNS トピックの作成
SNS トピック を開きます。
トピックの作成 をクリックします。
[トピックの作成] 画面で任意の名前と表示名を入力し、画面下部の トピックの作成 をクリックします。
次の画面で サブスクリプションの作成 をクリックします。
プロトコルを Eメール に、エンドポイントに ご自身のメールアドレス を入力し、
画面下部の サブスクリプションの作成 をクリックします。
しばらくすると AWS Notification - Subscription Confirmation という件名のメールが来ると思います。
本文をよく確認して Confirm を行ってください。
CloudWatch Events ルールの作成
CloudWatch Events を開きます。
ルールの作成 をクリックします。
下図のように、イベントソースのサービス名に Security Hub 、イベントタイプに Security Hub Findings - Imported を選択します。
ターゲットには前の手順で作成した SNS トピックを指定します。
2019/06/28 追記
上記設定を行うと大量のメールが送信される可能性がございます。
運用環境での適用は十分なテストを実施のうえご判断ください。
テスト
テストをします。
下図のように RDP を全世界にオープンしたセキュリティグループを作って EC2 インスタンスに割り当てます。
※※※注意※※※
※本ブログのテスト用途です。
※実際にこのようなセキュリティグループは作らないようお願いします。
結果 Security Hub
Security Hub の左ペインから 検出結果 をクリックします。
ご覧の通り Port 3389 (RDP) が全世界にオープンだということが検出されています。
結果 メール
メールも届いています。
全文は表示できませんが、Security Hub が検出したイベントが通知されています。
まとめ
Security Hub で検出したイベントを SNS (メール) で通知してみました。
今回はメールでしたが、Slack や PagerDuty へ飛ばすことも可能です。
また、Lambda や RunCommand などでオートメーションを実現することも可能です。
参考
Automating AWS Security Hub with CloudWatch Events
How to Integrate AWS Security Hub Custom Actions with PagerDuty
以上、吉井 亮 がお届けしました。