コンテンツにスキップ

Logstash経由のIBM QRadar

本手順では、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のフロー

使用リソース

  • 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クラウドの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
35.235.100.79
34.102.45.38
34.94.241.21
34.102.90.100
34.94.203.193
34.94.238.221
34.94.9.23
34.141.230.156
34.91.138.113
34.90.114.134
35.204.127.78
34.90.24.155

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標準に従い、JSON形式でLogstashからQRadarへ転送されます
    • 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へ転送されていることを確認するために、LogstashへPOSTリクエストを送信できます。

リクエスト例:

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

Logstashのログ:
Logstashのログ

QRadarのログ:
QRadarのログ

QRadarのログペイロード:
QRadarのログ

QRadarの設定(任意)

QRadarでは、ログソースを設定します。これにより、QRadarの全ログ一覧からLogstashのログを容易に見つけられますし、さらにログのフィルタリングにも使用できます。ログソースの設定は次のとおりです:

  • ログソース名: Logstash

  • ログソースの説明: Logs from 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はイベントを次のように記録します:

LogstashからQRadarへの新規ユーザーに関するログ

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

LogstashからQRadarに表示される新規ユーザーのカード