[小ネタ] 全リージョンの GuardDuty結果更新頻度を 15分にして Detective推奨設定にしよう

追加コストは無いです
2020.07.17

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

Amazon Detective はセキュリティイベントの調査のためのサービスです。

※ Detective の使い方については Developers.IO 2020 CONNECT で投稿された、 以下解説が分かりやすいです。 ぜひ御覧ください。

Detectiveの推奨事項

このDetectiveを使い始めるにあたって、いくつか注意・推奨事項があります。

Recommended update to the GuardDuty CloudWatch notification frequency という項目がありますね。 結論のみ言うと下図の設定をしましょう、ということです。

img

Detective 利用の前提条件として GuardDutyの有効化があります。

この GuardDuty検出器の結果更新頻度のデフォルトは 6時間 です。 GuardDutyが何か驚異を検知しても、その結果は最大 6時間後まで Detectiveに反映されません。 早期調査を行えるようにするために これを 15分 に変更することが推奨事項となります。

※構成を変更してもGuardDuty使用料金は影響無いので安心ください。

全リージョン変更しよう

ということで、全リージョンの このGuardDuty設定項目を更新しちゃいましょう。

マネコンでポチポチしてもいいですし、 以下のように Pythonスクリプト(Boto3)を走らせても良いです。

update-all-region-guardduty-settings.py

import boto3

ec2 = boto3.client('ec2')

# リージョン一覧取得、それぞれのリージョンで GuardDuty 設定更新
for region in ec2.describe_regions()['Regions']:
    print("# Region:{}".format(region['RegionName']))
    guardduty = boto3.client('guardduty', region_name=region['RegionName'])
    # Detectors の取得
    detectors = guardduty.list_detectors()['DetectorIds']
    if not detectors:
        print("GuardDutyを有効化しよう")
        continue
    # 設定のアップデート
    detector_id = detectors[0]
    print("before:{}".format(guardduty.get_detector(
        DetectorId=detector_id)['FindingPublishingFrequency']))
    guardduty.update_detector(DetectorId=detector_id,
                              FindingPublishingFrequency="FIFTEEN_MINUTES")
    print("after :{}".format(guardduty.get_detector(
        DetectorId=detector_id)['FindingPublishingFrequency']))

▼ スクリプト実行例

> python update-all-region-guardduty-settings.py
# Region:eu-north-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:ap-south-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:eu-west-3
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:eu-west-2
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:eu-west-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:ap-northeast-2
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:ap-northeast-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:sa-east-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:ca-central-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:ap-southeast-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:ap-southeast-2
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:eu-central-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:us-east-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:us-east-2
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:us-west-1
before:SIX_HOURS
after :FIFTEEN_MINUTES
# Region:us-west-2
before:SIX_HOURS
after :FIFTEEN_MINUTES

おわりに

普段使うリージョンも、使わないリージョンもいつ攻撃されるか分かりません。 攻撃をすぐに検知、すぐに調査するためにも、 GuardDuty/Detective を全リージョン で有効化することおすすめします。

少しでもどなたかのお役に立てば幸いです。

参考