Contents
前提条件
今回はSuricata IDS と ElasticStack を 次のサーバーにインストールします
・1台目サーバー Suricata IDS & Filebeat : Debian13.1 IPアドレス(192.168.11.83)
・2台目サーバー ElasticStack & kibana : Ubuntu24.04 IPアドレス(192.168.11.85)
root以外のsudoユーザーで実行する
1台目サーバー Suricata インストール
SURICATA IDS/IPSはネットワーク上の通信を監視し、不審なトラフィックを検知するオープンソースのIDSです。基本的な仕組みはシグネチャ型であるため、あらかじめ設定した不正な通信を検知できます。また、Suricataは検知だけでなく防御も行えることが特徴です。
1.Suricata のインストール
①必須パッケージをインストール
1 |
# apt -y install wget curl dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip |
➁Suricata のインストール
1 2 |
# apt update # apt -y install suricata |
バージョンの確認
1 2 |
# suricata -V This is Suricata version 7.0.10 RELEASE |
システムの再起動時に実行されるように suricata.service を有効にします
1 2 3 4 |
# systemctl enable suricata.service Synchronizing state of suricata.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable suricata |
Suricataサービスを最初に構成する必要があるため、サービスを停止します。
1 |
# systemctl stop suricata.service |
2.Suricataを構成
①Suricataがネットワークパケットを検査するインターフェースとIPアドレスを決定
1 2 3 |
# ip --brief add lo UNKNOWN 127.0.0.1/8 ::1/128 ens33 UP 192.168.11.83/24 fe80::20c:29ff:febf:c38f/64 |
/etc/suricata/suricata.yamlファイル編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vi /etc/suricata/suricata.yaml # 18行目 : 変更(自ネットワーク) HOME_NET: "[192.168.11.0/24]" # 136行目あたり : 変更 community-id: false → community-id: true # 623行目あたり : 変更 af-packet: - interface: eth0 ↓ af-packet: - interface: ens33 ←各自のインターフェース名に変更 |
➁ルールセットを追加
Suricata には suricata-update というツールがあり、外部プロバイダーからルールセットを取得することができます。以下のように実行すると、SURICATAサーバーの最新のルールセットをダウンロードできます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# suricata-update -o /var/lib/suricata/rules 12/10/2025 -- 12:50:54 - <Info> -- Using data-directory /var/lib/suricata. 12/10/2025 -- 12:50:54 - <Info> -- Using Suricata configuration /etc/suricata/suricata.yaml 12/10/2025 -- 12:50:54 - <Info> -- Using /etc/suricata/rules for Suricata provided rules. 12/10/2025 -- 12:50:54 - <Info> -- Found Suricata version 7.0.10 at /usr/bin/suricata. 12/10/2025 -- 12:50:54 - <Info> -- Loading /etc/suricata/suricata.yaml 12/10/2025 -- 12:50:54 - <Info> -- Disabling rules for protocol pgsql 12/10/2025 -- 12:50:54 - <Info> -- Disabling rules for protocol modbus 12/10/2025 -- 12:50:54 - <Info> -- Disabling rules for protocol dnp3 12/10/2025 -- 12:50:54 - <Info> -- Disabling rules for protocol enip 12/10/2025 -- 12:50:54 - <Warning> -- No index exists, will use bundled index. 12/10/2025 -- 12:50:54 - <Warning> -- Please run suricata-update update-sources. 12/10/2025 -- 12:50:54 - <Info> -- Checking https://rules.emergingthreats.net/open/suricata-7.0.10/emerging.rules.tar.gz.md5. 12/10/2025 -- 12:50:55 - <Info> -- Fetching https://rules.emergingthreats.net/open/suricata-7.0.10/emerging.rules.tar.gz. 100% - 5114492/5114492 12/10/2025 -- 12:50:57 - <Info> -- Done. 12/10/2025 -- 12:50:58 - <Info> -- Fetching https://github.com/travisbgreen/hunting-rules/raw/master/hunting.rules.tar.gz. 100% - 12698/12698 12/10/2025 -- 12:50:58 - <Info> -- Done. 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/app-layer-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/decoder-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/dhcp-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/dnp3-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/dns-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/files.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/http2-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/http-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/ipsec-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/kerberos-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/modbus-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/mqtt-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/nfs-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/ntp-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/quic-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/rfb-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/smb-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/smtp-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/ssh-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/stream-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Loading distribution rule file /etc/suricata/rules/tls-events.rules 12/10/2025 -- 12:50:58 - <Info> -- Ignoring file f625293e2432dbf07497d06349de6f0b/rules/emerging-deleted.rules 12/10/2025 -- 12:50:59 - <Info> -- Loaded 61848 rules. 12/10/2025 -- 12:51:00 - <Info> -- Disabled 13 rules. 12/10/2025 -- 12:51:00 - <Info> -- Enabled 0 rules. 12/10/2025 -- 12:51:00 - <Info> -- Modified 0 rules. 12/10/2025 -- 12:51:00 - <Info> -- Dropped 0 rules. 12/10/2025 -- 12:51:00 - <Info> -- Enabled 136 rules for flowbit dependencies. 12/10/2025 -- 12:51:00 - <Info> -- Backing up current rules. 12/10/2025 -- 12:51:00 - <Info> -- Writing rules to /var/lib/suricata/rules/suricata.rules: total: 61848; enabled: 46019; added: 61848; removed 0; modified: 0 12/10/2025 -- 12:51:00 - <Info> -- Writing /var/lib/suricata/rules/classification.config 12/10/2025 -- 12:51:00 - <Info> -- Testing with suricata -T. 12/10/2025 -- 12:51:28 - <Info> -- Done. |
suricata-updateが無料のEmerging Threats ET Open Rulesを取得し、Suricataの/etc/suricata/rules/suricata.rulesファイルに保存したことを示しています。また、処理されたルールの数を示し、この例では61848が追加され、そのうち46019が有効になりました。
➂ルール・セット・プロバイダーの追加
既定のプロバイダー リストを一覧表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# suricata-update list-sources Name: abuse.ch/feodotracker Vendor: Abuse.ch Summary: Abuse.ch Feodo Tracker Botnet C2 IP ruleset License: CC0-1.0 Name: abuse.ch/sslbl-blacklist Vendor: Abuse.ch Summary: Abuse.ch SSL Blacklist License: CC0-1.0 Replaces: sslbl/ssl-fp-blacklist Name: abuse.ch/sslbl-c2 Vendor: Abuse.ch Summary: Abuse.ch Suricata Botnet C2 IP Ruleset License: CC0-1.0 Name: abuse.ch/sslbl-ja3 Vendor: Abuse.ch Summary: Abuse.ch Suricata JA3 Fingerprint Ruleset License: CC0-1.0 Replaces: sslbl/ja3-fingerprints Name: abuse.ch/urlhaus Vendor: abuse.ch Summary: Abuse.ch URLhaus Suricata Rules License: CC0-1.0 Name: aleksibovellan/nmap Vendor: aleksibovellan Summary: Suricata IDS/IPS Detection Rules Against NMAP Scans License: MIT Name: et/open Vendor: Proofpoint Summary: Emerging Threats Open Ruleset License: MIT Name: et/pro Vendor: Proofpoint Summary: Emerging Threats Pro Ruleset License: Commercial Replaces: et/open Parameters: secret-code Subscription: https://www.proofpoint.com/us/threat-insight/et-pro-ruleset Name: etnetera/aggressive Vendor: Etnetera a.s. Summary: Etnetera aggressive IP blacklist License: MIT Name: oisf/trafficid Vendor: OISF Summary: Suricata Traffic ID ruleset License: MIT Name: pawpatrules Vendor: pawpatrules Summary: PAW Patrules is a collection of rules for IDPS / NSM Suricata engine License: CC-BY-SA-4.0 Name: ptrules/open Vendor: Positive Technologies Summary: Positive Technologies Open Ruleset License: Custom Name: scwx/enhanced Vendor: Secureworks Summary: Secureworks suricata-enhanced ruleset License: Commercial Parameters: secret-code Subscription: https://www.secureworks.com/contact/ (Please reference CTU Countermeasures) Name: scwx/malware Vendor: Secureworks Summary: Secureworks suricata-malware ruleset License: Commercial Parameters: secret-code Subscription: https://www.secureworks.com/contact/ (Please reference CTU Countermeasures) Name: scwx/security Vendor: Secureworks Summary: Secureworks suricata-security ruleset License: Commercial Parameters: secret-code Subscription: https://www.secureworks.com/contact/ (Please reference CTU Countermeasures) Name: stamus/lateral Vendor: Stamus Networks Summary: Lateral movement rules License: GPL-3.0-only Name: stamus/nrd-14-open Vendor: Stamus Networks Summary: Newly Registered Domains Open only - 14 day list, complete License: Commercial Parameters: secret-code Subscription: https://www.stamus-networks.com/stamus-labs/subscribe-to-threat-intel-feed Name: stamus/nrd-30-open Vendor: Stamus Networks Summary: Newly Registered Domains Open only - 30 day list, complete License: Commercial Parameters: secret-code Subscription: https://www.stamus-networks.com/stamus-labs/subscribe-to-threat-intel-feed Name: stamus/nrd-entropy-14-open Vendor: Stamus Networks Summary: Newly Registered Domains Open only - 14 day list, high entropy License: Commercial Parameters: secret-code Subscription: https://www.stamus-networks.com/stamus-labs/subscribe-to-threat-intel-feed Name: stamus/nrd-entropy-30-open Vendor: Stamus Networks Summary: Newly Registered Domains Open only - 30 day list, high entropy License: Commercial Parameters: secret-code Subscription: https://www.stamus-networks.com/stamus-labs/subscribe-to-threat-intel-feed Name: stamus/nrd-phishing-14-open Vendor: Stamus Networks Summary: Newly Registered Domains Open only - 14 day list, phishing License: Commercial Parameters: secret-code Subscription: https://www.stamus-networks.com/stamus-labs/subscribe-to-threat-intel-feed Name: stamus/nrd-phishing-30-open Vendor: Stamus Networks Summary: Newly Registered Domains Open only - 30 day list, phishing License: Commercial Parameters: secret-code Subscription: https://www.stamus-networks.com/stamus-labs/subscribe-to-threat-intel-feed Name: tgreen/hunting Vendor: tgreen Summary: Threat hunting rules License: GPLv3 |
例としてtgreen/hunting
ルールセットを含める場合
1 2 3 4 5 6 7 8 9 10 |
# suricata-update enable-source tgreen/hunting 12/10/2025 -- 12:53:53 - <Info> -- Using data-directory /var/lib/suricata. 12/10/2025 -- 12:53:53 - <Info> -- Using Suricata configuration /etc/suricata/suricata.yaml 12/10/2025 -- 12:53:53 - <Info> -- Using /etc/suricata/rules for Suricata provided rules. 12/10/2025 -- 12:53:53 - <Info> -- Found Suricata version 7.0.10 at /usr/bin/suricata. 12/10/2025 -- 12:53:53 - <Warning> -- The source tgreen/hunting is already enabled. 12/10/2025 -- 12:53:53 - <Warning> -- Source index does not exist, will use bundled one. 12/10/2025 -- 12:53:53 - <Warning> -- Please run suricata-update update-sources. 12/10/2025 -- 12:53:53 - <Info> -- Source tgreen/hunting enabled |
アップデートを実行
1 |
# suricata-update -o /var/lib/suricata/rules |
3.Suricata 構成のテスト
①設定ファイルのテスト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# suricata -T -c /etc/suricata/suricata.yaml -v Notice: suricata: This is Suricata version 7.0.10 RELEASE running in SYSTEM mode Info: cpu: CPUs/cores online: 2 Info: suricata: Running suricata under test mode Info: suricata: Setting engine mode to IDS mode by default Info: exception-policy: master exception-policy set to: auto Info: logopenfile: fast output device (regular) initialized: fast.log Notice: output-eve-syslog: Syslog: facility local0, level Debug, ident suricata Info: logopenfile: stats output device (regular) initialized: stats.log Info: detect: 1 rule files processed. 46019 rules successfully loaded, 0 rules failed, 0 Info: threshold-config: Threshold config parsed: 0 rule(s) found Info: detect: 46022 signatures processed. 964 are IP-only rules, 4522 are inspecting packet payload, 40306 inspect application layer, 109 are decoder event only Notice: suricata: Configuration provided was successfully loaded. Exiting. |
Suricata service再起動
1 |
# systemctl start suricata |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# systemctl status suricata ● suricata.service - Suricata IDS/IDP daemon Loaded: loaded (/usr/lib/systemd/system/suricata.service; enabled; preset: enabled) Active: active (running) since Sun 2025-10-12 12:55:32 JST; 14s ago Invocation: da021726006d402da2058289695de654 Docs: man:suricata(8) man:suricatasc(8) https://suricata.io/documentation/ Process: 10975 ExecStart=/usr/bin/suricata -D -q 0 -c /etc/suricata/suricata.yaml --pidfile /run/suricata.pid (code=exited, status=0/SUCCESS) Main PID: 10976 (Suricata-Main) Tasks: 1 (limit: 2257) Memory: 302.1M (peak: 302.1M) CPU: 14.940s CGroup: /system.slice/suricata.service mq10976 /usr/bin/suricata -D -q 0 -c /etc/suricata/suricata.yaml --pidfile /run/suricata.pid Oct 12 12:55:32 Lepard systemd[1]: Starting suricata.service - Suricata IDS/IDP daemon... Oct 12 12:55:32 Lepard suricata[10975]: i: suricata: This is Suricata version 7.0.10 RELEASE running in SYSTEM mode Oct 12 12:55:32 Lepard systemd[1]: Started suricata.service - Suricata IDS/IDP daemon. |
ログファイルを確認
1 2 3 4 5 6 7 8 9 10 11 12 |
# tail -f /var/log/suricata/suricata.log [10976 - Suricata-Main] 2025-10-12 12:55:32 Notice: output-eve-syslog: Syslog: facility local0, level Debug, ident suricata [10976 - Suricata-Main] 2025-10-12 12:55:32 Info: logopenfile: stats output device (regular) initialized: stats.log [10976 - Suricata-Main] 2025-10-12 12:55:47 Info: detect: 1 rule files processed. 46019 rules successfully loaded, 0 rules failed, 0 [10976 - Suricata-Main] 2025-10-12 12:55:47 Info: threshold-config: Threshold config parsed: 0 rule(s) found [10976 - Suricata-Main] 2025-10-12 12:55:47 Info: detect: 46022 signatures processed. 964 are IP-only rules, 4522 are inspecting packet payload, 40306 inspect application layer, 109 are decoder event only [10985 - RX-NFQ#0] 2025-10-12 12:55:58 Info: nfq: binding this thread 0 to queue '0' [10985 - RX-NFQ#0] 2025-10-12 12:55:58 Info: nfq: setting queue length to 4096 [10985 - RX-NFQ#0] 2025-10-12 12:55:58 Info: nfq: setting nfnl bufsize to 6144000 [10976 - Suricata-Main] 2025-10-12 12:55:58 Info: unix-manager: unix socket '/var/run/suricata-command.socket' [10976 - Suricata-Main] 2025-10-12 12:55:58 Notice: threads: Threads created -> RX: 1 W: 2 TX: 1 FM: 1 FR: 1 Engine started. |
4.Suricataルールのテスト
①次のコマンドを使用してET Open 署名ID 2100498をを使用してテストする
1 2 |
# curl http://testmynids.org/uid/index.html uid=0(root) gid=0(root) groups=0(root) |
②指定されたルール番号を使用してログファイルを確認する
Suricataには、デフォルトで有効になっている次の2つのログファイルが付属しています。
/var/log/suricata/fast.log
/var/log/suricata/eve.log
curlリクエストに対応するログエントリーを確認するために、/var/log/suricata/fast.log ログファイルをgrepコマンドを使用してチェックします。2100498 ルール識別子を使用してログエントリーを検索します。(IPv4の場合)
1 2 3 |
# grep 2100498 /var/log/suricata/fast.log 10/12/2025-13:30:27.566046 [**] [1:2100498:7] GPL ATTACK_RESPONSE id check returned root [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 143.204.80.46:80 -> 192.168.11.83:38124 |
③/var/log/suricata/eve.log のイベント確認
jq をインストール
1 |
# apt -y install jq |
2100498シグネチャを検索して、EVEログのイベントをフィルタリング
2100498の値と一致するsignature_idキーを持つalertオブジェクトを表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# jq 'select(.alert .signature_id==2100498)' /var/log/suricata/eve.json { "timestamp": "2025-10-12T13:30:27.566046+0900", "flow_id": 910625614170616, "in_iface": "ens33", "event_type": "alert", "src_ip": "143.204.80.46", "src_port": 80, "dest_ip": "192.168.11.83", "dest_port": 38124, "proto": "TCP", "pkt_src": "wire/pcap", "community_id": "1:8dd1k0farTBUmseUAvRkbzLKNqo=", "tx_id": 0, "tx_guessed": true, "alert": { "action": "allowed", "gid": 1, "signature_id": 2100498, "rev": 7, "signature": "GPL ATTACK_RESPONSE id check returned root", "category": "Potentially Bad Traffic", "severity": 2, "metadata": { "confidence": [ "Medium" ], "created_at": [ "2010_09_23" ], "signature_severity": [ "Informational" ], "updated_at": [ "2019_07_26" ] } }, -------------------------------------------- -------------------------------------------- |
5.SURICATAを再設定し、IPSモードで再起動する
SURICATAはデフォルトではIDSモードで動作し、積極的にネットワークトラフィックをブロックすることはありません。IPSモードに切り替えるには、SURICATAのデフォルト設定を変更する必要がある。
5.1 nfqueueモードの有効化
1 2 3 4 5 |
# vi /usr/lib/systemd/system/suricata.service 下記のとおり変更する [Service] #ExecStart=/usr/bin/suricata -D --af-packet -c /etc/suricata/suricata.yaml - -pidfile /run/suricata.pid ExecStart=/usr/bin/suricata -D -q 0 -c /etc/suricata/suricata.yaml --pidfile /run/suricata.pid |
設定をリロードして、suricataを再起動
1 2 |
# systemctl daemon-reload # systemctl restart suricata.service |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# systemctl status suricata.service ● suricata.service - Suricata IDS/IDP daemon Loaded: loaded (/usr/lib/systemd/system/suricata.service; enabled; preset: enabled) Active: active (running) since Sun 2025-10-12 14:20:37 JST; 16s ago Invocation: dbf7e4729b3d4cd19a505df75d0fa8e2 Docs: man:suricata(8) man:suricatasc(8) https://suricata.io/documentation/ Process: 12855 ExecStart=/usr/bin/suricata -D -q 0 -c /etc/suricata/suricata.yaml --pidfile /run/suricata.pid (code=exited, status=0/SUCCESS) Main PID: 12858 (Suricata-Main) Tasks: 1 (limit: 2257) Memory: 429.3M (peak: 429.3M) CPU: 16.308s CGroup: /system.slice/suricata.service mq12858 /usr/bin/suricata -D -q 0 -c /etc/suricata/suricata.yaml --pidfile /run/suricata.pid Oct 12 14:20:37 Lepard systemd[1]: Starting suricata.service - Suricata IDS/IDP daemon... Oct 12 14:20:37 Lepard suricata[12855]: i: suricata: This is Suricata version 7.0.10 RELEASE running in SYSTEM mode Oct 12 14:20:37 Lepard systemd[1]: Started suricata.service - Suricata IDS/IDP daemon. |
5.2 Suricataにトラフィックを送信するためのUFWの設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# vi /etc/ufw/before.rules 18行目に追加 # Don't delete these required lines, otherwise there will be errors *filter :ufw-before-input - [0:0] :ufw-before-output - [0:0] :ufw-before-forward - [0:0] :ufw-not-local - [0:0] # End required lines ## Start Suricata NFQUEUE rules -I INPUT 1 -p tcp --dport 22 -j NFQUEUE --queue-bypass -I OUTPUT 1 -p tcp --sport 22 -j NFQUEUE --queue-bypass -I FORWARD -j NFQUEUE -I INPUT 2 -j NFQUEUE -I OUTPUT 2 -j NFQUEUE ## End Suricata NFQUEUE rules ## Start Suricata NFQUEUE rules |
1 |
# systemctl restart ufw.service |
5.3 ローカルルールを作成しsuricata設定ファイルに定義
まず、コンフリを起こさないようにsuricata.rulesに定義されているシグネチャsid:2100498に一致するパケットを無効化する
1 2 3 4 5 |
# vi /var/lib/suricata/rules/suricata.rules sid:2100498に一致する行を見つけコメントにする # alert ip any any -> any any (msg:"GPL ATTACK_RESPONSE id check returned root"; content:"uid=0|28|root|29|"; cla sstype:bad-unknown; sid:2100498; rev:7; metadata:created_at 2010_09_23, confidence Medium, signature_severity Informational, updated_at 2019_07_26;) |
ローカルルールを新規作成
1 2 3 |
# vi /var/lib/suricata/rules/local.rules drop ip any any -> any any (msg:"GPL ATTACK_RESPONSE id check returned root"; content:"uid=0|28|root|29|"; cla sstype:bad-unknown; sid:2100498; rev:7; metadata:created_at 2010_09_23, confidence Medium, signature_severity Informational, updated_at 2019_07_26;) |
suricata設定ファイルに定義する
1 2 3 4 5 6 |
# vi /etc/suricata/suricata.yaml 2192行目当たりに追加 rule-files: - suricata.rules - local.rules |
シグネチャを再読み込みする
1 |
# kill -usr2 $(pidof suricata) |
5.4 curlを使ってこのルールをテストする
1 2 |
# curl --max-time 5 http://testmynids.org/uid/index.html curl: (28) Operation timed out after 5000 milliseconds with 0 out of 39 bytes received |
jqを使ってeve.log確認 "action": "blocked"になっている
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# jq 'select(.alert .signature_id==2100498)' /var/log/suricata/eve.json { "timestamp": "2025-10-12T14:59:26.353362+0900", "flow_id": 1706196029863669, "event_type": "alert", "src_ip": "143.204.80.46", "src_port": 80, "dest_ip": "192.168.11.83", "dest_port": 39248, "proto": "TCP", "pkt_src": "wire/pcap", "community_id": "1:880flDjUb/EETThBKczGMVXp0Wg=", "tx_id": 0, "tx_guessed": true, "alert": { "action": "blocked", "gid": 1, "signature_id": 2100498, "rev": 7, "signature": "GPL ATTACK_RESPONSE id check returned root", "category": "Potentially Bad Traffic", "severity": 2, "metadata": { "confidence": [ "Medium" ], "created_at": [ "2010_09_23" ], "signature_severity": [ "Informational" ], "updated_at": [ "2019_07_26" ] } }, ---------------------------------------- ---------------------------------------- |
Elastic stack 9.x インストール
Elastic Stackをインストール&設定して、SURICATAのログを可視化&検索できるようにする
本セクションは基本的には2台目のUbuntu24.04サーバーで行います
①Elastic stack 9.xのリポジトリ署名キーをインストール
1 |
# apt update |
1 |
# apt install gnupg2 -y |
1 2 |
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | \ gpg --dearmor -o /etc/apt/trusted.gpg.d/elastic.gpg |
➁Elastic Stack 9.xのリポジトリをインストール
1 |
# echo "deb https://artifacts.elastic.co/packages/9.x/apt stable main" > /etc/apt/sources.list.d/elastic-9.x.list |
update
1 |
# apt update |
➂Ubuntu 24.04 に Elasticsearch 9.x をインストール
1 |
# apt install elasticsearch -y |
インストール中、デフォルトでセキュリティ機能が有効になります;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
--------------------------- Security autoconfiguration information ------------------------------ Authentication and authorization are enabled. TLS for the transport and HTTP layers is enabled and configured. The generated password for the elastic built-in superuser is : mZCL0fKEzs8O7oOK4zYU If this node should join an existing cluster, you can reconfigure this with '/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>' after creating an enrollment token on your existing cluster. You can complete the following actions at any time: Reset the password of the elastic built-in superuser with '/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'. Generate an enrollment token for Kibana instances with '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'. Generate an enrollment token for Elasticsearch nodes with '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'. ------------------------------------------------------------------------------------------------- |
認証と認可が有効になっている。
トランスポート層とHTTP層のTLSが有効化され、設定されます。
Elasticスーパーユーザーアカウント(elastic)とそのパスワードが作成されます。
④Ubuntu 上での Elasticsearch 9.x の設定
今回は基本的なシングルノードのクラスタなので、デフォルトの設定を使用します。
Elasticsearch の設定ファイル /etc/elasticsearch/elasticsearch.yml を確認すると、セキュリティの設定が有効になっていることがわかります
1 |
# cat /etc/elasticsearch/elasticsearch.yml |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#----------------------- BEGIN SECURITY AUTO CONFIGURATION ----------------------- # # The following settings, TLS certificates, and keys have been automatically # generated to configure Elasticsearch security features on 12-10-2025 06:16:28 # # -------------------------------------------------------------------------------- # Enable security features xpack.security.enabled: true xpack.security.enrollment.enabled: true # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents xpack.security.http.ssl: enabled: true keystore.path: certs/http.p12 # Enable encryption and mutual authentication between cluster nodes xpack.security.transport.ssl: enabled: true verification_mode: certificate keystore.path: certs/transport.p12 truststore.path: certs/transport.p12 # Create a new cluster with the current node only # Additional nodes can still join the cluster later cluster.initial_master_nodes: ["Lan"] # Allow HTTP API connections from anywhere # Connections are encrypted and require user authentication http.host: 0.0.0.0 # Allow other nodes to join the cluster from anywhere # Connections are encrypted and mutually authenticated #transport.host: 0.0.0.0 #----------------------- END SECURITY AUTO CONFIGURATION ------------------------- |
⑤Elasticsearch起動
Elasticsearch を起動し、システム起動時に実行できるようにします
1 |
# systemctl daemon-reload |
1 2 |
# systemctl enable --now elasticsearch # systemctl start elasticsearch |
ステータスを確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# systemctl status elasticsearch ● elasticsearch.service - Elasticsearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; preset: enabled) Active: active (running) since Sun 2025-10-12 15:21:07 JST; 21s ago Docs: https://www.elastic.co Main PID: 9244 (java) Tasks: 103 (limit: 4548) Memory: 2.3G (peak: 2.3G) CPU: 54.439s CGroup: /system.slice/elasticsearch.service tq9244 /usr/share/elasticsearch/jdk/bin/java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=/usr/share/elasticsearch/bin/elasticsearch -Dcl> tq9303 /usr/share/elasticsearch/jdk/bin/java -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.a> mq9323 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller Oct 12 15:20:35 Lan systemd[1]: Starting elasticsearch.service - Elasticsearch... Oct 12 15:21:07 Lan systemd[1]: Started elasticsearch.service - Elasticsearch. |
curlコマンドを使用してESのステータスを確認することもできます。IPは適宜置き換えてください
1 |
# curl https://192.168.11.85:9200 --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic |
プロンプトが表示されたら、Elasticsearchのインストール時に生成されたElasticsearchパスワードを入力します
以下のように出力される
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Enter host password for user 'elastic': { "name" : "Lion", "cluster_name" : "elasticsearch", "cluster_uuid" : "xvn64e0VQiSJD3V4GIjYhg", "version" : { "number" : "9.1.5", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "90ee222e7e0136dd8ddbb34015538f3a00c129b7", "build_date" : "2025-10-02T22:07:12.966975992Z", "build_snapshot" : false, "lucene_version" : "10.2.2", "minimum_wire_compatibility_version" : "8.19.0", "minimum_index_compatibility_version" : "8.0.0" }, "tagline" : "You Know, for Search" } |
また、HTTPポートとトランスポートポートの両方が開いていることを確認する;
1 2 3 4 5 |
# ss -altnp | grep -E "9200|9300" LISTEN 0 4096 0.0.0.0:9200 0.0.0.0:* users:(("java",pid=27019,fd=580)) LISTEN 0 4096 127.0.0.1:9300 0.0.0.0:* users:(("java",pid=27019,fd=578)) |
⑥Elasticsearch パスワードのリセット
自動生成されたElasticユーザーパスワードが複雑すぎるので、/usr/share/elasticsearch/bin/elasticsearch-reset-passwordコマンドを使ってリセットする
パスワードをリセットするには、コマンドを実行する
1 |
# /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i |
1 2 3 4 5 6 7 8 |
This tool will reset the password of the [elastic] user. You will be prompted to enter the password. Please confirm that you would like to continue [y/N]y Enter password for [elastic]: Re-enter password for [elastic]: Password for the [elastic] user successfully reset. |
⑦Elasticsearch ログ
Elasticsearchは/var/log/elasticsearchパスにログを書き込みます。Elasticsearch インスタンスに問題がある場合に確認する必要があるログは /var/log/elasticsearch/CLUSTER_NAME.log です。
CLUSTER_NAME は elasticsearch.yaml ファイルの cluster.name オプションの値です。もしこの値を変更しなかった場合、デフォルトは elasticsearch となり、ログファイルは /var/log/elasticsearch/elasticsearch.log となります。
1 |
# tail -f /var/log/elasticsearch/elasticsearch.log |
ログ
1 2 3 4 5 6 7 8 9 10 |
[2025-10-12T15:21:13,183][INFO ][o.e.x.i.IndexLifecycleTransition] [Lan] moving index [.ds-.logs-elasticsearch.deprecation-default-2025.10.12-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.deprecation-indexing-ilm-policy] [2025-10-12T15:21:13,222][INFO ][o.e.c.m.MetadataMappingService] [Lan] [.ds-.logs-elasticsearch.deprecation-default-2025.10.12-000001/5KSvPPbdSVCn8_yXs-qaHQ] update_mapping [_doc] [2025-10-12T15:21:18,121][INFO ][o.e.c.m.MetadataCreateIndexService] [Lan] creating index [.ds-ilm-history-7-2025.10.12-000001] in project [default], cause [initialize_data_stream], templates [provided in request], shards [1]/[1] [2025-10-12T15:21:18,122][INFO ][o.e.c.m.MetadataCreateDataStreamService] [Lan] adding data stream [ilm-history-7] with write index [.ds-ilm-history-7-2025.10.12-000001], backing indices [], and aliases [] [2025-10-12T15:21:18,123][INFO ][o.e.c.r.a.AllocationService] [Lan] in project [default] updating number_of_replicas to [0] for indices [.ds-ilm-history-7-2025.10.12-000001] [2025-10-12T15:21:18,234][INFO ][o.e.c.r.a.AllocationService] [Lan] current.health="GREEN" message="Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.ds-ilm-history-7-2025.10.12-000001][0]]])." previous.health="YELLOW" reason="shards started [[.ds-ilm-history-7-2025.10.12-000001][0]]" [2025-10-12T15:23:59,517][INFO ][o.e.x.s.a.f.FileUserPasswdStore] [Lan] users file [/etc/elasticsearch/users] changed. updating users... [2025-10-12T15:23:59,521][INFO ][o.e.x.s.a.f.FileUserRolesStore] [Lan] users roles file [/etc/elasticsearch/users_roles] changed. updating users roles... [2025-10-12T15:24:19,534][INFO ][o.e.x.s.a.f.FileUserPasswdStore] [Lan] users file [/etc/elasticsearch/users] changed. updating users... [2025-10-12T15:24:19,535][INFO ][o.e.x.s.a.f.FileUserRolesStore] [Lan] users roles file [/etc/elasticsearch/users_roles] changed. updating users roles... |
Kibana 9.x インストール
本セクションは基本的には2台目のUbuntu24.04サーバーで行います
①インストール
1 |
# apt install kibana |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: kibana 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/362 MB of archives. After this operation, 1,137 MB of additional disk space will be used. Selecting previously unselected package kibana. (Reading database ... 129060 files and directories currently installed.) Preparing to unpack .../kibana_9.1.5_amd64.deb ... Unpacking kibana (9.1.5) ... Setting up kibana (9.1.5) ... Creating kibana group... OK Creating kibana user... OK Created Kibana keystore in /etc/kibana/kibana.keystore |
➁Kibana 9 を設定
Kibana はデフォルトで localhost:5601 で実行されるように設定されている。外部からのアクセスを許可するには、設定ファイルを編集し、server.hostの値をインターフェイスIPに置き換える。
1 |
# vi /etc/kibana/kibana.yml |
以下のように書き換える
1 2 3 4 5 6 7 8 9 |
# Kibana is served by a back end server. This setting specifies the port to use. # 6行目 : コメントを外す server.port: 5601 ... 12行目当たりに追加 # To allow connections from remote users, set this parameter to a non-loopback address. #server.host: "localhost" server.host: "192.168.11.85" |
➂Kibana-Elasticsearch Enrollment Token の生成
Kibana インスタンスを、セキュリティ機能が有効になっている既存の Elasticsearch クラスタと通信するように設定するには、登録トークンが必要です。Kibana 用の Enrollment Token は以下のコマンドで生成できる
1 |
# /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana |
1 |
eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTkyLjE2OC4xMS44NTo5MjAwIl0sImZnciI6IjMwYzRiYWNjMjgxZDkzMGY5NzMyMzM5N2Q1ZjUxNTYzYzQyZDk1NTdmNDNlNDIwZjkxMWFjMTgzMjFmMzUwMjciLCJrZXkiOiI1ejVPWDVnQi1hWGhacW92LTR4MDp6VzJrMGNTVW03NEpBQkxSYVduTG13In0= |
④Kibana 暗号化キーの生成
Kibana は、Kibana 関連インデックスのデータの暗号化からセッション情報の保存まで、いくつかの領域で暗号化キーを使用する。必要なキーは次のとおりです
xpack.encryptedSavedObjects.encryptionKey
:ダッシュボードやビジュアライゼーションなどの保存されたオブジェクトを暗号化するために使用されます。xpack.reporting.encryptionKey
: 保存されたレポートの暗号化に使用xpack.security.encryptionKey
: セッション情報の暗号化に使用
これらは以下のコマンドで生成する
1 |
# /usr/share/kibana/bin/kibana-encryption-keys generate |
次のように出力される
1 2 3 4 |
Settings: xpack.encryptedSavedObjects.encryptionKey: 88441050bba328d35b790294b5a3a0c4 xpack.reporting.encryptionKey: 02c4eb1bdef134d38b40a385c1591268 xpack.security.encryptionKey: f8a32f0bbd0885cbe8b6f72609157aac |
上記をKibanaの設定ファイルkibana.ymlに挿入する
1 2 3 |
# echo -e "xpack.encryptedSavedObjects.encryptionKey: 88441050bba328d35b790294b5a3a0c4 xpack.reporting.encryptionKey: 02c4eb1bdef134d38b40a385c1591268 xpack.security.encryptionKey: f8a32f0bbd0885cbe8b6f72609157aac" >> /etc/kibana/kibana.yml |
⑤Kibana の実行
Kibana 9 を起動し、システム起動時に実行できるようにする。
1 2 |
# systemctl enable --now kibana # systemctl start kibana |
status
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# systemctl status kibana ● kibana.service - Kibana Loaded: loaded (/usr/lib/systemd/system/kibana.service; enabled; preset: enabled) Active: active (running) since Sun 2025-10-12 15:33:10 JST; 3min 21s ago Docs: https://www.elastic.co Main PID: 9781 (node) Tasks: 11 (limit: 4548) Memory: 360.1M (peak: 483.7M) CPU: 16.703s CGroup: /system.slice/kibana.service mq9781 /usr/share/kibana/bin/../node/glibc-217/bin/node /usr/share/kibana/bin/../src/cli/dist Oct 12 15:33:12 Lan kibana[9781]: Native global console methods have been overridden in production environment. Oct 12 15:33:18 Lan kibana[9781]: [2025-10-12T15:33:18.305+09:00][INFO ][root] Kibana is starting Oct 12 15:33:18 Lan kibana[9781]: [2025-10-12T15:33:18.348+09:00][INFO ][node] Kibana process configured with roles: [background_tasks, ui] Oct 12 15:33:28 Lan kibana[9781]: [2025-10-12T15:33:27.957+09:00][INFO ][plugins-service] The following plugins are disabled: "cloudChat,cloudExperiments,cloudFullStory> Oct 12 15:33:28 Lan kibana[9781]: [2025-10-12T15:33:28.063+09:00][INFO ][http.server.Preboot] http server running at http://192.168.11.85:5601 Oct 12 15:33:28 Lan kibana[9781]: [2025-10-12T15:33:28.195+09:00][INFO ][plugins-system.preboot] Setting up [1] plugins: [interactiveSetup] Oct 12 15:33:28 Lan kibana[9781]: [2025-10-12T15:33:28.223+09:00][INFO ][preboot] "interactiveSetup" plugin is holding setup: Validating Elasticsearch connection config> Oct 12 15:33:28 Lan kibana[9781]: [2025-10-12T15:33:28.257+09:00][INFO ][root] Holding setup until preboot stage is completed. Oct 12 15:33:35 Lan kibana[9781]: Go to http://192.168.11.85:5601/?code=446458 to get started. |
出力の最後のほうに以下のように表示される
1 |
Go to http://192.168.11.85:5601/?code=446458 to get started. |
提供されたKibanaのURL(codeを含む)をコピーしてブラウザで使用し、Kibanaにアクセスしてセットアップを完了する。
同様に、Kibanaのログは/var/log/kibana/kibana.logと/var/log/syslogで利用できる。
⑥Kibana9 ダッシュボードにアクセスする
http://192.168.11.85:5601/?code=446458.にアクセスする
(各自の適切なアドレスをコピー)
UFWが起動している場合は、Kibanaポートを開く
1 2 3 4 |
# ufw allow 5601/tcp Rule added # ufw reload Firewall reloaded |
Kibana 9にアクセスすると、ウェルカムページでElasticの設定を求められます。
最初に、生成した登録トークンを入力する。
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana, コマンドを使用して生成された Kibana トークンをコピーし、ボックスに貼り付ける
http://192.168.11.85:5601/?code=446458にアクセス

トークンをペーストすると、Kibana が自動的に Elasticsearch に接続します。
Configure Elastic をクリックします。設定が保存され、Elasticsearch が設定、再起動されます。

ログインページに移動します。生成されたElasticユーザー認証情報を使用してログインします。
Username : elastic
Password : わかりやすく再生成したパスワード

ウェルカムページで、「Explore on my own」をクリックしてKibana 9.xダッシュボードに進む。

Filebeat 9のインストール
ELKスタックを使用してDebian13.1からログを収集して監視するには、Filebeatをインストールする必要があります。
本作業は1台目サーバー Debian13.1 IPアドレス(192.168.11.83)で行います。
①Elastic Reposをインストールする
Filebeat 9をインストールするには、Elastic 9.xリポジトリをインストールする必要があります。
必ずfilebeatの最新バージョンをインストールしてください、古いバージョンをインストールすればkibanaのイベントに何も表示されないバグがあります
1 2 |
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | \ gpg --dearmor > /etc/apt/trusted.gpg.d/elk.gpg |
1 2 |
# echo "deb https://artifacts.elastic.co/packages/9.x/apt stable main" \ > /etc/apt/sources.list.d/elastic-9.list |
update
1 |
# apt update |
Filebeat 9をインストール
1 |
# apt install filebeat |
➁Filebeat Loggingの設定
デフォルトのfilebeat設定ファイルは
/etc/filebeat/filebeat.yml
です
Filebeatがログを独自のログファイルに書き込むようにするには、設定ファイルに以下の設定を入力する
1 2 3 4 5 6 7 8 9 |
# cat >> /etc/filebeat/filebeat.yml << 'EOL' logging.level: info logging.to_files: true logging.files: path: /var/log/filebeat name: filebeat keepfiles: 7 permissions: 0640 EOL |
➂Filebeatをデータ処理系に接続する
Filebeatをデータ処理系に接続するように設定します。今回はElasticsearchです。
ログを直接Elasticsearchに送信するには、Filebeat設定ファイルを編集し、出力設定セクションを更新します。
Elasticsearch 9への接続にはSSLと認証が必要です。
Elasticsearchのポート9200/tcpに接続できることを確認する(事前に2台目サーバーの9200ポートを開放しておく)
1 2 3 4 5 |
# telnet 192.168.11.85 9200 Trying 192.168.11.85... Connected to 192.168.11.85. Escape character is '^]'. |
④Elasticsearch CA証明書作成
Elasticsearch CA証明書をダウンロードし、任意のディレクトリに保存します(今回は/etc/filebeat/elastic-ca.crtとして保存します)
1 2 3 |
# openssl s_client -connect 192.168.11.85:9200 \ -showcerts </dev/null 2>/dev/null | \ openssl x509 -outform PEM > /etc/filebeat/elastic-ca.crt |
FilebeatがElasticsearchの認証に使用する認証情報を取得します。今回は、デフォルトのスーパー管理者、Elasticユーザの認証情報を使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# vi /etc/filebeat/filebeat.yml 143行目当たり Kibanaセクションを下記のように変更 #host: "localhost:5601" host: "192.168.11.85:5601" 170行目当たりから Elasticsearch Output セクションを下記のように変更 output.elasticsearch: # Array of hosts to connect to. #hosts: ["localhost:9200"] hosts: ["192.168.11.85:9200"] # Performance preset - one of "balanced", "throughput", "scale", # "latency", or "custom". preset: balanced # Protocol - either `http` (default) or `https`. protocol: "https" ssl.certificate_authorities: ["/etc/filebeat/elastic-ca.crt"] # Authentication credentials - either API key or username/password. #api_key: "id:api_key" username: "elastic" password: "Password" ←2台目サーバーで作成したelasticのパスワード |
⑤設定ファイルテスト
1 2 |
# filebeat test config Config OK |
⑥Filebeatの出力接続をテスト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# filebeat test output elasticsearch: https://192.168.11.85:9200... parse url... OK connection... parse host... OK dns lookup... OK addresses: 192.168.11.85 dial up... OK TLS... security... WARN server's certificate chain verification is disabled handshake... OK TLS version: TLSv1.3 dial up... OK talk to server... OK version: 9.1.4 |
⑦初期環境をセットアップ
SIEMダッシュボードとパイプラインをElasticsearchにロードします
filebeat setupコマンドを実行
1 2 3 4 5 6 |
# filebeat setup -e ---------------------------------------------------------------------------- o","file.line":134},"message":"Elasticsearch pipeline loaded.","service.name":"filebeat","pipeline":"filebeat-9.1.5-suricata-eve-tls","ecs.version":"1.6.0"} {"log.level":"info","@timestamp":"2025-10-13T08:33:02.556+0900","log.logger":"modules","log.origin":{"function":"github.com/elastic/beats/v7/filebeat/fileset.LoadPipeline","file.name":"fileset/pipelines.go","file.line":134},"message":"Elasticsearch pipeline loaded.","service.name":"filebeat","pipeline":"filebeat-9.1.5-suricata-eve-http","ecs.version":"1.6.0"} Loaded Ingest pipelines |
⑧Filebeatサービスを開始
1 |
# systemctl start filebeat.service |
⑩Kibanaで確認
Kibanaにログインし直します。http://192.168.11.85:5601にアクセスします。
一番上の検索フィールドに「Suricata Events Overview」と入力し、[Filebeat Suricata]Events Overviewをクリック

過去 15 分間のすべての Suricata イベントが表示されます

悪質なトラフィックのアラートを表示するにはSuricataロゴの横にあるAlertsテキストをクリック

elasticスーパーユーザーアカウントを使う必要がないように、新しいユーザーアカウントを作成します。
左上三本線マークをクリックし、[Management]の[Stack Management] を選択

「security」「Users」選択

右上の"Create user"ボタンをクリック

新規ユーザー情報を入力し、Privilegesでkibana_admin、kibana_system、monitoring_user、editorのロールを割り当て、最後に[Create user]をクリック

現在のプロファイルからログアウトし、新しく作成したユーザーアカウントでログインできることを確認する。