kakakakakku blog

Weekly Tech Blog: Keep on Learning!

AWS WAF Managed Rule Group の更新通知を受け取る

AWS WAF (Web Application Firewall) を運用していると Managed Rule Group の更新を把握したいという場面がある💡Managed Rule Group ごとに存在する Amazon SNS トピックをサブスクライブしておくと AWS WAF Managed Rule Group の更新通知を受け取れて便利 \( 'ω')/

docs.aws.amazon.com

Amazon SNS トピック ARN

Amazon SNS トピック ARN はコンソールで確認することもできるし,AWS CLI の aws wafv2 describe-all-managed-products コマンドを実行して確認することもできる❗️以下に jq と組み合わせて確認するコマンド例を載せておく.

$ aws wafv2 describe-all-managed-products --scope REGIONAL | jq '.ManagedProducts[] | { VendorName, ManagedRuleSetName, SnsTopicArn }'

aws wafv2 describe-all-managed-products コマンドを実行した結果を一部抜粋する.例えば AWSManagedRulesCommonRuleSet の更新通知を受け取るなら arn:aws:sns:us-east-1:248400274283:aws-managed-waf-rule-notifications をサブスクライブすれば OK👌 多くの AWSManagedRules 関連は同じ Amazon SNS トピック ARN になっていた.

{
  "VendorName": "AWS",
  "ManagedRuleSetName": "AWSManagedRulesCommonRuleSet",
  "SnsTopicArn": "arn:aws:sns:us-east-1:248400274283:aws-managed-waf-rule-notifications"
}

また CyberSecurityCloud-HighSecurityOWASPSet- のように AWS Marketplace Managed Rule Group の更新通知も受け取れる👌

{
  "VendorName": "Cyber Security Cloud Inc.",
  "ManagedRuleSetName": "CyberSecurityCloud-HighSecurityOWASPSet-",
  "SnsTopicArn": "arn:aws:sns:us-east-1:343255486711:CyberSecurityCloud-ManagedRule"
}

しかし Managed Rule Group によっては SnsTopicArn の値が n/a になっていることもあるので注意💨

{
  "VendorName": "AWS",
  "ManagedRuleSetName": "AWSManagedRulesBotControlRuleSet",
  "SnsTopicArn": "n/a"
}

Amazon SNS トピック ARN をサブスクライブする

Amazon SNS トピック ARN をサブスクライブするときの注意点は us-east-1 リージョンの Amazon SNS でサブスクライブするところ.コンソールでポチポチと設定してもいいし,Terraform で設定するなら aws_sns_topic_subscription リソースを使えば OK👌 もちろんプロトコルは「E メール」ではなく「AWS Lambda」「HTTPS」を選んでも良し❗️

provider "aws" {
  region = "us-east-1"
  alias  = "us-east-1"
}

resource "aws_sns_topic_subscription" "waf_rule_notifications" {
  provider  = aws.us-east-1
  topic_arn = "arn:aws:sns:us-east-1:248400274283:aws-managed-waf-rule-notifications"
  protocol  = "email"
  endpoint  = "email@example.com"
}

直近だと2023年12月4日に Scheduled update to the default version for AWSManagedRulesCommonRuleSet という通知が届いていた📧 詳細な変更履歴は以下のドキュメントを確認すれば OK👌

docs.aws.amazon.com