IBM Support

QRadar: トークンの欠落または不一致によるデプロイのタイムアウト

Troubleshooting


Problem

QRadar コンソールおよびデプロイメント内のすべての管理対象ホストには、デプロイメントの問題を回避するために、host_tokens.masterlist および host.token ファイルに一致するトークンが必要です。

Symptom

管理対象ホストまたはコンソールトークンの問題が原因で、管理対象ホストのデプロイがタイムアウトする場合があります。この場合コンソール機の /var/log/qradar.log ファイルのに下記のようなメッセージが表示され、デプロイメントに問題があり、最終的にタイムアウトすることを示します。
Jul 29 08:04:27 ::ffff:9.55.221.220 [hostcontext.hostcontext] [ConfigChangeObserver Timer[1]] com.q1labs.configservices.hostcontext.exception.HostContextException: Failed to execute url https://127.0.0.1/console/fetchConfig/globalset_list.xml HTTP/1.1 400 Bad Request

Cause

QRadarコンソールは、そのデータベースを複製し、デプロイメント内のすべての管理対象ホストに変更をデプロイすることでデプロイメント構成をプッシュする役割も果たします。場合によっては、変更のデプロイプロセス中に1つ以上のホストが「タイムアウト」になることがあります。
デプロイのタイムアウトの一般的な原因は、コンソールと障害のある管理対象ホスト間でトークンが欠落しているか、一致していないことです。Hostcontext プロセスは、コンソール上の /opt/qradar/conf/host_tokens.masterlist と管理対象ホスト上の /opt/qradar/conf/host.token の両方ををシステム間の通信のために使用します。さらに、管理対象ホストトークンIDと一致するトークンセッションが、コンソールの /store/sessions フォルダーにファイルとして存在する必要があります。このトークンは認証に使用されるものであり、ファイルのコンテンツはユーザーがログインできるようにするシリアル化された Java オブジェクトです。

Diagnosing The Problem

トークンの問題の可能性を診断する最初の手順は、 validate_deployment.sh スクリプトを実行することです。
[root@hostname-console ~]# /opt/qradar/support/validate_deployment.sh
トークンの問題を探すときに注目すべき2つの出力行は次のとおりです (これらの行が出力にない場合、自動更新は有効になっておらず、スクリプトはこれらのチェックを含めるように更新されていません。下記 Technote をご参照ください。 Technote 2003034 - QRadar: How to Manually Install the QRadar Weekly Auto Update Bundle):
GOOD: All hosts have a valid masterlist
GOOD: All hosts have a valid token in their masterlist
BAD 行の出力が表示される場合は、次のようにトークンの存在と一致、およびセッションファイルの存在と一致を確認して、デプロイの問題のトラブルシューティングを続けます。
  1. コンソールで、 /opt/qradar/conf/host.token ファイルから失敗した管理対象ホストのトークンを確認し、「問題の解決」セクションのステップ2で説明されているように管理対象ホストのトークンと比較します(タイムアウトする管理対象ホストのトークンは、 IP が 10.10.10.116 の管理対象ホストの「=」記号の後のトークンです。
     
    [root@hostname-console ~]# cat /opt/qradar/conf/host_tokens.masterlist
    CONSOLE_HOSTCONTEXT=c9da5690-2d95-4b97-80c2-dbc2aa69be71
    10.10.10.116=55fe8879-f67a-422f-9dec-d8061e62dab0
    

    注: すべての host_tokens.masterlist ファイルが存在し、コンソール上で一致するかどうかを確認するためのもう1つの便利なコマンド例は下記です。(引用記号はバッククォート`です)

    [root@hostname-console ~]# md5sum `locate host_tokens.masterlist`
    e1adbd00d84c9972a93c0e17cedb9ae9  /opt/qradar/conf/host_tokens.masterlist
    e1adbd00d84c9972a93c0e17cedb9ae9  /store/configservices/host_tokens.masterlist
    e1adbd00d84c9972a93c0e17cedb9ae9  /store/configservices/backup/deployed/GLOBALSET/host_tokens.masterlist
    e1adbd00d84c9972a93c0e17cedb9ae9  /store/configservices/backup/deployed/LOCALSET/host_tokens.masterlist
    e1adbd00d84c9972a93c0e17cedb9ae9  /store/configservices/deployed/GLOBALSET/host_tokens.masterlist
    e1adbd00d84c9972a93c0e17cedb9ae9  /store/configservices/deployed/LOCALSET/host_tokens.masterlist
    

  2. 管理対象ホスト(管理対象ホスト IP へ ssh )で、 /opt/qradar/conf/host.token のトークンがコンソール上の  /opt/qradar/confhost_tokens.masterlist ファイルのトークンと一致するかどうかを確認します。
     
    [root@hostname-managed_host ~]# cat /opt/qradar/conf/host.token
    55fe8879-f67a-422f-9dec-d8061e62dab0[root@hostname-console ~]# 


    重要: 下記コマンドを実行した時トークンが「正しい」場合、コマンドプロンプトは host.token 文字列の後に表示されます。つまり、ファイルの最後に改行はありません。そうでないと、デプロイが失敗します。たとえば、下記の結果は「問題のある」ファイル内容となります( cat を使用すると余分なキャリッジリターンが表示され、 vi を使用すると表示されません)。

    [root@hostname-managed_host ~]# cat /opt/qradar/conf/host.token 
    55fe8879-f67a-422f-9dec-d8061e62dab0
    [root@hostname-console ~]#
    


    注: 同じくすべての host.token ファイルが存在し、一致する事を管理対象ホストで確認するための便利なコマンド。 実行結果は下記のようになり(引用記号はバッククオート)、 host.token ファイルが2つだけ表示されます。

    [root@hostname-managed_host ~]# md5sum `locate host.token`
    829268b46f16e4c4ca3bcf7d53e05aae  /opt/qradar/conf/host.token
    829268b46f16e4c4ca3bcf7d53e05aae  /store/configservices/deployed/LOCALSET/host.token
    
    
  3. 最後に、失敗しているホストの host.token が、トークン文字列をファイル名として使用して、コンソールの /store/sessions に対応するファイルを持っていることを確認します。

    [root@hostname-console ~]# ls -lah /store/sessions/ | grep 55fe8879
    -rw-r--r--  1 nobody nobody  449 Aug 18  2018 55fe8879-f67a-422f-9dec-d8061e62dab0


    重要:  /store/sessions のセッショントークンの所有者は、「 nobody nobody 」である必要があります。そうでない場合は、 chown コマンドを使用して所有者を変更する必要があります

    [root@hostname-console ~]# chown -R nobody:nobody 55fe8879-f67a-422f-9dec-d8061e62dab0

トークンまたはトークンファイルのいずれかに問題がある場合は、「問題の解決」セクションの指示に従って状況を修正してください。

Resolving The Problem

トークンは、コンソールの /opt/qradar/conf/host_tokens.masterlist と管理対象ホストの /opt/qradar/conf/host.token ファイルの間で一致する必要があります。

それらが異なる場合、コンソールトークンを管理対象ホストにコピーするだけでなく、コンソールの /store/sessions フォルダーにあるトークンを使用します。これは、 touch コマンドを使用して新しいトークンファイルを作成するだけではトークンを再作成できないためです。これは3つのオプションにつながります。

  1. 現在の /store/sessions トークンが管理対象ホストからのものである場合、コンソールの /opt/qradar/conf/host_tokens.masterlist ファイルを更新して一致させます。

  2. 現在の /store/sessionsトークンがコンソールのトークン /opt/qradar/conf/host_tokens.masterlist の場合、管理対象ホストのコンソールエントリに一致するように管理対象ホスト /opt/qradar/conf/host.token を更新します。

  3.  /store/sessions フォルダーに両方のセッショントークン(コンソールと管理対象ホスト)が確認できる場合、コンソール  host_tokens.masterlist の一つを、管理対象ホスト /opt/qradar/conf/host.token ファイルにコピーします。

host.token ファイルを更新する方法の説明

host.token ファイルを更新し、キャリッジリターンを挿入しないようにするには、 echo -n コマンド(キャリッジリターンを追加しない)を使用して、トークンをファイルに挿入します。最初に host.token ファイルをバックアップします:

cp /opt/qradar/conf/host.token /opt/qradar/conf/host.token.backup

次に:

echo -n "host.token.string-from-console-host.token_masterlist-for.this.host" /opt/qradar/conf/host.token

例:

[root@hostname-managed_host ~]# echo -n 55fe8879-f67a-422f-9dec-d8061e62dab0 > /opt/qradar/conf/host.token
 

/store/sessions ファイルが見つからない場合の対処方法:

管理対象ホストとコンソール間のトークンが一致するが  /store/sessions フォルダーに存在しない場合、単純に touch file コマンドを実行しても再作成できないため、そのファイルはバックアップ構成から復元する必要があります。

コンソールに管理対象ホストシステムの /store/sessions トークンがなく構成のバックアップがない場合、もう1つのオプションは管理対象ホストをコンソールから登録解除および再登録することにより、管理対象ホストの新しいトークンおよび新しいセッショントークンを生成します。

Document Location

Worldwide

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSBQAC","label":"IBM Security QRadar SIEM"},"Component":"","Platform":[{"code":"PF016","label":"Linux"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}}]

Document Information

Modified date:
13 April 2020

UID

ibm11099725