AWSは、2025年9月30日にAWS WAF Classic(v1)のサポートを終了すると発表しました。AWS WAFを継続して利用したい場合、AWS WAF v2に移行する必要があります。
この記事では、AWS WAF Classic(v1)とAWS WAF v2の違いから、移行方法や移行時の注意点について解説します。
目次
- AWS WAF Classic(v1)とAWS WAF v2の違いとは?
- AWS WAF ClassicからAWS WAF v2への移行方法
- AWS WAF ClassicからAWS WAF v2に移行する際の注意点
- 移行に不安がある場合は、WafCharm利用を検討
AWS WAF Classic(v1)とAWS WAF v2の違いとは?
後継版ではあるものの、AWS WAF v2とAWS WAF Classic(v1)には、登録できるルール数やルールの構成方法などさまざまな違いがあります。
移行方法を説明する前に、まずはAWS WAF Classic(v1)とAWS WAF v2の違いについて解説します。
ルールの構造が違う
AWS WAF Classicのルールは、リクエストのパスやIPアドレスなど、複数のコンディションを組み合わせる構造です。
AWS WAF v2では、コンディションがステートメントに変更されました。地理的・IPセット一致やリクエスト内の文字率など、さまざまなステートメントでルールを設定することができます。また、AND/OR/NOTといった論理演算子を使用してステートメントを柔軟に組み合わせることも可能です。
コンディションとANDのみで構成するAWS WAF Classicのルールに比べて、AWS WAF v2ではより高度なルールを設定することができ、より複雑な攻撃をブロックすることができます。
AWS WAF v2のルール構造について詳しくはこちら:
AWSマネージドルールが利用可能に
AWS WAF v2では、AWSが提供するマネージドルールセット、AWSマネージドルール(AWS Managed Rules)が利用可能になりました。
AWS WAF Classicでは、サードパーティのセキュリティベンダーが提供するマネージドルールを適用することができましたが、AWSが提供するマネージドルールはありませんでした。AWS WAF v2になり、AWSマネージドルールがリリースされました。
AWSマネージドルールにはOWASP Top 10を対策するルールをはじめ、WordPressやSQLデータベースなど個別ソフトウェアに特化しているルールなど、さまざまな種類のルールが含まれます。AWS WAFユーザーであれば追加料金なしでAWSマネージドルールを適用することができます※。
※AWS WAF Bot ControlやAWS WAF Fraud Controlなどの一部のルールに関しては追加料金が発生します。
AWSマネージドルールについて詳しくはこちら:
登録可能なルール数が違う
AWS WAF Classicでは1つのWeb ACLに最大10個のルールしか登録できませんが、AWS WAF v2ではその制限が撤廃されました。その代わりにWCU(Web ACL Capacity Unit)という単位が導入されました。
AWS WAF v2に設定するルールの内容によって消費するWCUが異なり、複雑になればなるほどかかるWCUが多くなります。1つのWeb ACLに最大1,500WCUまでのルールを設定できるので、WCUの上限を留意しながらルールの設定を行う必要があります。
AWS WAF ClassicからAWS WAF v2への移行方法
ルール構造をはじめさまざまな違いがあるため、AWS WAF ClassicとAWS WAF v2は互換性がありません。そのため、AWS WAF ClassicからAWS WAF v2に移行するには下記の作業が必要です。
- AWS WAF v2で新しいWeb ACLを作成
- 既存のAWS WAF Classicの設定を参考に、新しいWeb ACLの設定を実施
- 保護対象となるリソース(ALBやCloudFrontなど)の関連付けを行い、AWS WAF v2のWeb ACLに切り替え
AWS WAF v2の設定手順について詳しくはこちら:
また、AWSはAWS WAF v2への移行ツールを提供しております。移行ツールを使用することで、既存のAWS WAF Classic ACLの設定を読み取り、AWS WAF v2用のCloudFormationテンプレートを生成することができます。
ただし、テンプレートが生成されたあとに自身で設定しなければならないうえ、移行ツールにはさまざまな制限があるため、移行ツールを利用したとしても自動移行を完全に実現するのは難しいです。あくまでも移行作業を補助するためのものとして利用することをおすすめします。
AWS WAF ClassicからAWS WAF v2に移行する際の注意点
互換性がないため、AWS WAF ClassicからAWS WAF v2の移行にはさまざまな注意点があります。ここでは、特に注意が必要な2つの点について解説します。
移行ツールの制限が多い
先述の通り、AWS WAF Classicからv2への移行作業をよりスムーズに行うために、AWSは移行ツールをリリースしています。しかし、この移行ツールには下記のような制限があります。
- 同じAWSアカウント内のみ利用可能:AWS WAF Classicを別のアカウントのAWS WAF v2への移行はできません。
- 保護対象となるリソースの関連付けは移行されない:CloudFormationテンプレートでは、Web ACLと保護対象リソースの関連付けが含まれません。テンプレート適用後手動による設定をする必要があります。
- ログ記録の無効化:移行後のWeb ACLのログ記録は、移行前の設定にかかわらずすべて無効になります。切り替えの準備ができたあとにログ記録を手動で有効にする必要があります。
- AWS Firewall Managerのルールグループは移行できない:移行したい場合、Firewall Managerで新しいAWS WAFルールを作成しなければなりません。
また、移行ツールで作成したテンプレートが移行前のルールと全く一緒という保証はありません。テンプレートを適用したあとに誤検知をはじめトラブルが発生する可能性があるため、入念な検証が必要です。
移行ツールの詳しい制約事項に関してはAWSの公式ドキュメントをご確認ください。
サードパーティーのマネージドルールは移行できない
AWS WAF Classicでサードパーティのセキュリティベンダーが提供するマネージドルールを使用している場合、v2用のマネージドルールを新たに購入し、設定し直す必要があります。
AWS WAF ClassicとAWS WAF v2の仕様の違いにより、サードパーティーのセキュリティベンダーが提供するマネージドルールを、v2に直接移行することができません。また、移行ツールを利用して移行することもできません。
そのため、v2で利用できる新しいマネージドルールを導入する必要があります。もちろんAWSが提供するAWSマネージドルールに切り替えることも可能ですが、その場合、誤検知有無のチェックやルールチューニングなど細かい設定作業が必要なので、余裕を持って準備することをおすすめします。
移行に不安がある場合は、WafCharm利用を検討
AWS WAF ClassicとAWS WAF v2は互換性がないため、移行の際に多くの作業が発生します。場合によっては、AWS WAF v2で利用したいルールを0から設定する必要も出てきます。
社内にセキュリティの専門家がいない場合、AWS WAF v2への移行作業は大きな負担となるでしょう。AWS WAF v2への移行を確実かつ簡単に実施したい場合、AWS WAF自動運用サービス「WafCharm(ワフチャーム)」の利用がおすすめです。
WafCharmを利用することで、一般的な攻撃に対する防御ルールが自動で適用されます。また、個別の環境に合わせたカスタムルールの作成もWafCharmがサポートするので、自ら設定・検証を行う必要はありません。
実際、WafCharmを利用してAWS WAF Classic(v1)からv2にスムーズに移行できた声もいただいております。
AWS WAF v1からv2へ移行する際、当社のシグネチャの移行をサイバーセキュリティクラウドにお願いしましたが、v2用に更新されたシグネチャを参照したとき、当社では同じように記述することはできないと思いました。そもそもv1とv2とではルールの構造が変わっており、ポイント制の課金体系も間違えないように記述しなければなりません。当社用のカスタマイズもしていました。それをv2に合わせてルールの修正作業を3日程度で行ったわけですから、本当にプロフェッショナルだと感じました。
――freee株式会社
AWS WAF v2への移行作業が楽になるうえ、セキュリティの強化もできるため、このタイミングでWafCharmの導入を検討することがおすすめです。
WafCharmについて詳しくはこちらの資料をダウンロードしご確認ください。