先日、第一子の保育園が内定しました。
保育園が決まったことに一安心しつつ、成長のスピードに少し物悲しくもなっています。
はじめに
この記事は前回の記事の続きです。
前回の記事にも書きましたが、発見的統制は、発見したセキュリティリスクを利用者に通知する仕組みが必須です。
通知をしなければ、セキュリティ担当者は気づけないですし、毎日AWSコンソールを開いて異常が発生しているか確認することになります。
Security HubとGuardDutyの運用をスムーズにするための通知の仕組みと、この仕組みに至った背景について紹介します。
アーキテクチャ
先に、現在のSecurity Hub・GuardDutyの通知のアーキテクチャ図をご紹介します。
概要
- GuardDutyの通知は、Security Hubとの統合を使用してSecurity Hub経由で通知する
- リージョン集約を使用し、通知設定を1つのリージョンで完結させる
- 検出結果について
- Slack通知
- Backlog起票
- StepFunctionsを使用して検出結果のステータスを変更する
Security Hubのリージョン集約
Security Hubはクロスリージョン集約という機能があり、これを使用することで複数リージョンの検出結果やセキュリティスコアを1つのリージョンに集約することができます。
上記のアーキテクチャ図では、ap-northeast-1リージョンが集約リージョンにあたります。
この機能のメリットとしては、管理したいすべてのリージョンの集約結果を単一のリージョンで確認できるということと、単一のリージョンで通知設定を完結できるということがあります。
一般的にSecurity Hubなどの検出をイベントドリブンで通知するにはEventBridgeでフィルタルールを作成し、送信したい通知先に送信する、という設定が必要です。
例えばSecurity Hubを複数リージョンで利用している場合、すべてのリージョンにEventBridgeのルールを作成する必要があります。そうしなければすべてのリージョンの結果を検知することができません。
しかし、このクロスリージョン集約機能を使用すれば1つのリージョンで通知設定が完結するため、非常にシンプルになります。
Security HubとGuardDutyの統合
GuardDutyは、Security Hubと統合することができます。
統合すると、GuardDutyは検出結果をSecurity Hubに送信し、Security Hubの画面上でGuardDutyの検出結果を確認することができるようになります。
通常であればGuardDutyの検出結果をEventBridgeで設定する際はEventBridgeのソースを aws.guardduty
とする必要がありますが、上記の統合を行っていると aws.securityhub
をソースとして設定することができます。
この機能の何が嬉しいかというと、上記のクロスリージョン集約と組み合わせることで、GuardDutyの検出と通知を1つのリージョンにまとめることができます。
GuardDutyは、普段利用していないリージョン以外でも有効にすることが推奨されています。(リージョンとエンドポイント)
GuardDuty は、サポートされているすべての AWS リージョン で有効にすることをお勧めします。
GuardDutyはSecurity Hubのようにリージョン集約の機能がありませんので、Security Hub経由で集約することでシンプルに実装することができます。
参考
AWS Security Hub との統合
【小ネタ】GuardDuty 通知は Security Hub 経由で行うとリージョン集約ができて便利
検出結果
EventBridgeから、Slack通知と、Backlogへの自動起票を設定しています。
メール通知より普段から使用しているSlack、また当チームはBacklogで課題管理を行っているので自動でBacklogへの課題起票を行うことで取り漏らしと、対応完了までをトラッキングしやすくなりました。
StepFunctionsはBacklogの自動起票のループを防ぐため、検出結果のワークフローステータスを更新するようにしています。
AWS Security Hub の検出結果を自動で「通知済み」にするを参考に実装しています。詳細は、リンク先の記事をご参照ください。
おわりに
私が入社した当時は、Security HubやGuardDutyが有効なっているだけで通知や運用が整理されていませんでした。
この構成になるまで紆余曲折ありましたが、ひとまず形になって運用も回るようになり、やってよかったと感じています。
しかしまだ改善点が多くあります。他にもAmazon InspectorやAWS Configを活用していきたいと考えています。
またアップデートがあれば記事にしていきたいと思います。