IPによるフィルタリング¶
Wallarm ConsoleのIPリストセクションでは、IPアドレス、地理的位置、データセンターまたはソースタイプによる許可リスト、拒否リスト、グレイリストでお客様のアプリケーションへのアクセスを制御できます。
-
Allowlist(許可リスト) は、Wallarm保護をバイパスし、チェックなしでお客様のアプリケーションへアクセス可能な信頼できるソースのリストです。
-
Denylist(拒否リスト) は、お客様のアプリケーションへアクセスできないソースのリストであり、それらからのすべてのリクエストがブロックされます。
-
Graylist(グレイリスト) は、疑わしいソースのリストであり、ノードがSafe blocking filtration mode の場合に、以下のように処理されます:グレイリストに含まれるIPが悪意のあるリクエストを発生させた場合、ノードはそれらをブロックし、正当なリクエストは許可します。
グレイリストに含まれるIPから発生する悪意のあるリクエストは、以下の攻撃の兆候を含むものです:
Allowlist、Denylist、Graylistの連携方法¶
フィルタリングノードは、選択された運用 mode に基づき、IPリストを解析する際に異なるアプローチを採用します。あるモードでは、allowlist、denylist、graylistの3種類のIPリストすべてを評価しますが、他のモードでは特定のIPリストのみを対象とします。
以下の画像は、各運用モードにおけるIPリストの優先順位および組み合わせを視覚的に表現し、それぞれの場合に考慮されるリストを強調しています:
これは以下を意味します:
-
どのモードでも、対象のIPが先のリストに存在する場合、後続のリストは考慮されません。
-
Graylistは
Safe blocking
モードの場合にのみ考慮されます。
例外
もしwallarm_acl_access_phase off
の場合、WallarmノードはMonitoring
モードにおいて拒否リストに含まれるIPからのリクエストをブロックしません。
IPリストの設定¶
手順:
-
目的に応じて使用するリストを決定します。
-
オブジェクトの種類を選択します どのオブジェクトを追加するか:IP、サブネット、場所、ソースタイプ。
-
オブジェクトがリストに保持される期間を選択します(通常は無期限ではありません)。
-
対象のapplicationsによって制限します(すべてのリクエストではなく、特定のアプリケーションを対象とする場合のみ)。
オブジェクトの選択¶
Add object を使用して、以下の項目をいずれかのIPリストに追加します:
-
IPまたはサブネット - IPv6アドレスの場合、サポートされる最大サブネットマスクは
/32
、IPv4アドレスの場合は/12
です。 -
Location(国または地域) - この国または地域に登録されているすべてのIPアドレスを追加します。
-
Source type - このソースタイプに属するすべてのIPアドレスを追加します。利用可能なタイプは:
- 検索エンジン
- データセンター(AWS、GCP、Oracleなど)
- 匿名ソース(Tor、Proxy、VPN)
- Malicious IPs
IPリストの自動入力
オブジェクトを手動で追加する以外に、自動追加を使用することも可能であり、そちらが推奨です。
リストに保持する期間の選択¶
オブジェクトをリストに追加する際、保持期間を指定します。最短時間は5分、デフォルトは1時間、最大は無期限です。指定された期間が経過すると、オブジェクトは自動的にリストから削除されます。
指定された期間は、後からいつでも変更可能です。これを行うには、オブジェクトのメニューでChange time periodをクリックし、調整します。
この期間設定と手動でのオブジェクトの追加および削除により、IPリストの状態は時間とともに変化します。すべてのリストの過去の状態を表示できます。
対象アプリケーションによる制限¶
オブジェクトをリストに追加する際、デフォルトではそのIPアドレスからのすべてのリクエストが処理されます。しかし、対象のapplicationsによって制限することが可能で、1つまたは複数のアプリケーションを選択することで、そのアプリケーションへのリクエストのみが処理されます。
悪意のあるIPフィード¶
IPリストにMalicious IPssource typeを追加する場合、公共の情報源に記載され、専門家の分析により確認された、悪意のある活動で知られるすべてのIPアドレスが含まれることに注意してください。これらのデータは、以下のリソースから組み合わせて取得しています:
IPリストの履歴¶
IPリストは現在の状態だけでなく、過去の状態も保持しており、内容が異なる場合があります。特定の日付を選択してIPリストの内容を確認すると、システムは追加された正確な日時および方法(手動または自動)を含む詳細な履歴を返します。レポートには、変更を担当した人物および各追加の理由に関するデータも提供され、監査や報告のための履歴管理に役立ちます。
Nowタブに切り替えることで、現在のIPリストの状態、すなわちリストに現在含まれているオブジェクトを確認できます。
自動リスト追加¶
疑わしいトラフィックを発生させた場合、WallarmがIPアドレスを自動でdenylistもしくはgraylistに追加するよう有効にできます。これは以下の場合に実施が可能です:
もし自動追加されたIPアドレスを手動で削除した場合でも、新たな悪意のある活動が検出されると自動的に再追加されますが、以下の条件があります:
-
Not before 前回の期間の半分経過後
例えば、BOLA攻撃によりIPアドレスが自動で4時間denylistされ、denylistから削除した場合、そのIPは次の2時間以内に(攻撃が発生しても)再追加されません。
-
API Abuse Prevention の場合は、即時です
拒否リストに含まれるIPからのリクエスト¶
IPがdenylistに含まれていても、そのIPからの後続リクエストに関する情報を取得することは有益です。これにより、IPの挙動の正確な分析が可能となります。Wallarmは、拒否リストに含まれるソースIPからのブロックされたリクエストに関する統計情報を収集および表示します。
機能の利用可能性
この機能は、NGINXベースのノードにおいて、バージョン4.8以降で利用可能です。wallarm_acl_export_enableディレクティブで制御できます.
この情報は以下に利用可能です:
-
手動でdenylistされたIP
-
自動でdenylistされたIP:
ここで挙げた行動による攻撃は、一定の統計情報が蓄積された後でのみ検出可能であり、その必要な量は各トリガーの閾値によって異なります。そのため、denylistに追加する前の段階では、Wallarmはこの情報を収集しますが、リクエストはすべて通過し、Monitoring
ステータスの攻撃として表示されます。
トリガーの閾値を超えると、WallarmはIPをdenylistに追加し、以降のリクエストをブロックします。そのIPからのリクエストは攻撃リストにBlocked
として表示されます。これは手動でdenylistされたIPにも適用されます。
denylistに含まれるIPからのリクエストを検索するには、以下の検索タグを使用してください: API abuse related、自動追加の場合はbrute
、dirbust
、bola
、multiple_payloads
、手動の場合はblocked_source
。
なお、検索/フィルターでは、各攻撃タイプについてMonitoring
ステータスのみならず、送信情報が有効な場合にはBlocked
ステータスの攻撃も表示されます。手動でdenylistされたIPについては、Monitoring
ステータスの攻撃は存在しません。
Blocked
ステータスの攻撃の中では、タグを使用してdenylistの理由―BOLA設定、API Abuse Prevention、トリガーまたはdenylistに記録された原因―に切り替えます。
拒否リストに含まれるIPの通知を受け取る¶
日常的に使用するメッセンジャーまたはSIEMシステムを通じて、新たにdenylistされたIPについて通知を受けることができます。通知を有効にするには、TriggersセクションでDenylisted IP条件を設定した1つまたは複数のトリガーを構成してください。例:
トリガーのテスト方法:
-
Wallarm Console → Integrations に移動し、US または EU クラウドでintegration with Slackを構成します。
-
Triggers 内で、上記のようにトリガーを作成します。
-
Wallarm ConsoleのIP Lists → Denylistに移動し、理由「It is a malicious bot」を指定して
1.1.1.1
のIPを追加します。 -
Slackチャンネル内のメッセージを確認します。例:
[wallarm] New IP address has been denylisted Notification type: ip_blocked IP address 1.1.1.1 has been denylisted until 2024-01-19 15:02:16 +0300 for the reason "It is a malicious bot". You can review denylisted IP addresses in the "IP lists → Denylist" section of Wallarm Console. This notification was triggered by the "Notify about new denylisted IPs" trigger. The IP is blocked for the application default. Client: Your Company Cloud: EU
ロードバランサーおよびCDN背後で稼働するノードのIPリスト対応設定¶
WallarmノードがロードバランサーまたはCDNの背後に配置されている場合、エンドユーザーのIPアドレスを正しく報告するようにWallarmノードの設定を行ってください:
-
NGINXベースのWallarmノードの設定方法(AWS/GCPの画像およびDockerノードコンテナを含む)
-
Wallarm Kubernetes Ingress controllerとして展開されたフィルタリングノードの設定方法
APIによるリスト管理¶
Wallarm APIを直接呼び出すことで、任意のIPリストの内容の取得、オブジェクトの追加、および削除が可能です。詳細なAPI request examplesをご参照ください。