AWS WAFを使う機会があったのでちょいと調べてみた。
AWS WAFとは
Web アプリケーションの通信をフィルター、監視、ブロックするためのソフトウェアまたは、ハードウェアのセキュリティ対策。
一般のファイアウォールや IDS/IPS との違いは、アプリケーションレベルで通信の中身を解析し、特定の条件にマッチする通信を検知・遮断する。
WAF の代表的な用途には、SQL インジェクション、クロスサイトスクリプティングなど、アプリケーションの脆弱性を悪用した攻撃の遮断やアプリケーション層の DDoS 対策、不正なボットによるアクセスの遮断などがある。
aws.amazon.com
AWS WAFコンポーネント
- WebACL:WAF設定の塊。特定のAWSリソースに割り当てる。
- ルール:リクエストに対する条件。
- ルールグループ:ルールをまとめたもの。
- アクション:ルールに合致した場合の行動を指定。Allow、Block、Countがある。
WebACLを割り当てることができるリソース
- CloudFront
- ALB
- APIGateway
アクションの動作
AWS WAF料金(jp)
WAFv1とWAFv2とは
2019年末頃にバージョンが上がった模様。変更点としては、ルールの設定上限算出方法の変更(数から重みに変更)、マネージドルールの提供、記述方法の変更がある。旧バージョンは下記から設定可能。
terraformでWebACLだけ作ってみる
provider "aws" { region = "ap-northeast-1" } resource "aws_wafv2_web_acl" "example" { name = "example-waf" description = "Example WAF for web application" scope = "REGIONAL" default_action { allow {} } visibility_config { cloudwatch_metrics_enabled = false metric_name = "exampleACLDefaultMetric" sampled_requests_enabled = false } tags = { test = "test" } }
# terraform plan # terraform apply
※作れた
感想
どうでもいいが最近やる気がでない。これを楽しんでやっている人は頭がイカ〇ている気がする。あー、仕事変えたい( ̄д ̄)