関連イベントのセッションへのグループ化

コンテキスト上で関連したイベントをセッションにグループ化します。そこでは、イベント・シーケンスとそれらのイベント・シーケンスの結果を監視できます。 セッションで発生したイベントのシーケンスを監視することで、ユーザー・アクティビティーおよびネットワーク・アクティビティーの洞察が得られます。

このタスクについて

イベントを使用して、ユーザーが特定の時刻に行ったことを知ることができますが、トランザクション・セッションを使用して、あるイベントの前にユーザーが行ったことを知ることができます。 トランザクションにより、インターネットでの購入や無許可ログイン試行など、詳細が分かります。

セッション ID は固有であり、同一セッション内のイベントに割り当てられます。 時刻、ユーザー名、ログイン、他の基準などのパラメーターに基づいて、セッションを定義します。 SESSION BY 節を使用して、固有のセッションを作成します。

例えば、トランザクション・セッションを使用して以下のタスクを実行します。
  • アクティビティーの固有の組み合わせが含まれている Web アクセス・イベントに基づいてユーザー・アクティビティーを作成する。
  • Web サイト訪問、ダウンロード、E メール送信などの特定のユーザー動作セッション別にイベントをグループ化する。
  • ユーザーがネットワークにログインした時刻とネットワークからログアウトした時刻、およびユーザーがログインしていた期間を記録する。 ログインによって開始された関連トランザクションがログアウトによって閉じられる。
  • 追跡するアクティビティーを選び、セッション・アクティビティーの基準を定義する。

手順

  1. セッションを作成するには、以下の形式を使用して SESSION BY 節を使用します。

    SESSION BY <TimeExpression> <AQL_expression_list> BEGIN <booleanExpression> END <booleanExpression>

    以下の表で、セッション・パラメーターについて説明します。

    表 1.
    セッション・パラメーター 説明
    Time <TimeExpression> 時刻
    <AQL_expression_list> AQL 式のリスト
    BEGIN <booleanExpression> 新しいセッションを開始します。
    END <booleanExpression> END 節はオプションであり、セッションを終了するために使用されます。
    SessionId は、任意の AQL 式の値が変更された場合、あるいは BEGIN または END booleanExpression が TRUEの場合に変更されます。
  2. サンプルをテストするには、以下のステップを実行します。
    1. IBM® QRadar® API 資料 ページにアクセスするには、 「ヘルプ」 メニューから 「対話式 API for Developers」をクリックします。
    2. メニューを展開するには、 8.0 または最上位バージョンをクリックします。
    3. /ariel > /searchesをクリックしてください。
    4. 「投稿」 タブをクリックします。
    5. query_expression パラメーターの 「値」 フィールドに AQL 照会を入力します。
      例:
      Select sessionID, DATEFORMAT(starttime, 'YYYY-MM-dd HH:mm:ss')
      start_time, username, sourceip, category from events
      into <your_Cursor_Name> where username is not null 
      SESSION BY starttime username, sourceip
      BEGIN category=16001 
      start '2016-09-14 14:20' stop '2016-09-14 14:50'

      <your_cursor_name> は、結果の出力に使用する任意の名前です。

    6. 「試行する (Try it out)」をクリックします。

      照会がエラーなしで実行された場合、応答コードは 201 です。

    7. /ariel > /search> > /{search_id} > /resultsをクリックします。

      「8.0 - GET - /ariel/searches/{search_id}/results page」ページが開きます。

    8. search_id パラメーターの 「値」 フィールドに、<your_cursor_name> と入力します。
    9. MIME タイプとして 「テキスト/テーブル」 を選択します。
    10. 「試行する (Try it out)」をクリックします。
      表 2. クエリ結果
      sessionID start_time ユーザー名 sourceip カテゴリー
      1 2016-09-14 14:42:03 管理者 9.23.121.97 16003
      1 2016-09-14 14:42:09 管理者 9.23.121.97 16003
      2 2016-09-14 14:42:10 管理者 127.0.0.1 16003
      2 2016-09-14 14:42:11 管理者 127.0.0.1 16003
      3 2016-09-14 14:42:27 joe_blogs 9.23.121.98 16001
      4 2016-09-14 14:44:11 joe_blogs 9.23.121.98 16001
      5 2016-09-14 14:44:35 ルート 127.0.0.1 4017
      5 2016-09-14 14:44:35 ルート 127.0.0.1 3014
      5 2016-09-14 14:44:55 ルート 127.0.0.1 4017
      5 2016-09-14 14:44:55 ルート 127.0.0.1 3014

      カテゴリーは、イベント・ログ内の特定のアクティビティーを表します。 ユーザー名とソース IP アドレスの値の変更ごとに、新しいセッションが開始されます。sessionid 2 および sessionid 5 を参照してください。

      また、カテゴリー 16001 の新規セッションが作成されます。これは、sessionid 3 および sessionid 4 で発生します。

この例では、固有のセッション ID によってイベントが返され、グループ化されます。ここでは、ユーザー joe_blogs がログインし、11 月 25 日の午後 4 時から午後 11 時 30 分の間にプロセスを開始します。

select sessionId,DATEFORMAT(starttime,'YYYY-MM-dd HH:mm:ss') 
start_time,username,sourceip,category from events into <cursor_name> 
where username='joe_blogs' 
SESSION BY starttime username, sourceip 
BEGIN category=16001 
END category=16003 
start '2016-11-25 16:00' 
stop '2016-11-25 23:30'

BEGIN 式に一致するイベントを取得した場合、または前のイベントがセッションを終了した場合、セッションが開始されます。

END 式が true であるイベントを取得した場合、または次のイベントが新しいセッションを開始した場合、セッションが終了されます。

イベント・カテゴリー 16001 は、コンソールでのユーザーのログイン・イベントまたはログアウト・イベントを示し、イベント・カテゴリー 16003 は、ユーザーがプロセス (バックアップの開始やレポートの生成など) を開始したことを示します。 イベント・カテゴリーのリストについては、「 IBM QRadar 管理ガイド」を参照してください。