コンテンツにスキップ

API Sessionsの概要

WallarmのAPI Sessionsは、トラフィック内のユーザーセッションの可視性を提供します。各セッションについて、Wallarmは詳細なリクエストおよび関連するレスポンスデータを収集し、セッション内のアクティビティを構造化して表示できるようにします。本記事では、API Sessionsの概要として、その目的、解決する課題、および主な機能について説明します。

API Sessionsを使用するにはNGINX Wallarm node 5.1.0またはnative Wallarm node 0.8.0が必要です。レスポンスのパースにはNGINX Wallarm node 5.3.0またはnative node 0.12.0が必要です。

!API Sessionsセクション - 監視対象のセッション

対応する課題

API Sessionsが対処する主な課題は、Wallarmが検出した個々の攻撃だけを見ても完全なコンテキストが得られないことです。各セッション内のリクエストとレスポンスの論理的なシーケンスを捕捉することで、API Sessionsはより広範な攻撃パターンへの洞察を提供し、セキュリティ対策がビジネスロジックのどの領域に影響するかを特定するのに役立ちます。

WallarmによりAPIセッションが正確に識別されることで、次のことが可能になります:

WallarmによりAPI Sessionsが監視されていることで、次のことができます:

API Sessionsの仕組み

Wallarm nodeが保護対象として有効になっているすべてのトラフィックはセッションに編成され、API Sessionsセクションに表示されます。

アプリケーションのロジックに基づいて、リクエストをどのようにセッションへグループ化するかをカスタマイズできます。また、セッション内に表示するリクエストおよび対応するレスポンスのどのパラメータを表示するかも指定でき、セッションの内容(ユーザーが何をどの順序で行ったか)を理解しやすくできます。詳細はAPI Sessionsの設定を参照してください。

なお、Wallarmはセッションを直近1週間のみ保存および表示します。パフォーマンスとリソース消費を最適化するため、これより古いセッションは削除されます。

API SessionsとAPI Abuse Prevention

WallarmのAPI Abuse Preventionは、1つまたは複数の関連するセッション内のリクエストシーケンスを解析して悪意あるボットを検出します。例えば、SESSION-IDヘッダーの値が同一で、時間/日付だけで区切られているセッション同士です。

したがって、アプリケーション固有のロジックに合わせてリクエストのグループ化方法をカスタマイズすると、API Abuse Preventionの動作に影響し、セッションの識別とボット検出の両方がより正確になります。

API SessionsにおけるGraphQLリクエスト

API Sessionsは、GraphQLリクエストとその特有のリクエストポイントに対応しており、セッションの設定でGraphQLリクエストパラメータの値を抽出・表示するように構成できます。

!API Sessionsの設定 - GraphQLリクエストパラメータ

NGINX Node 5.3.0以上またはnative node 0.12.0が必要です。