IPによるフィルタリング¶
Wallarm ConsoleのIP listsセクションでは、IPアドレス、地理的位置、データセンター、またはソース種別をAllowlist、Denylist、Graylistに登録することでアプリケーションへのアクセスを制御できます。
-
Allowlistは信頼できるソースの一覧で、Wallarmの保護をバイパスしてチェックなしにアプリケーションへアクセスします。
-
Denylistはアプリケーションにアクセスできないソースの一覧であり、これらからのすべてのリクエストはブロックされます。
-
Graylistは疑わしいソースの一覧で、ノードがsafe blockingフィルタリングモードの場合にのみ次のように処理されます: Graylistに登録されたIPから悪意のあるリクエストが発生した場合はそれらをブロックし、正当なリクエストは許可します。他のIPからのリクエストは、悪意のあるものが検出されてAttacksに
Monitoring
ステータスで表示されても、ブロックはされません。Graylistに登録されたIPからの悪意のあるリクエストとは、次の攻撃の兆候を含むものです:
Allowlist、Denylist、Graylistの連携動作¶
フィルタリングノードは、選択された動作modeに基づいてIPリストを解析する方法が異なります。あるモードではAllowlist、Denylist、Graylistの3種類すべてを評価しますが、別のモードでは特定のリストのみを対象とします。
以下の図は、各動作モードにおけるIPリストの優先順位と組み合わせを視覚的に示し、各ケースでどのリストが考慮されるかを強調しています:
つまり、次のとおりです:
-
どのモードでも、IPがより上位のリストで見つかった場合、その次のリストは考慮されません。
-
Graylistは
Safe blocking
モードでのみ考慮されます。
例外
wallarm_acl_access_phase off
の場合、Monitoring
モードではDenylistに登録されたIPからのリクエストはWallarmノードによってブロックされません。
IPリストの設定¶
手順:
-
目的に応じて使用するリストを決めます。
-
追加するオブジェクトを選択します: IP、サブネット、ロケーション、ソース種別。
-
オブジェクトをリストに保持する期間を選択します(通常は永続ではありません)。
-
対象アプリケーションで制限します(すべてのリクエストではなく、特定アプリケーション宛てだけに適用します)。
オブジェクトの選択¶
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 listsの自動投入
手動での追加に加えて、自動投入も使用できます。こちらの方が推奨です。
リストに保持する期間の選択¶
オブジェクトをリストに追加する際に、保持期間を指定します。最小は5分、デフォルトは1時間、最大は無期限です。期限が切れると、オブジェクトは自動的にリストから削除されます。
指定した期間は後からいつでも変更できます。行うには、該当オブジェクトのメニューでChange time periodをクリックして調整します。
期間設定や手動での追加/削除により、時間の経過とともにIPリストの内容は変化します。すべてのリストの過去の状態を表示できます。
対象アプリケーションによる制限¶
オブジェクトをリストに追加すると、デフォルトでは当該IPからのすべてのリクエストが処理対象になります。ただし、対象アプリケーションで制限できます。1つまたは複数のアプリケーションを選択すると、そのアプリケーション宛ての当該IPからのリクエストのみが処理されます。
悪意のあるIPフィード¶
「Malicious IPs」ソース種別をいずれかのIPリストに追加する場合、公開情報で悪意のある活動が広く知られ、かつ専門家の分析で検証されたすべてのIPアドレスが含まれる点にご注意ください。これらのデータは、次の複数のリソースを組み合わせて取得しています:
IPリストの履歴¶
IPリストには現在の状態だけでなく、過去の時点の状態もあり、それらは異なります。特定の日付を選択してIPリストの内容を確認すると、手動か自動かを含む追加の正確なタイミングと方法を詳述したHistoryが返されます。レポートには、変更の責任者や各追加の理由に関するデータも含まれます。これらの知見は、コンプライアンスやレポーティングのための監査証跡の維持に役立ちます。
現在の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ディレクティブで制御できます。
この情報は、次の場合に利用できます:
-
手動でDenylistに登録したIP
-
次により自動でDenylistに登録されたIP:
これらの挙動ベースの攻撃は、所定の統計が蓄積された後にのみ検出されます。必要量は対応するトリガーのしきい値に依存します。そのため、第1段階としてDenylist登録前はWallarmがこの情報を収集しますが、すべてのリクエストは通過し、攻撃としてMonitoring
ステータスで表示されます。
トリガーのしきい値を超えると、WallarmはIPをDenylistに追加し、以降のリクエストをブロックします。攻撃リストには、このIPからのBlocked
リクエストが表示されます。これは手動でDenylistに登録したIPにも適用されます。
Denylist登録IPからのリクエストを見つけるには、検索/フィルターのタグを使用します。API乱用関連、brute
、dirbust
、bola
、multiple_payloads
は自動登録、blocked_source
は手動登録です。
検索/フィルターには、各攻撃タイプについて、Monitoring
ステータスの攻撃と(送信が有効な場合は)Blocked
ステータスの攻撃の両方が表示される点にご注意ください。手動でDenylistに登録したIPについては、Monitoring
ステータスの攻撃は存在しません。
Blocked
ステータスの攻撃の中では、タグを用いてDenylist登録の理由(BOLAの設定、API Abuse Prevention、トリガー、またはDenylistの該当レコード)へと遷移できます。
Denylist登録IPの通知を受け取る¶
新たにDenylistに登録されたIPについて、日常使用しているメッセンジャーやSIEMで通知を受け取れます。通知を有効にするには、TriggersセクションでDenylisted IP条件を用いたトリガーを1つ以上設定します。例:
トリガーをテストするには:
-
Wallarm Console→Integrations(USまたはEUクラウド)に移動し、Slackとの連携を設定します。
-
Triggersで、上記のとおりトリガーを作成します。
-
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によるリスト管理¶
任意のIPリストの内容取得、オブジェクトの追加、オブジェクトの削除を、Wallarm APIを直接呼び出すことで実行できます。