コンテンツにスキップ

IPによるフィルタリング

Wallarm ConsoleのIP listsセクションでは、IPアドレス、地理的位置、データセンター、またはソース種別をAllowlist、Denylist、Graylistに登録することでアプリケーションへのアクセスを制御できます。

  • Allowlistは信頼できるソースの一覧で、Wallarmの保護をバイパスしてチェックなしにアプリケーションへアクセスします。

  • Denylistはアプリケーションにアクセスできないソースの一覧であり、これらからのすべてのリクエストはブロックされます。

  • Graylistは疑わしいソースの一覧で、ノードがsafe blockingフィルタリングモードの場合にのみ次のように処理されます: Graylistに登録されたIPから悪意のあるリクエストが発生した場合はそれらをブロックし、正当なリクエストは許可します。他のIPからのリクエストは、悪意のあるものが検出されてAttacksMonitoringステータスで表示されても、ブロックはされません。

    Graylistに登録されたIPからの悪意のあるリクエストとは、次の攻撃の兆候を含むものです:

すべてのIPリスト

Allowlist、Denylist、Graylistの連携動作

フィルタリングノードは、選択された動作modeに基づいてIPリストを解析する方法が異なります。あるモードではAllowlist、Denylist、Graylistの3種類すべてを評価しますが、別のモードでは特定のリストのみを対象とします。

以下の図は、各動作モードにおけるIPリストの優先順位と組み合わせを視覚的に示し、各ケースでどのリストが考慮されるかを強調しています:

IPリストの優先順位

つまり、次のとおりです:

  • どのモードでも、IPがより上位のリストで見つかった場合、その次のリストは考慮されません。

  • GraylistはSafe blockingモードでのみ考慮されます。

例外

wallarm_acl_access_phase offの場合、MonitoringモードではDenylistに登録されたIPからのリクエストはWallarmノードによってブロックされません。

IPリストの設定

手順:

  1. 目的に応じて使用するリストを決めます。

  2. 追加するオブジェクトを選択します: IP、サブネット、ロケーション、ソース種別。

  3. オブジェクトをリストに保持する期間を選択します(通常は永続ではありません)。

  4. 対象アプリケーションで制限します(すべてのリクエストではなく、特定アプリケーション宛てだけに適用します)。

オブジェクトの選択

IP listsのいずれにも次の項目を追加するには、Add objectを使用します:

  • IPまたはサブネット - サポートされる最大サブネットマスクはIPv6アドレスで/32、IPv4アドレスで/12です。

  • ロケーション(国または地域) - 指定した国または地域に登録されているすべてのIPアドレスを追加します。

  • ソース種別 - この種別に属するすべてのIPアドレスを追加します。利用可能な種別は次のとおりです:

    • Search Engines
    • Datacenters(AWS、GCP、Oracleなど)
    • Anonymous sources(Tor、Proxy、VPN)
    • Malicious IPs

IPリストにオブジェクトを追加

IP listsの自動投入

手動での追加に加えて、自動投入も使用できます。こちらの方が推奨です。

リストに保持する期間の選択

オブジェクトをリストに追加する際に、保持期間を指定します。最小は5分、デフォルトは1時間、最大は無期限です。期限が切れると、オブジェクトは自動的にリストから削除されます。

指定した期間は後からいつでも変更できます。行うには、該当オブジェクトのメニューでChange time periodをクリックして調整します。

期間設定や手動での追加/削除により、時間の経過とともにIPリストの内容は変化します。すべてのリストの過去の状態を表示できます。

対象アプリケーションによる制限

オブジェクトをリストに追加すると、デフォルトでは当該IPからのすべてのリクエストが処理対象になります。ただし、対象アプリケーションで制限できます。1つまたは複数のアプリケーションを選択すると、そのアプリケーション宛ての当該IPからのリクエストのみが処理されます。

悪意のあるIPフィード

Malicious IPsソース種別をいずれかのIPリストに追加する場合、公開情報で悪意のある活動が広く知られ、かつ専門家の分析で検証されたすべてのIPアドレスが含まれる点にご注意ください。これらのデータは、次の複数のリソースを組み合わせて取得しています:

IPリストの履歴

IPリストには現在の状態だけでなく、過去の時点の状態もあり、それらは異なります。特定の日付を選択してIPリストの内容を確認すると、手動か自動かを含む追加の正確なタイミングと方法を詳述したHistoryが返されます。レポートには、変更の責任者や各追加の理由に関するデータも含まれます。これらの知見は、コンプライアンスやレポーティングのための監査証跡の維持に役立ちます。

IPリストの履歴

現在のIPリストの状態に戻るには、Nowタブに切り替えると、現在リストに含まれているオブジェクトを確認できます。

自動登録

不審なトラフィックを発生させたIPアドレスを、Wallarmが自動的にDenylistやGraylistへ登録するよう有効化できます。次の用途で実施できます:

自動登録されたIPを手動で削除した場合でも、新たな悪意のある活動が検出されると自動的に再登録されます。ただし次の条件があります:

  • 前回の期間の半分が経過するまでは再登録されません

    例: あるIPアドレスがBOLA攻撃により自動的に4時間のDenylist入りとなり、それをDenylistから手動で削除した場合、たとえ攻撃が発生しても、次の2時間内には再登録されません。

  • API Abuse Preventionの場合 - 直ちに再登録されます

Denylist登録IPからのリクエスト

IPがDenylistに登録されていても、その後のリクエストに関する情報があることは有用です。これにより、当該IPの振る舞いを精緻に分析できます。Wallarmは、Denylist登録の送信元IPからのブロックされたリクエストに関する統計を収集・表示します。

機能の提供状況

この機能はノードバージョン4.8以降のNGINXベースのノードで利用可能です。設定はwallarm_acl_export_enableディレクティブで制御できます。

この情報は、次の場合に利用できます:

これらの挙動ベースの攻撃は、所定の統計が蓄積された後にのみ検出されます。必要量は対応するトリガーのしきい値に依存します。そのため、第1段階としてDenylist登録前はWallarmがこの情報を収集しますが、すべてのリクエストは通過し、攻撃としてMonitoringステータスで表示されます。

トリガーのしきい値を超えると、WallarmはIPをDenylistに追加し、以降のリクエストをブロックします。攻撃リストには、このIPからのBlockedリクエストが表示されます。これは手動でDenylistに登録したIPにも適用されます。

Denylist登録IPに関連するイベント - 送信有効時

Denylist登録IPからのリクエストを見つけるには、検索/フィルターのタグを使用します。API乱用関連brutedirbustbolamultiple_payloadsは自動登録、blocked_sourceは手動登録です。

検索/フィルターには、各攻撃タイプについて、Monitoringステータスの攻撃と(送信が有効な場合は)Blockedステータスの攻撃の両方が表示される点にご注意ください。手動でDenylistに登録したIPについては、Monitoringステータスの攻撃は存在しません。

Blockedステータスの攻撃の中では、タグを用いてDenylist登録の理由(BOLAの設定、API Abuse Prevention、トリガー、またはDenylistの該当レコード)へと遷移できます。

Denylist登録IPの通知を受け取る

新たにDenylistに登録されたIPについて、日常使用しているメッセンジャーやSIEMで通知を受け取れます。通知を有効にするには、TriggersセクションでDenylisted IP条件を用いたトリガーを1つ以上設定します。例:

Denylist登録IP用トリガーの例

トリガーをテストするには:

  1. Wallarm Console→IntegrationsUSまたはEUクラウド)に移動し、Slackとの連携を設定します。

  2. Triggersで、上記のとおりトリガーを作成します。

  3. IP ListsDenylistに移動し、理由を"It is a malicious bot"として1.1.1.1のIPを追加します。

  4. 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ノードを必ず設定してください:

APIによるリスト管理

任意のIPリストの内容取得、オブジェクトの追加、オブジェクトの削除を、Wallarm APIを直接呼び出すことで実行できます。