- guardduty_notify.tf
https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_findings.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
resource "aws_sns_topic" "guardduty_alerts" { name = "guardduty_alerts" } resource "aws_cloudwatch_event_rule" "guardduty_finding" { name = "guardduty_finding" description = "Capture GuardDuty findings with severity >= 4 and trigger SNS notification" event_pattern = <<EOF { "source": ["aws.guardduty"], "detail-type": ["GuardDuty Finding"], "detail": { "severity": [{ "numeric": [">=", 4] }] } } EOF } resource "aws_cloudwatch_event_target" "guardduty_finding" { rule = aws_cloudwatch_event_rule.guardduty_finding.name target_id = "sns" arn = aws_sns_topic.guardduty_alerts.arn } |
- chatbot.tf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
data "aws_iam_policy_document" "chatbot_policy" { statement { actions = [ "sts:AssumeRole" ] principals { type = "Service" identifiers = ["chatbot.amazonaws.com"] } } } resource "aws_iam_role" "chatbot" { name = "chatbot_role" assume_role_policy = data.aws_iam_policy_document.chatbot_policy.json } resource "aws_chatbot_slack_channel_configuration" "guardduty_slack" { configuration_name = "guardduty-notify" iam_role_arn = aws_iam_role.chatbot.arn slack_team_id = "xxxxxxxxx" slack_channel_id = "xxxxxxxxxxx" sns_topic_arns = aws_sns_topic.guardduty_alerts.arn } |
GuardDutyからアラートの設定はできないので、イベントルールから行う。ちなみにChatbotはAWS Provider v5.61.0以上から利用できる。便利!脅威検知のしきい値は中以上の4くらいが良さそうだが、チューニングしていく。
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。