こんにちは、ひろかずです。
GuardDutyやMacieなどの通知をSlack通知する需要はあると思います。
それぞれ、Cloudwatch Eventsを設定して、Slack通知するLambdaを書いたりしていることでしょう。
re:Invent2018で発表されたAWS Security Hubは、GuardDutyやMacie、Inspectorの通知を統合するダッシュボードとして提供されています。
Security Hubに通知されたFindigsをSlack通知することで、通知設定をまとめることができそうなので、一筆書きます。
注意
AWS Security Hubは、2019/4/11現在、プレビュー中です。
参考ドキュメント
How to Enable Custom Actions in AWS Security Hub
AWS Security Hub - User Guide
ざっくり構成
工程
- AWS Security Hubを有効にする
- Cloud Formationテンプレートから、Slack通知Lambdaを構成する
- AWS Security Hubでカスタムアクションを作成する
- Cloudwatch Event Ruleを編集する
- 動作確認
前提条件
- SlackのIncoming Webhookを設定できる権限を有していること
- こちらの手順 を基に、Slack側の通知先チャンネルにIncoming Webhookを用意しておくこと
- Security Hubを設定するリージョンで、AWS Configを有効にしていること
1. AWS Security Hubを有効にする
AWSマネジメントコンソールから、Security Hubの管理画面を表示
- [Enable Security Hub]を選択
サービスロールを作成するよという注意書きが表示されます
- [Enable AWS Security Hub]を選択
2. Cloud Formationテンプレートから、Slack通知Lambdaを構成する
AWSマネジメントコンソールから、CloudFormationの管理画面を表示
- [Create Stack]を選択
- 表示は、新しいCloudFormationのコンソールです
AWSのGitリポジトリから、CloudFormationテンプレートをダウンロード
- [Template is ready]を選択
- [Upload a template file]を選択
- ダウンロードしたテンプレートをアップロード
- [Next]を選択
スタック名を入力して、事前に用意したSlackのIncoming WebhookのURLと通知先チャンネル名、最低通知レベル(LOW,MED,HIGH)を入力
- 今回はLOWレベル以上を通知するように設定
必要に応じて、タグを設定して[Next]を選択
IAM Roleが作成される旨の表示に同意のチェックを入れて、[Create stack]を選択
処理が完了するのを待ちます。
3. AWS Security Hubでカスタムアクションを作成する
(2019/7/8編集)このセクションは実施しなくても、通知はできます
AWSマネジメントコンソールから、Security Hubの管理画面を表示
- [Settings] > [Custom actions] > [Create custom action]を選択
Name欄とDescription欄、Custom action ID欄にそれぞれ入力して[Ok]を選択
できました
4. Cloudwatch Event Ruleを編集する
AWSマネジメントコンソールから、Cloudwatchの管理画面を表示
- [Rules] > [SecurityHubFindingsToSlack] > [Actions - Edit]を選択
Event Patternを以下のように編集して、[Configure details]を選択
- (2019/7/8編集)GA後にイベントパターンが変わったようなので修正しました
{
"source": [
"aws.securityhub"
],
"detail-type": [
"Security Hub Findings - Imported"
]
}
[Update rule]を選択
5. 動作確認
Guard DutyのサンプルFindingsを作成してみます
- Guard Duty管理画面の[Settings]を選択
- Detector IDを控えておく
以下コマンドを実行
$ aws guardduty create-sample-findings --detector-id <Detector ID> --finding-types "Recon:IAMUser/ResourcePermissions" --region <Your Region>
しばらくすると、Slackに通知が来ました
しばらくすると、CISベンチマークの通知も来ましたね
Macieのカスタムアラートは、Security Hubへの通知はありませんでした。
プレビューなので、何かあるかもしれません。
完全とは言えませんが、FindingsをSlackに通知することができました。
今日はここまでです。
お疲れ様でした。