Rocky Linux 8でSuricataとElastic Stackを使用してSIEMを構築する方法

紹介

このシリーズの前のチュートリアルでは、Suricataを侵入検知(IDS)および侵入防止(IPS)システムとしてインストール、設定、および実行する方法について説明しました。また、Suricataのルールについて学び、独自のルールを作成する方法も学びました。

このチュートリアルでは、ElasticスタックとRocky Linux 8を使用して、SuricataをElasticsearch、Kibana、およびFilebeatと統合してセキュリティ情報およびイベント管理(SIEM)ツールを作成する方法を探ります。SIEMツールは、ネットワークやサーバー上のセキュリティ脅威や不審なアクティビティを検索するためにイベントデータを収集し、集約し、保存し、分析するために使用されます。

自分自身のSIEMを構築するために使用するコンポーネントは次のとおりです:

  • Elasticsearch:Suricataサーバーからのセキュリティイベントを保存し、索引付けし、相関させ、検索するために使用します。
  • Kibana:Elasticsearchに保存されているセキュリティイベントログを表示し、ナビゲートするために使用します。
  • Filebeat:Suricataのeve.jsonログファイルを解析し、各イベントを処理するためにElasticsearchに送信するために使用します。
  • Suricata:ネットワークトラフィックをスキャンして不審なイベントを検出し、無効なパケットをログに記録または破棄するために使用します。

最初に、ElasticsearchとKibanaを特定の認証設定でインストールして構成します。次に、FilebeatをSuricataシステムに追加して、そのeve.jsonログをElasticsearchに送信します。

最後に、SSHとウェブブラウザを使用してKibanaに接続し、Suricataのイベントとアラートを表示するKibanaダッシュボードを読み込んで操作する方法を学びます。

前提条件

このチュートリアルシリーズに従っている場合、Rocky LinuxサーバーでSuricataが実行されているはずです。このサーバーはあなたのSuricataサーバーとして参照されます。

また、ElasticsearchとKibanaをホストするための2番目のサーバーが必要です。このサーバーはあなたのElasticsearchサーバーとして参照されます。これはRocky Linux 8サーバーである必要があります:

このチュートリアルでは、両方のサーバーがプライベートIPアドレスを使用して通信できるようにする必要があります。 WireGuard のようなVPNを使用してサーバーを接続するか、ホスト間でプライベートネットワークを持つクラウドプロバイダーを使用できます。また、実験のためにElasticsearch、Kibana、Filebeat、およびSuricataを同じサーバーで実行することも選択できます。

ステップ1 — ElasticsearchとKibanaのインストール

このチュートリアルの最初のステップは、ElasticsearchとKibanaをElasticsearchサーバーにインストールすることです。始めるには、次のコマンドでElastic GPG鍵をサーバーに追加します:

  1. sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

次に、viまたはお好みのエディタを使用して、次の内容で/etc/yum/yum.repos.dディレクトリにelasticsearch.repoファイルを作成します。これにより、yum経由で新しいパッケージをインストールする際に、上流のElasticsearchリポジトリが使用されます:

  1. sudo vi /etc/yum.repos.d/elasticsearch.repo
/etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

viを使用している場合は、変更を完了したらESCを押してから:xを押して変更をファイルに書き込んで終了します。

次に、dnfコマンドを使用してElasticsearchとKibanaをインストールします。GPGキーの指紋に関するプロンプトが表示された場合は、Yを押して受け入れます:

  1. sudo dnf install --enablerepo=elasticsearch elasticsearch kibana

--enablerepoオプションは、/etc/yum.repos.d/elasticsearch.repoファイルのデフォルトの無効設定を上書きするために使用されます。この方法により、他のパッケージのアップデートをインストールする際に、ElasticsearchおよびKibanaパッケージが誤ってアップグレードされることがありません。

パッケージのインストールが完了したら、ip address showコマンドを使用してサーバーのプライベートIPアドレスを検索し、記録してください:

  1. ip -brief address show

次のような出力が表示されます:

Output
lo UNKNOWN 127.0.0.1/8 ::1/128 eth0 UP 159.89.122.115/20 10.20.0.8/16 2604:a880:cad:d0::e56:8001/64 fe80::b832:69ff:fe46:7e5d/64 eth1 UP 10.137.0.5/16 fe80::b883:5bff:fe19:43f3/64

この出力でのプライベートネットワークインターフェイスは、ハイライトされたeth1デバイスであり、IPv4アドレスは10.137.0.5です。デバイス名とIPアドレスは異なる場合がありますが、デバイス名とプライベートIPアドレスに関係なく、アドレスは次の予約済みブロックから取得されます:

  • 10.0.0.0から10.255.255.255まで(10/8プレフィックス)
  • 172.16.0.0から172.31.255.255まで(172.16/12プレフィックス)
  • 192.168.0.0から192.168.255.255まで(192.168/16プレフィックス)

これらのブロックがどのように割り当てられているか詳細を知りたい場合は、RFC 1918仕様を参照してください。

プライベートIPアドレスを記録してください。これは、このチュートリアルの残りの部分でyour_private_ipとして参照されます。また、ネットワークインターフェイスの名前もメモしてください。この場合、eth1です。このチュートリアルの次の部分では、ElasticsearchとKibanaを、SuricataサーバーからのプライベートIPアドレスを受け入れるように構成します。

ステップ2 — Elasticsearchの構成

Elasticsearchはデフォルトでローカル接続のみを受け入れるように構成されています。さらに、認証が無効になっているため、Filebeatなどのツールではログを送信できません。このチュートリアルのこのセクションでは、Elasticsearchのネットワーク設定を構成し、Elasticsearchの組み込みのxpackセキュリティモジュールを有効にします。

Elasticsearchのネットワーク設定の構成

SuricataサーバーとElasticsearchサーバーは別々に設定されているため、Elasticsearchをプライベートネットワークインターフェースでの接続受け入れるように設定する必要があります。

/etc/elasticsearch/elasticsearch.ymlファイルをviまたは好みのエディタで開きます。

  1. sudo vi /etc/elasticsearch/elasticsearch.yml
# Elasticsearchはデフォルトでローカルホストでのみアクセス可能です。このノードをネットワーク上で公開するには、ここで異なるアドレスを設定します。
 network.bind_host: 0.0.0.0
#
 network.bind_host: 0.0.0.0
network.bind_host: ["127.0.0.1", "your_private_ip"]
#
 network.bind_host: 0.0.0.0
network.bind_host: 0.0.0.0

次に、viのショートカットSHIFT+Gを使用してファイルの末尾に移動します。

次に、ファイルの末尾に次のハイライトされた行を追加します:

. . .
discovery.type: single-node
xpack.security.enabled: true

discovery.type: single-node

xpack.security.enabled: true

編集が完了したら、ファイルを保存して閉じます。最後に、Elasticsearchサーバーがプライベートネットワークインターフェースで到達可能であることを確認するためのファイアウォールルールを追加します。前提条件のチュートリアルに従っていて、firewalldを使用している場合、次のコマンドを実行します:

  1. sudo firewall-cmd --permanent --zone=internal --change-interface=eth1
  2. sudo firewall-cmd --permanent --zone=internal --add-service=elasticsearch
  3. sudo firewall-cmd --permanent --zone=internal --add-service=kibana
  4. sudo systemctl reload firewalld.service

最初のコマンドで、eth1の代わりにあなたのプライベートネットワークインターフェース名を入れてください。このコマンドは、デフォルトのpublicゾーンよりも許可が多いinternal Firewalldゾーンを使用するようにインターフェースのルールを変更します。

次のコマンドでは、ポート9200と9300でのElasticsearchトラフィック、およびポート5601でのKibanaトラフィックを許可するルールが追加されます。

最後のコマンドでは、新しい永続的なルールを適用してFirewalldサービスを再読み込みします。

次に、Elasticsearchデーモンを起動し、xpackセキュリティモジュールで使用するパスワードを設定します。

Elasticsearchの起動

ネットワーキングとxpackセキュリティ設定をElasticsearchに適用したので、変更が反映されるように起動する必要があります。

次のsystemctlコマンドを実行してElasticsearchを起動してください:

  1. sudo systemctl start elasticsearch.service

Elasticsearchが起動を完了すると、このチュートリアルの次のセクションに進んで、Elasticsearchに組み込まれているデフォルトユーザーのパスワードを生成します。

Elasticsearchのパスワードの設定

いったんxpack.security.enabled設定を有効にしたので、デフォルトのElasticsearchユーザーのパスワードを生成する必要があります。Elasticsearchには、これらのユーザーのためにランダムなパスワードを自動生成するユーティリティが/usr/share/elasticsearch/binディレクトリに含まれています。

以下のコマンドを実行して、ディレクトリに移動し、次にデフォルトのユーザーのランダムなパスワードを生成してください。

  1. cd /usr/share/elasticsearch/bin
  2. sudo ./elasticsearch-setup-passwords auto

以下のような出力が表示されます。続行するように求められた場合は、yを押してからRETURNまたはENTERを押してください:

Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y


Changed password for user apm_system
PASSWORD apm_system = eWqzd0asAmxZ0gcJpOvn

Changed password for user kibana_system
PASSWORD kibana_system = 1HLVxfqZMd7aFQS6Uabl

Changed password for user kibana
PASSWORD kibana = 1HLVxfqZMd7aFQS6Uabl

Changed password for user logstash_system
PASSWORD logstash_system = wUjY59H91WGvGaN8uFLc

Changed password for user beats_system
PASSWORD beats_system = 2p81hIdAzWKknhzA992m

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 85HF85Fl6cPslJlA8wPG

Changed password for user elastic
PASSWORD elastic = 6kNbsxQGYZ2EQJiqJpgl

ユーティリティを再度実行することはできませんので、これらのパスワードを安全な場所に記録してください。このチュートリアルの次のセクションで kibana_systemユーザーのパスワードが必要になります。そして、このチュートリアルのFilebeatの設定ステップでelasticユーザーのパスワードが必要です。

この時点で、Elasticsearchの設定は完了しました。次のセクションでは、Kibanaのネットワーク設定とそのxpackセキュリティモジュールの設定方法について説明します。

ステップ3 — Kibanaの設定

このチュートリアルの前のセクションでは、Elasticsearchを、ElasticsearchサーバーのプライベートIPアドレスで接続を受け付けるように設定しました。FilebeatがSuricataサーバー上のKibanaに到達できるように、Kibanaも同様の設定を行う必要があります。

最初に、KibanaがElasticsearchにデータを保存するために使用するいくつかのシークレットを生成して、Kibanaのxpackセキュリティ機能を有効にします。次に、Kibanaのネットワーク設定と認証の詳細を構成して、Elasticsearchに接続します。

Kibanaでxpack.securityを有効にする

xpackセキュリティ設定をKibanaで開始するには、いくつかの暗号化キーを生成する必要があります。Kibanaはこれらのキーを使用して、セッションデータ(Cookieなど)や、Elasticsearch内のさまざまな保存されたダッシュボードやデータのビューを保存します。

/usr/share/kibana/binディレクトリに含まれているkibana-encryption-keysユーティリティを使用して、必要な暗号化キーを生成できます。以下を実行して、ディレクトリにcdし、次にキーを生成します:

  1. cd /usr/share/kibana/bin/
  2. sudo ./kibana-encryption-keys generate -q --force

-qフラグはツールの手順を抑制し、--forceフラグは新しいキーを作成することを保証します。次のような出力が表示されます:

Output
xpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585 xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b

これらの3つのキーを安全な場所にコピーします。これらをKibanaの/etc/kibana/kibana.yml構成ファイルに追加します。

お好みのエディタでファイルを開きます(viを使用する場合):

  1. sudo vi /etc/kibana/kibana.yml

SHIFT+Gviショートカットを使用してファイルの末尾に移動します。コピーした3つのxpack行をファイルの末尾に貼り付けます。

/etc/kibana/kibana.yml
. . .

# すべてのローカライズ可能な文字列、日付、および数値形式に使用されるロケールを指定します。
# サポートされる言語は、次のとおりです:英語 - en、デフォルトでは、中国語 - zh-CN。
#i18n.locale: "en"

xpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585
xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef
xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b

ファイルを開いたままにして、次のセクションに進み、Kibanaのネットワーク設定を構成します。

Kibanaのネットワーク設定を構成する

Kibanaのネットワーキングを構成して、ElasticsearchサーバーのプライベートIPアドレスで利用できるようにします。 /etc/kibana/kibana.yml内のコメントアウトされた#server.host: "localhost"行を見つけます。 その行はファイルの冒頭付近にあります。 次に、それの後に、サーバーのプライベートIPアドレスを含む新しい行を追加します。

/etc/kibana/kibana.yml
# Kibanaはバックエンドサーバーによって提供されます。 この設定は使用するポートを指定します。
#server.port: 5601

# Kibanaサーバーがバインドするアドレスを指定します。 IPアドレスとホスト名の両方が有効な値です。
# デフォルトは 'localhost'で、通常はリモートマシンからの接続ができないことを意味します。
# リモートユーザーからの接続を許可するには、このパラメーターをループバックアドレス以外のアドレスに設定します。
#server.host: "localhost"
server.host: "your_private_ip"

your_private_ipの代わりにプライベートIPを入力します。

ファイルの編集が完了したら保存して閉じます。次に、KibanaがElasticsearchに接続する際に使用するユーザー名とパスワードを設定する必要があります。

Kibanaの資格情報の設定

KibanaがElasticsearchに認証するために使用するユーザー名とパスワードを設定する方法は2つあります。1つ目は、/etc/kibana/kibana.yml構成ファイルを編集して値を追加することです。2つ目の方法は、Kibanaのキーストアに値を保存することです。キーストアは、Kibanaがシークレットを保存するために使用できる難読化されたファイルです。

このチュートリアルでは、Kibanaの構成ファイルを直接編集するのを避けるため、キーストアの方法を使用します。

代わりにファイルを編集する場合は、elasticsearch.usernameelasticsearch.passwordの設定を行います。

構成ファイルを編集する場合は、このセクションの残りの手順をスキップしてください。

kibana-keystoreユーティリティを使用してキーストアにシークレットを追加するには、まず/usr/share/kibana/binディレクトリにcdしてください。次に、次のコマンドを実行してKibanaのユーザー名を設定します:

  1. cd /usr/share/kibana/bin
  2. sudo ./kibana-keystore add elasticsearch.username

以下のようなプロンプトが表示されます:

Username Entry
Enter value for elasticsearch.username: *************

kibana_systemを入力してください。入力する際には、各文字が*アスタリスク文字でマスクされます。入力が完了したら、ENTERキーまたはRETURNキーを押してください。

次に、パスワードを保存するために、同じプロセスを繰り返してください。前のセクションで生成したkibana_systemユーザーのパスワードをコピーしてください。このチュートリアルでは、例として1HLVxfqZMd7aFQS6Uablというパスワードが使用されます。

パスワードを設定するには、次のコマンドを実行します:

  1. sudo ./kibana-keystore add elasticsearch.password

プロンプトが表示されたら、転記エラーを防ぐためにパスワードを貼り付けてください:

Password Entry
Enter value for elasticsearch.password: ********************

Kibanaの起動

ネットワーキングとKibanaのセキュリティ設定を構成し、キーストアに認証情報を追加したので、変更を有効にするためにKibanaを起動する必要があります。

次のsystemctlコマンドを実行して、Kibanaを再起動します:

  1. sudo systemctl start kibana.service

Kibanaが起動したら、次のセクションに進んで、SuricataサーバーにFilebeatを構成してそのログをElasticsearchに送信します。

ステップ4 — Filebeatのインストール

今度は、正しいネットワークと認証設定でElasticsearchとKibanaプロセスが構成されたので、次のステップはFilebeatをSuricataサーバーにインストールして設定することです。

Filebeatのインストールを開始するには、次のコマンドでElastic GPGキーをSuricataサーバーに追加します:

  1. sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

次に、viまたはお好みのエディタを使用して、次の内容で/etc/yum/yum.repos.dディレクトリにelasticsearch.repoファイルを作成します:

  1. sudo vi /etc/yum.repos.d/elasticsearch.repo
/etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

変更を完了したら、ファイルを保存して終了します。次に、dnfコマンドを使用してFilebeatパッケージをインストールします:

  1. sudo dnf install --enablerepo=elasticsearch filebeat

次に、FilebeatをElasticsearchとKibanaの両方に接続するように構成する必要があります。お好みのエディタを使用して、/etc/filebeat/filebeat.yml構成ファイルを開きます:

  1. sudo vi /etc/filebeat/filebeat.yml

ファイルの約100行目付近にあるKibanaセクションを見つけます。コメントアウトされた#host: "localhost:5601"の行の後に、KibanaインスタンスのプライベートIPアドレスとポートを指す行を追加します:

/etc/filebeat/filebeat.yml
. . .
# Beatsバージョン6.0.0から、ダッシュボードはKibana API経由で読み込まれます。
# これにはKibanaエンドポイントの構成が必要です。
setup.kibana:

  # Kibanaホスト
  # スキームとポートは省略可能で、デフォルト値(httpおよび5601)に設定されます
  # 追加のパスを指定する場合、スキームが必要です:http://localhost:5601/path
  # IPv6アドレスは常に次のように定義する必要があります:https://[2001:db8::1]:5601
  #host: "localhost:5601"
  host: "your_private_ip:5601"

. . .

この変更により、FilebeatがSuricataログを処理するためのElasticsearch内のSIEMインデックス、ダッシュボード、および処理パイプラインを作成するために、Kibanaに接続できるようになります。

次に、ファイル内の130行目付近にあるElasticsearch Outputセクションを見つけ、hostsusername、およびpassword設定を編集して、Elasticsearchサーバーの値に一致するようにします。

output.elasticsearch:
  # 接続先ホストの配列。
  hosts: ["your_private_ip:9200"]

  # プロトコル - `http` (デフォルト) または `https`。
  #protocol: "https"

  # 認証資格情報 - APIキーまたはユーザー名/パスワード。
  #api_key: "id:api_key"
  username: "elastic"
password: "6kNbsxQGYZ2EQJiqJpgl"

. . .

hosts行には、ElasticsearchサーバーのプライベートIPアドレスを入力してください。 usernameフィールドのコメントを解除し、elasticユーザーに設定されたままにしてください。 passwordフィールドの値をelasticユーザーのパスワードに変更し、これはチュートリアルの「Elasticsearchパスワードの設定」セクションで生成したものです。

編集が完了したら、ファイルを保存して閉じます。 次に、次のコマンドを使用してFilebeatの組み込みSuricataモジュールを有効にします。

  1. sudo filebeat modules enable suricata

FilebeatがElasticsearchとKibanaに接続し、Suricataモジュールが有効になったので、次のステップはSIEMダッシュボードとパイプラインをElasticsearchにロードすることです。

filebeat setupコマンドを実行します。 すべての内容をロードするには数分かかる場合があります。

  1. sudo filebeat setup

コマンドが完了すると、以下のような出力を受け取るはずです:

Output
Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling. Index setup finished. Loading dashboards (Kibana must be running and reachable) Loaded dashboards Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead. See more: https://www.elastic.co/guide/en/machine-learning/current/index.html It is not possble to load ML jobs into an Elasticsearch 8.0.0 or newer using the Beat. Loaded machine learning job configurations Loaded Ingest pipelines

エラーがない場合は、systemctl コマンドを使用して Filebeat を起動します。実行されると、Suricata の eve.json ログからイベントを Elasticsearch に送信し始めます。

  1. sudo systemctl start filebeat.service

Suricata ログを処理するために Filebeat、Kibana、Elasticsearch を設定したので、このチュートリアルの最後のステップは Kibana に接続して SIEM ダッシュボードを探索することです。

ステップ 5 — Kibana の SIEM ダッシュボードをナビゲートする

Kibana は Elastic スタックのグラフィカルコンポーネントです。ブラウザを使用して、Suricata のイベントとアラートデータを探索します。Kibana を Elasticsearch サーバーのプライベートIPアドレス経由でのみ利用可能に構成したため、Kibana に接続するには SSH トンネルを使用する必要があります。

SSH を使用して Kibana に接続する

SSH には、ローカルポート上のネットワークトラフィックをサーバー上のリモートIPアドレスとポートに接続するオプション -L があります。このオプションを使用して、ブラウザから Kibana インスタンスにトラフィックを転送します。

Linux、macOS、およびWindows 10以降の更新されたバージョンでは、組み込みのSSHクライアントを使用してトンネルを作成できます。 Kibanaに接続するたびにこのコマンドを使用します。いつでもこの接続を閉じることができ、その後再びSSHコマンドを実行してトンネルを再確立できます。

ローカルのデスクトップコンピュータまたはラップトップコンピュータの端末で次のコマンドを実行して、KibanaへのSSHトンネルを作成します:

  1. ssh -L 5601:your_private_ip:5601 sammy@203.0.113.5 -N

SSHへのさまざまな引数は次のとおりです:

  • -Lフラグは、ポート5601のローカルシステムへのトラフィックをリモートサーバーに転送します。
  • コマンドのyour_private_ip:5601部分は、トラフィックが転送されるElasticsearchサーバーのサービスを指定します。この場合、そのサービスはKibanaです。 your_private_ipの部分にElasticsearchサーバーのプライベートIPアドレスを置き換えてください。
  • 203.0.113.5アドレスは、サーバーに接続して管理するために使用するパブリックIPアドレスです。その場所にElasticsearchサーバーのパブリックIPアドレスを置き換えてください。
  • -Nフラグは、SSHに対して対話型の/bin/bashシェルのようなコマンドを実行しないように指示し、接続を単に保持することを指示します。一般的に、この例のようにポートを転送する場合に使用されます。

いつでもトンネルを閉じたい場合は、CTRL+Cを押してください。

Windowsでは、端末は次のスクリーンショットのようになります:

注意:SSHキーを使用していない場合は、パスワードの入力を求められる場合があります。プロンプトに入力または貼り付けて、ENTERまたはRETURNを押してください。

macOSおよびLinuxでは、ターミナルは次のスクリーンショットと似ています:

ポートフォワードを備えたSSH経由でElasticsearchサーバーに接続したら、ブラウザを開いてhttp://127.0.0.1:5601を訪問します。Kibanaのログインページにリダイレクトされます:

ブラウザがKibanaに接続できない場合は、ターミナルに次のようなメッセージが表示されます:

Output
channel 3: open failed: connect failed: No route to host

このエラーは、SSHトンネルがサーバー上のKibanaサービスに到達できないことを示しています。 Elasticsearchサーバーの正しいプライベートIPアドレスを指定し、ブラウザでページを再読み込みしてください。

ユーザー名にはelastic、チュートリアルで前にコピーしたパスワードにはユーザーが使用されます。

Kibana SIEMダッシュボードの閲覧

Kibanaにログインしたら、Filebeatが構成したSuricataダッシュボードを探索できます。

Kibanaのウェルカムページの検索フィールドに、type:dashboard suricataと入力します。この検索は、次のスクリーンショットに示すように、SuricataイベントおよびSuricataアラートのダッシュボードの2つの結果を返します。

[Filebeat Suricata] イベントの概要 の結果をクリックして、すべてのログされたSuricataイベントの概要を示すKibanaダッシュボードに移動します。

Suricataアラートダッシュボードにアクセスするには、検索を繰り返すか、イベントダッシュボードに含まれるAlertsリンクをクリックします。あなたのページは以下のスクリーンショットに似ているべきです:

各ダッシュボードが表示するイベントとアラートを検査したい場合は、ページの一番下にスクロールして、各イベントとアラートをリストアップするテーブルを見つけることができます。Suricataからの元のログエントリを表示し、アラートの場合のソースや宛先IPなどのさまざまなフィールド、攻撃タイプ、SuricataシグネチャIDなどの詳細を調査できます。

Kibanaには、ブラウザウィンドウの左側のメニューを使用してアクセスできる組み込みのセキュリティダッシュボードもあります。マップ上に表示されるイベントの概要や、ネットワーク上のイベントに関する集計データを表示するには、ネットワークダッシュボードに移動します。あなたのダッシュボードは以下のスクリーンショットに似ているべきです:

指定された検索時間枠に一致するすべてのイベントをリストアップするテーブルに移動するには、ネットワークダッシュボードの一番下までスクロールします。また、各イベントを詳細に調査したり、イベントを選択してKibanaタイムラインを生成し、特定のトラフィックフローやアラート、コミュニティIDを調査することもできます。

結論

このチュートリアルでは、スタンドアロンサーバーにElasticsearchとKibanaをインストールして設定しました。両方のツールをプライベートIPアドレスで利用できるように設定しました。また、それぞれのツールに含まれるxpackセキュリティモジュールを使用して、ElasticsearchとKibanaの認証設定も構成しました。

ElasticsearchとKibanaの構成手順を完了した後、SuricataサーバーにFilebeatをインストールして設定しました。Filebeatを使用して、Kibanaのダッシュボードをポピュレートし、SuricataログをElasticsearchに送信し始めました。

最後に、ElasticsearchサーバーへのSSHトンネルを作成し、Kibanaにログインしました。新しいSuricataイベントとアラートのダッシュボード、およびネットワークダッシュボードを見つけました。

このシリーズの最後のチュートリアルでは、KibanaのSIEM機能を使用してSuricataアラートを処理する方法について説明します。特定のアラートを追跡するためのケースを作成したり、ネットワークフローを相関させるためのタイムラインを作成したり、特定のSuricataイベントに一致するルールを作成したりして、詳細に追跡または分析したいイベントを追跡する方法を探ります。

Source:
https://www.digitalocean.com/community/tutorials/how-to-build-a-siem-with-suricata-and-elastic-stack-on-rocky-linux-8