AWS ALBにWAFが関連付けられていない

インターネット向けのAWS ALBにAWS WAFによる保護を設定してください。

説明

インターネット向けのALBにAWS WAFのウェブACLを関連付けると、設定したルールに基づいてウェブリクエストをフィルタリングできます。WAFがない場合、一般的なウェブ攻撃や異常なリクエストを遮断する機会が減ります。

想定される影響

悪意のあるリクエストやボットのトラフィックが、そのままアプリケーションに届くおそれがあります。実際の保護範囲は、ウェブACLのルールとアクションの設定によって異なります。

対処方法

aws_wafv2_web_acl_associationを使い、公開ALBにウェブACLを関連付けてください。サービスに適したルールを設定し、遮断動作を確認してください。

例

以下は、別途定義したAWS WAFのウェブACLをALBに関連付ける例です。

変更前

hcl
resource "aws_lb" "alb" {
  name               = "test-lb-tf"
  internal           = false
  load_balancer_type = "application"
  security_groups    = [aws_security_group.lb_sg.id]
  subnets            = [for subnet in aws_subnet.public : subnet.id]
}

変更後

hcl
resource "aws_lb" "alb" {
  name               = "test-lb-tf"
  internal           = false
  load_balancer_type = "application"
  security_groups    = [aws_security_group.lb_sg.id]
  subnets            = [for subnet in aws_subnet.public : subnet.id]
}

resource "aws_wafv2_web_acl_association" "alb_waf_association" {
  resource_arn = aws_lb.alb.arn
  web_acl_arn  = aws_wafv2_web_acl.example.arn
}

参考資料