AWS WAFでIPアドレスを制限・許可する方法をわかりやすく解説

AWS WAFには特定のIPアドレスからのアクセスを制御する機能が備わっています。ただし、実際の設定手順や運用方法について詳しくわからない方も多いのではないでしょうか。

この記事では、AWS WAFにおけるIPアドレスの制限・許可の具体的な設定方法と、設定したIPブロックリストの運用における注意点、さらにその解決策についてわかりやすく解説します。

【無料資料配布中】AWS WAFの運用に悩んでいます?AWS WAF運用のノウハウを完全解説する資料をご用意しております。詳しくはこちらからダウンロードしてください。

目次

AWS WAFにおけるIPアドレス制限・許可の設定方法

AWS WAFでIPアドレスの制限や許可を行うにはルールの設定が必要です。設定方法は基本ほかのルールと同じですが、IPアドレス制限・許可の場合「IPセット一致」というルールステートメントを設定する必要があります

ここでは特定IPアドレスによるアクセスを制限するルールを例としてルールの設定方法を説明します。

1.IPセットを作成

IPアドレス制限・許可のルールを設定するために、まず下記の手順に沿ってIPセットを作成しなければなりません。

  1. AWS WAFコンソールから“IP sets”を選択し“Create IP set”で新しいIPセットを作成します。
  2. “IP set name”と“Description – optional”にIPセットの名前と説明をそれぞれ入力します。IPセットの名前は変更できないためご注意ください。
  3. “Region”でIPセットが保存されるAWSリージョンを選択します。Amazon CloudFrontを保護する場合、“Region”を“Global (CloudFront)”に設定してください。
  4. “IP version”には使用するIPバージョンを選択します。AWS WAFではIPv4とIPv6の2バージョンをサポートします。
  5. “IP addresses”に制御したいIPアドレスをCIDR表記で入力します。1行に1つのIPアドレスを入力してください。
  6. “Create IP set”を押しIPセットを作成します。

2.IP一致ルールを作成

次は設定したIPセットを利用してIP一致ルールを作成します。ここでは設定したIPセットからアクセスをブロックするルールの作成手順を説明します。

  1. AWS WAFコンソールから“AWS WAF”、“Web ACL”の順で選択します。
  2. “Region”でWeb ACLが作成されたリージョンを選択します。Amazon CloudFront用の場合は“Global”を選択してください。
  3. “Rules”を選択し“Add rules and rule groups”のページで、“Add rules”、“Add my own rules and rule groups”の順でクリックしてください。
  4. “Type”では“IP Set”を選択し、“Name”に該当ルールの名前を入力します。
  5. “IP Set”で先ほどのステップ1で設定したIPセットを選択し、“IP address to use as the originating address”では“Source IP address”を選択します。
  6. 該当IPセットのアクセスを制限したいため、“Action”では“Block”にします。一方、アクセスを許可したい場合“Allow”にしてください。また、誤検知を回避するためにまずは“Count”にすることもあります。
  7. “Add rule”を押して設定したルールを追加します。

3.ルールの優先順位を調整

IPアドレス制限・許可ルールを設定したあとにルールの優先順位を調整しなければなりません。優先順位によって、ルールが処理される順番が変わります。

特にIPアドレスの許可ルール(いわゆるホワイトリスト)の場合、該当ルールをほかのルールより上位に設定しないと、意図した通りに許可ルールが機能しない可能性があります。

優先順位の設定は簡単です。IPアドレス制限・許可ルールを設定したあとに出てくる「Set rule priority」画面で該当ルールを選択し“Move up”か“Move down”で優先順位を調整することができます。

AWS WAFのIPブロックリスト運用が必要な理由とは?

サイバー攻撃の手法は日々巧妙化しているため、正規表現を使って検知する従来のWAFルールだけでは攻撃を完全に防御することが困難になってきています。

例えば、SQLインジェクションの検知では、リクエストに「‘1’=‘1’」という文字列が含まれることを条件にするのが一般的です。しかし、SQLインジェクションを成立させるのに必ずしも「‘1’=‘1’」を使う必要はありません。「‘2’=‘2’」や「‘A’=‘A’」など常に成り立つ文字列でもSQLインジェクションを起こすことができます。

WAFルールを突破するために、攻撃者もさまざまなパターンで攻撃を仕掛けますが、すべての可能性をWAFのルールに登録することが現実的ではないので、IPブロックリストを活用し防御する必要があります

一度でもWAFルールに引っかかったリクエストの送信元IPをIPブロックリストに登録することで、そのIPからのすべてのアクセスを遮断できます。IPブロックリストを活用することで、WAF全体の防御能力を高めることができます。

IPブロックリスト運用の注意点も抑える

IPブロックリストの重要性は認識されながら、実際運用に踏み切れていないケースが数多く見受けられます。その主な理由は、運用に必要な作業負荷の大きさにあります。

IPブロックリストの運用にはAWS WAFの検知ログを定期的に確認し、不正アクセスや怪しいアクセスのIPアドレスを特定し、IPブロックリストに追加する作業が発生します。

一見簡単そうな作業ですが、検知ログの量は膨大なうえ、不正アクセスかどうかの判断には高度なセキュリティの専門知識が求められます

また、IPブロックリストには登録可能な件数に制限があるため、効果的な運用にはリストの中身を定期的に見直して、適切に管理することが欠かせません。

セキュリティやWAFに詳しい人材が不足しているいま、人的リソースの制約を抱える企業が多く、IPブロックリストの運用作業が十分に実施できていない企業も少なくありません。

IPブロックリストの自動運用なら「WafCharm」

「IPブロックリスト運用の重要性を理解しているもののリソース的に実施が難しい…」
「IPブロックリストの手動作業に追われて本業に集中できない…」

そんな悩みを解消したいならAWS WAF自動運用サービス「WafCharm」がおすすめです。

WafCharmを導入することで、手作業で行わざるを得なかったIPブロックリストの運用作業を自動化することができます。ここでは、WafCharmのブロックリスト自動運用機能の特徴を詳しく紹介します。

また、WafCharmにはIPブロックリストの自動運用機能のほか、WAFルール(シグネチャ)の自動適用やログ検索機能、24時間365日の日本語サポートも付いています。

WafCharmについて詳しく知りたい方はこちらのサービス資料をダウンロードしてご確認ください。

WafCharmの特長①:WAFログを解析しIPブロックリストの自動更新

WafCharmでは、検知したAWS WAFのログを解析し、数百種類のシグネチャと照合して再マッチングを行い、不正アクセスや怪しいリクエストを特定し、そのIPアドレスをIPブロックリストに自動的に追加します。

WafCharmを導入することで、AWS WAFの運用担当者がログを一つひとつ確認して悪意のあるIPを手動でブロックリストに追加する作業が不要になります。

WafCharmの特長②:独自のIPレピュテーションにより高精度のIPブロックリストを実現

WafCharmブロックリストの精度を向上するために、WafCharm独自で保有している検知データに加え、国内シェアNo.1※のクラウド型WAF「攻撃遮断くん」が保有する20,000サイト以上の検知データを活用しています。

膨大な検知データをもとに既知の悪意のあるIPを自動的に検出しているため、自社の検知ログだけでは検出できない悪意のあるIPを特定することができます。WafCharmを利用することで、より高精度で包括的なセキュリティ対策を実現できます。

※ デロイト トーマツ ミック経済研究所「外部脅威対策ソリューション市場の現状と将来展望 2024年度」

WafCharmの特長③:手動IPアドレスの追加や削除も管理画面で設定可能

自動運用機能のほか、WafCharmの管理画面から特定のIPアドレスをブロックリストに手動で追加・削除することも可能です。

WafCharmの管理画面から数クリックでIPの追加・削除ができるため、わざわざAWS WAFにログインし複雑な設定作業を実施する必要がありません。

また、IPアドレスだけでなく、特定の国や地域からのアクセスを制限するGEOルールやDDoS攻撃を緩和するレートベースルールもWafCharmの管理画面から簡単に設定できます

WafCharmのブロックリストの自動運用機能やその他の機能について詳しく知りたい方は、こちらの資料をダウンロードしご確認ください。