コンテンツにスキップ

IBM QRadarをLogstash経由で利用

本手順書は、WallarmとLogstashデータコレクタの統合例を紹介し、イベントをQRadar SIEMシステムへ転送する方法について説明します。

The most common logging scheme in complex systems consists of the following components:

  • Data collector: accepts logs from several sources and forwards logs to the SIEM system

  • SIEM system or log management systems: used to analyze logs and monitor the system status

Webhook flow

使用リソース

  • Logstash 7.7.0はDebian 11.x(bullseye)にインストールされ、https://logstash.example.domain.comで利用可能です

  • QRadar V7.3.3はLinux Red Hatにインストールされ、IPアドレスhttps://109.111.35.11:514で利用可能です

  • EU cloud上のWallarm Console管理者アクセス権を持ってLogstash統合の設定を行う必要があります

Wallarm Cloud IP addresses

To provide Wallarm Cloud access to your system, you may need a list of its public IP addresses:

35.235.66.155
34.102.90.100
34.94.156.115
35.235.115.105
34.94.85.217
34.94.51.234
34.102.59.122
34.94.238.72
34.141.230.156
34.91.138.113
34.90.114.134
35.204.127.78

LogstashおよびQRadarサービスへのリンクは例として示しているため、実際には応答しません。

Logstashの設定

Wallarmはwebhookを介してLogstash中間データコレクタにログを送信するため、Logstashの設定は以下の要件を満たす必要があります:

  • POSTまたはPUTリクエストを受け付ける

  • HTTPSリクエストを受け付ける

  • パブリックURLを持つ

  • ログをIBM QRadarへ転送する(今回の例ではsyslogプラグインを使用してログを転送します)

Logstashはlogstash-sample.confファイルで設定されています:

  • 受信webhookの処理はinputセクションで設定されています:

    • 通信はポート5044に送信されます
    • LogstashはHTTPS接続のみを受け付けるように設定されています
    • 公開で信頼されているCAによって署名されたLogstashのTLS証明書は/etc/server.crtに配置されています
    • TLS証明書の秘密鍵は/etc/server.keyに配置されています
  • QRadarへのログ転送およびログ出力はoutputセクションで設定されています:

    • すべてのイベントログはLogstashからQRadarへ、IPアドレスhttps://109.111.35.11:514に転送されます
    • Syslog規格に従い、LogstashからQRadarへログがJSON形式で転送されます
    • QRadarとの接続はTCP経由で確立されます
    • Logstashのログはコマンドラインにも出力されます(15行目のコード参照)。この設定は、イベントがLogstash経由で記録されていることを確認するために使用されます
input {
  http { # HTTPおよびHTTPSトラフィック用のinputプラグイン
    port => 5044 # 受信リクエスト用ポート
    ssl => true # HTTPSトラフィックの処理
    ssl_certificate => "/etc/server.crt" # LogstashのTLS証明書
    ssl_key => "/etc/server.key" # TLS証明書の秘密鍵
  }
}
output {
  syslog { # Syslogを介してLogstashからログを転送するoutputプラグイン
    host => "109.111.35.11" # ログ転送先のIPアドレス
    port => "514" # ログ転送先のポート
    protocol => "tcp" # 接続プロトコル
    codec => json # 転送ログのフォーマット
  }
  stdout {} # Logstashのログをコマンドラインに出力するoutputプラグイン
}

設定ファイルのより詳細な説明は公式Logstashドキュメントに記載されています。

Logstash設定のテスト

Logstashのログが生成されQRadarへ転送されることを確認するため、POSTリクエストをLogstashに送信することができます。

リクエスト例:

curl -X POST 'https://logstash.example.domain.com' -H "Content-Type: application/json" -d '{"key1":"value1", "key2":"value2"}'

Logstashのログ:
Logs in Logstash

QRadarのログ:
Logs in QRadar

QRadarログペイロード:
Logs in QRadar

QRadarの設定 (オプション)

QRadarではログソースが設定されます。これにより、QRadar内のすべてのログ一覧からLogstashのログを容易に見つけることが可能になり、さらなるログのフィルタリングにも利用できます。ログソースの設定は以下の通りです:

  • ログソース名Logstash

  • ログソースの説明Logstashからのログ

  • ログソースタイプ:Syslog標準で使用される受信ログパーサの種類Universal LEEF

  • プロトコルの設定:ログ転送規格Syslog

  • ログソース識別子:LogstashのIPアドレス

  • その他デフォルト設定

QRadarのログソース設定のより詳細な説明はIBM公式ドキュメントに記載されています。

Logstash用QRadarログソース設定

Logstash統合の設定

  • Webhooks are sent to https://logstash.example.domain.com

  • Webhooks are sent via POST requests

  • The webhook integration has default advanced settings

  • Webhooks sent to Webhook URLs are all available events: hits, system events, vulnerabilities, scope changes

LogstashとのWebhook統合

Logstash統合設定の詳細

テスト例

To test the configuration, a new user is added in Wallarm Console:

Adding user

Logstashは以下のようにイベントをログに記録します:

QRadar向けLogstashの新規ユーザーに関するログ

以下のJSON形式のデータがQRadarログペイロードに表示されます:

QRadarに表示されたLogstashからの新規ユーザー情報