【目次】
1. はじめに
2025年6月5日に、AWS WAFがASN(自律システム番号)での検査に対応したと発表がありました。
Announcing ASN match support for AWS WAF
ASN(自律システム番号)は、インターネットサービスプロバイダーや企業などの組織が管理する大規模なネットワークに割り当てられる一意の識別子です。
今回のアップデートでは、ASNに関するルールステートメントと、レートベースルールの集約キーが追加されました。
本ブログ記事では、ASNを使ったルールについて確認していきたいと思います。
2. ルールステートメントについて
AWS WAFのルール追加画面にてInspectの項目を開くと、 [Originates from an ASN in] というオプションが追加されています。ASNを指定すると、リクエストがそのASNにマッチする場合に指定したルールアクションが実行されます。
ASNの値を指定するため、事前に検知したい値を取得する必要があります。
なお、ASN関連のルールが設定されていない場合、WAFログにはASNの値が含まれないように見えましたので、ASNに関するルールがない状態で取得する場合は、WAFログ以外の方法で確認する必要があります。
ASNは、AWS WAFがIPアドレスを用いて判定しますので、その判定にどのIPアドレスを使うかを指定する必要があります。Source IP addressか、IP address in headerのいずれかを選択します。
Source IPを選択している場合、何らかの理由でAWS WAF側でASNの判定ができないケースでは、ASNに「0」が割り当てられます。ASNが特定できなかった場合の挙動を指定したい場合には、ASNが「0」の場合、という条件で対応できそうです。
IP address in headerの考え方はIPアドレスを対象にした条件と同じですが、注意点として、IP address in headerを選択した場合、 [Position inside header](ヘッダー内のIPアドレスの位置)が [Use the first IP address value in the header to inspect against this rule.] (一番最初のIPアドレス)で固定されている点があげられます。基本的には最初のIPアドレスがクライアントのIPアドレスになるかと思いますが、何らかの理由で最後のIPアドレスを検査したい場合、ASNの仕組みでは対応できません。
ASNマッチルールステートメントの詳細は、以下のAWS公式ドキュメントをご確認ください。
Autonomous System Number (ASN) match rule statement
3. レートベースルールの集約キーについて
レートベースルールを追加する画面にて、Custom keysを選択し、ASNを選ぶとASNを集約キーとして検査可能になります。
レートベースルールや集約キーについては、以下のブログ記事をご参考ください。
レートベースルールの使い方
レートベースルールの条件を詳細に指定できるようになりました
AWS WAF のレートベースルールのカスタムキー URI を指定できるようになりました
上記のブログ記事にも記載の通り、集約キー(Custom Key)はIPアドレス以外の項目で同じリクエストを特定し、レート制限を行います。ASNを集約キーに選択した場合、同じASNの値を持つ送信元から閾値を超えるリクエストがあった場合にレートベースルールが適用されます。
IPアドレスの代わりに、ASNを用いて送信元を特定したい場合には集約キー(Custom Key)を用いると良さそうです。
ASNの判定は、ASNマッチルールステートメントと同じようにAWS WAFが行います。どのIPアドレスでASNを取得するかを選択する必要があります。
レートベースルールの場合も、IP address in headerを選ぶと、最初のIPアドレスが使用されます。
レートベースルールでASNを用いる場合の詳細は、以下のAWS公式ドキュメントをご確認ください。
※2025年6月10日時点では、日本語訳では情報がまだ掲載されていません。
Aggregating rate-based rules in AWS WAF
4. WafCharmでの対応
2025年6月10日現在、WafCharmの方ではこちらのアップデートに追随できておらず、対応中となります。お客様にてASNを用いた通常ルールあるいはレートベースルールを追加した場合、WafCharm側でエラーが発生する可能性があります。
ご不便をおかけし申し訳ありませんが、対応が完了次第ご案内いたしますので今しばらくお待ちください。
5. おわりに
今回のアップデートでは、ASNマッチルールステートメントと、レートベースルールの集約キーにASNが追加されました。
値の変化という観点では、ASNはIPアドレスと比べると安定しています。組織単位で制御したい場合などは、IPアドレスのように細かく指定したり、日々変わる値を更新したりする必要がないという利点があります。
反対に、組織ごと検知する形となりますので、特定の組織のサービスを使っている場合にはまったくアクセスできない状態となる可能性もあります。意図せずクラウドサービスからのヘルスチェックをブロックしてしまったり、特定のインターネットサービスプロバイダーを使っている利用者のアクセスをブロックしてしまったりといったことも想定されます。
他の条件でも同様ですが、誤検知を防ぐためにはCOUNTにて様子見をすることや、悪質なリクエスト元だけをブロックするといった対応を検討した方が良い場合もあるかもしれません。