紹介
Suricataは、コミュニティが作成したセットやユーザーが定義したシグネチャ(ルールとも呼ばれる)を使用してネットワークトラフィックを調査および処理するネットワークセキュリティモニタリング(NSM)ツールです。Suricataは、不審なパケットやサーバーで実行されているさまざまなサービスへのリクエストを検出した場合にログイベントを生成し、アラートをトリガーし、トラフィックをドロップすることができます。
デフォルトでは、Suricataはサーバーやネットワーク上の不審なトラフィックをスキャンするパッシブ侵入検知システム(IDS)として機能します。さらなる調査のためにアラートを生成および記録します。また、特定のルールに一致するネットワークトラフィックをログに記録し、アラートを発生させ、完全にブロックするアクティブ侵入防止システム(IPS)として構成することもできます。
Suricataをネットワーク内のゲートウェイホストに展開して、他のシステムからのすべての入出力ネットワークトラフィックをスキャンするか、それを個々のマシンでローカルに実行して、どちらのモードでも実行できます。
このチュートリアルでは、Centos 8 StreamにSuricataをインストールし、デフォルトの設定をカスタマイズして必要に応じて適用する方法を学びます。また、Suricataがネットワークトラフィックをスキャンするために使用する既存のシグネチャセット(通常はルールセットと呼ばれる)をダウンロードする方法も学びます。最後に、Suricataが不審なリクエストやデータを検出したときに正常に動作しているかどうかをテストする方法も学びます。
前提条件
Suricataを使用するネットワーク構成と使用方法に応じて、サーバーに必要なCPUとRAMが異なる場合があります。一般的に、検査するトラフィックが多いほど、Suricataに割り当てるリソースが増えます。本番環境では、最低でも2つのCPUと4〜8GBのRAMを割り当てることをお勧めします。そこから、Suricataのパフォーマンスと処理する必要のあるトラフィック量に応じてリソースをスケーリングできます。
Suricataを実行しているサーバーを保護するためにSuricataを使用する場合は、以下が必要です:
- 2つ以上のCPU、sudoノンルートユーザー、有効なファイアウォールを備えた1台のCentos 8 Streamサーバー。これを設定するには、当社のCentOS Linux 8での初期サーバー設定チュートリアルに従うことができます。
それ以外の場合、複数のサーバーを監視および保護するためのゲートウェイホストでSuricataを使用する場合は、ホストのネットワーキングが正しく構成されていることを確認する必要があります。
DigitalOceanを使用している場合は、ドロップレットをVPCゲートウェイとして構成する方法ガイドに従うことができます。これらの手順は、ほとんどのCentOS、Fedora、および他のRedHat派生サーバーでも機能するはずです。
ステップ1 — Suricataのインストール
Suricataをインストールするには、まず、CentOSシステムにOpen Information Security Foundation(OISF)のソフトウェアリポジトリ情報を追加する必要があります。これには、dnf copr enable
コマンドを使用します。また、Extra Packages for Enterprise Linux(EPEL)リポジトリも追加する必要があります。
次に、dnf
パッケージツールのCommunity Projects(copr
)サブコマンドを有効にするには、次のコマンドを実行します:
追加の依存関係のインストールと、CentOS LinuxディストリビューションのGPGキーの受け入れが求められます。y
を押して、ENTER
を押して、copr
パッケージのインストールを完了します。
次に、次のコマンドを実行して、OISFリポジトリをシステムに追加し、利用可能なパッケージのリストを更新します:
リポジトリを追加するかどうかの確認が求められたら、y
とENTER
を押して確認します。
次に、Suricataで必要な追加の依存関係パッケージを利用できるようにするために、epel-release
パッケージを追加します:
GPGキーをインポートするかどうかの確認が求められたら、y
とENTER
を押して受け入れます。
必要なソフトウェアリポジトリが有効になったので、dnf
コマンドを使用してsuricata
パッケージをインストールできます。
OISFリポジトリのGPGキーを追加するようにプロンプトが表示されたら、y
を押してENTER
を押します。パッケージとその依存関係が今ダウンロードされ、インストールされます。
次に、suricata.service
を有効にして、システムが再起動するときに実行されるようにします。それを有効にするにはsystemctl
コマンドを使用します:
次のような出力を受け取るはずです。これは、サービスが有効になっていることを示しています:
OutputCreated symlink /etc/systemd/system/multi-user.target.wants/suricata.service → /usr/lib/systemd/system/suricata.service.
このチュートリアルの次のセクションに進む前に、Suricataの設定方法を説明するために、サービスをsystemctl
を使用して停止します:
Suricataを停止することで、構成ファイルを編集してテストする際に行った変更が、Suricataが再起動したときに検証され、ロードされることが保証されます。
ステップ2 — 初めてのSuricataの設定
OISFリポジトリからのSuricataパッケージには、さまざまなユースケースをカバーする設定ファイルが付属しています。SuricataのデフォルトモードはIDSモードであり、トラフィックはドロップされず、ログのみが記録されます。Suricataを学ぶにつれて、このモードをデフォルトに設定したままにしておくことは良い考えです。Suricataを設定し、環境に統合し、警告を受けるトラフィックの種類を把握したら、IPSモードを有効にすることができます。
ただし、デフォルトの設定には、環境やニーズに応じて変更する必要がある設定がいくつかあります。
(オプション)コミュニティフローIDの有効化
Suricataは、JSON出力にコミュニティIDフィールドを含めることができ、個々のイベントレコードを他のツールが生成したデータセットのレコードと照合しやすくなります。
SuricataをZeekやElasticsearchなどの他のツールと共に使用する予定がある場合、今コミュニティIDを追加することをお勧めします。
このオプションを有効にするには、/etc/suricata/suricata.yaml
をvi
またはお好みのエディタで開きます:
120行目を見つけてください、そこには# Community Flow ID
と記載されています。もしvi
を使用している場合は120gg
と入力して直接その行へ移動します。その行の下にcommunity-id
キーがあります。これをtrue
に設定して機能を有効にします:
. . .
# Community Flow ID
# EVEレコードに'community_id'フィールドを追加します。これは、
# レコードに予測可能なフローIDを与え、
# 他のツールの出力、例えばZeek (Bro)との照合を可能にします。
#
# 'seed'を取り、センサーやツール間で同じである必要があります
# IDを予測しにくくするためです。
# コミュニティID機能の有効化/無効化。
community-id: true
. . .
今、イベントを調査すると、1:S+3BA2UmrHK0Pk+u3XH78GAFTtQ=
のようなIDが付いています。これを使用して、異なるNMSツール間でレコードを関連付けることができます。
/etc/suricata/suricata.yaml
ファイルを保存して閉じます。もしvi
を使用している場合は、ESC
を押してから:x
、そしてENTER
を押してファイルを保存して終了します。
使用するネットワークインターフェースの決定
Suricataがトラフィックを検査するデフォルトのネットワークインターフェースまたはインターフェースをオーバーライドする必要がある場合があります。OISF Suricataパッケージに付属の設定ファイルは、デフォルトでeth0
というデバイス上のトラフィックを検査するようになっています。システムが異なるデフォルトのネットワークインターフェースを使用している場合、または複数のインターフェースでトラフィックを検査したい場合は、この値を変更する必要があります。
デフォルトのネットワークインターフェースのデバイス名を特定するには、次のようにip
コマンドを使用できます。
-p
フラグは出力をより読みやすい形式に整形し、-j
フラグは出力をJSON形式で表示します。
次のような出力が表示されます。
Output[ {
"dst": "default",
"gateway": "203.0.113.254",
"dev": "eth0",
"protocol": "static",
"metric": 100,
"flags": [ ]
} ]
dev
ラインはデフォルトのデバイスを示しています。この例の出力では、デバイスはハイライトされたeth0
インターフェースです。お使いの出力にはens...
またはeno...
のようなデバイス名が表示される場合があります。どんな名前であれ、それをメモしてください。
これで、Suricataの設定を編集し、インターフェース名を確認または変更できます。お好みのエディタ(vi
など)を使用して/etc/suricata/suricata.yaml
設定ファイルを開きます。
ファイルをスクロールして、おおよそ580行目にaf-packet:
と書かれた行が表示されるまで進みます。もしvi
を使用している場合は、580gg
を入力して直接その行に移動することもできます。その行の下には、Suricataがトラフィックを検査するために使用するデフォルトのインターフェースがあります。次に示すハイライトされた例のように、その行をお使いのインターフェースに合わせて編集します:
# Linux高速キャプチャサポート
af-packet:
- interface: eth0
# 受信スレッドの数。「auto」はコア数を使用します
#threads: auto
# デフォルトのclusterid。AF_PACKETはフローに基づいてパケットを負荷分散します
cluster-id: 99
. . .
トラフィックを追加のインターフェースで検査する場合は、- interface: eth...
のような追加のYAMLオブジェクトを追加できます。たとえば、enp0s1
というデバイスを追加するには、af-packet
セクションの末尾までスクロールして、おおよそ650行目付近に移動します。新しいインターフェースを追加するには、次のハイライトされた例のように、- interface: default
セクションの前に挿入します。
# eBPFおよびXDP設定、バイパス、フィルタリング、ロードバランシングを含む設定方法については、
# doc/userguide/capture-hardware/ebpf-xdp.rst を参照してください。
- interface: enp0s1
cluster-id: 98
- interface: default
#threads: auto
#use-mmap: no
#tpacket-v3: yes
各- interface
オブジェクトに固有のcluster-id
値を選択してください。
エディターを開いたまま次のセクションに進み、ライブルールのリローディングを設定してください。その設定を有効にしたくない場合は、/etc/suricata/suricata.yaml
ファイルを保存して閉じることができます。もしvi
を使用している場合は、ESC
を押し、その後:x
と入力してENTER
を押すことで保存して終了します。
ライブルールリローディングの設定
Suricataはライブルールリローディングをサポートしており、これにより、実行中のSuricataプロセスを再起動することなくルールの追加、削除、編集が可能です。ライブリロードオプションを有効にするためには、設定ファイルの最下部に次の行を追加してください:
. . .
detect-engine:
- rule-reload: true
この設定を行うことで、実行中のプロセスにSIGUSR2
システムシグナルを送信すると、Suricataは変更されたルールをメモリに再読み込みします。
A command like the following will notify the Suricata process to reload its rulesets, without restarting the process:
コマンドの $(pidof suricata)
部分は サブシェルを呼び出し、実行中の Suricata デーモンのプロセス ID を検索します。コマンドの始めの sudo kill -usr2
部分は、kill
ユーティリティを使用して、サブシェルによって報告されたプロセス ID に SIGUSR2
シグナルを送信します。
このコマンドは、suricata-update
を実行するたびや、独自のカスタムルールを追加または編集する場合にいつでも使用できます。
/etc/suricata/suricata.yaml
ファイルを保存して閉じます。 vi
を使用している場合は、ESC
、:x
、そして ENTER
を押して確認します。
ステップ 3 — Suricata ルールセットの更新
このチュートリアルのこの時点で、Suricata を起動すると、以下のような警告メッセージがログに表示され、ロードされたルールがないことが通知されます:
Output<Warning> - [ERRCODE: SC_ERR_NO_RULES(42)] - No rule files match the pattern /var/lib/suricata/rules/suricata.rules
デフォルトでは、Suricata パッケージには限られた検出ルールが含まれています(/etc/suricata/rules
ディレクトリにあります)。したがって、この時点で Suricata を起動すると、悪意のあるトラフィックの検出が制限されます。
Suricata には、外部プロバイダからルールセットを取得するための suricata-update
というツールが含まれています。次のように実行して、Suricata サーバー用の最新のルールセットをダウンロードします:
以下のような出力が表示されるはずです:
Output19/10/2021 -- 19:31:03 - <Info> -- Using data-directory /var/lib/suricata.
19/10/2021 -- 19:31:03 - <Info> -- Using Suricata configuration /etc/suricata/suricata.yaml
19/10/2021 -- 19:31:03 - <Info> -- Using /usr/share/suricata/rules for Suricata provided rules.
. . .
19/10/2021 -- 19:31:03 - <Info> -- No sources configured, will use Emerging Threats Open
19/10/2021 -- 19:31:03 - <Info> -- Fetching https://rules.emergingthreats.net/open/suricata-6.0.3/emerging.rules.tar.gz.
100% - 3062850/3062850
. . .
19/10/2021 -- 19:31:06 - <Info> -- Writing rules to /var/lib/suricata/rules/suricata.rules: total: 31011; enabled: 23649; added: 31011; removed 0; modified: 0
19/10/2021 -- 19:31:07 - <Info> -- Writing /var/lib/suricata/rules/classification.config
19/10/2021 -- 19:31:07 - <Info> -- Testing with suricata -T.
19/10/2021 -- 19:31:32 - <Info> -- Done.
強調された行は、suricata-update
が無料のEmerging Threats ET Open Rulesを取得し、それらをSuricataの/var/lib/suricata/rules/suricata.rules
ファイルに保存したことを示しています。 また、この例では、処理されたルールの数を示しており、そのうち31011が追加され、そのうち23649が有効になっています。
ルールセットプロバイダーの追加
suricata-update
ツールは、さまざまな無料および商用のルールセットプロバイダーからルールを取得できます。 すでに追加したET Openセットのような一部のルールセットは無料で利用できますが、他のものは有料のサブスクリプションが必要です。
list-sources
フラグをsuricata-update
に使用して、デフォルトのルールプロバイダーのセットをリストできます。 たとえば、次のようにします:
以下のようなソースのリストが表示されます:
Output. . .
19/10/2021 -- 19:27:34 - <Info> -- Adding all sources
19/10/2021 -- 19:27:34 - <Info> -- Saved /var/lib/suricata/update/cache/index.yaml
Name: et/open
Vendor: Proofpoint
Summary: Emerging Threats Open Ruleset
License: MIT
. . .
たとえば、tgreen/hunting
ルールセットを含めたい場合は、次のコマンドを使用して有効にできます:
その後、suricata-update
を再実行すると、新しいルールセットが追加されます。、既存のET Openルールおよびダウンロードしたその他のルールに追加されます。
ステップ4 — Suricataの設定の検証
Suricataの設定ファイルを編集して、オプションのCommunity IDを含め、デフォルトのネットワークインターフェースを指定し、ライブルールのリロードを有効にしたので、設定をテストするのは良い考えです。
Suricataには、設定ファイルと含まれているルールの妥当性をチェックする組み込みのテストモードがあります。前のセクションでの変更を、Suricataをテストモードで実行するために-T
フラグを使用して検証します。-v
フラグは追加情報を出力し、-c
フラグはSuricataが設定ファイルを見つける場所を指定します。
テストには、Suricataに割り当てられたCPUの量と追加したルールの数に応じて、時間がかかる場合があります。完了するまで1〜2分お待ちください。
デフォルトのET Openルールセットでは、次のような出力が表示されるはずです:
Output21/10/2021 -- 15:00:40 - <Info> - Running suricata under test mode
21/10/2021 -- 15:00:40 - <Notice> - This is Suricata version 6.0.3 RELEASE running in SYSTEM mode
21/10/2021 -- 15:00:40 - <Info> - CPUs/cores online: 2
21/10/2021 -- 15:00:40 - <Info> - fast output device (regular) initialized: fast.log
21/10/2021 -- 15:00:40 - <Info> - eve-log output device (regular) initialized: eve.json
21/10/2021 -- 15:00:40 - <Info> - stats output device (regular) initialized: stats.log
21/10/2021 -- 15:00:46 - <Info> - 1 rule files processed. 23879 rules successfully loaded, 0 rules failed
21/10/2021 -- 15:00:46 - <Info> - Threshold config parsed: 0 rule(s) found
21/10/2021 -- 15:00:47 - <Info> - 23882 signatures processed. 1183 are IP-only rules, 4043 are inspecting packet payload, 18453 inspect application layer, 107 are decoder event only
21/10/2021 -- 15:01:13 - <Notice> - Configuration provided was successfully loaded. Exiting.
21/10/2021 -- 15:01:13 - <Info> - cleaning up signature grouping structure... complete
設定ファイルにエラーがある場合、テストモードは特定のエラーコードとメッセージを生成し、トラブルシューティングに役立ちます。たとえば、存在しないルールファイルtest.rules
を含めると、次のようなエラーが生成されます:
Output21/10/2021 -- 15:10:15 - <Info> - Running suricata under test mode
21/10/2021 -- 15:10:15 - <Notice> - This is Suricata version 6.0.3 RELEASE running in SYSTEM mode
21/10/2021 -- 15:10:15 - <Info> - CPUs/cores online: 2
21/10/2021 -- 15:10:15 - <Info> - eve-log output device (regular) initialized: eve.json
21/10/2021 -- 15:10:15 - <Info> - stats output device (regular) initialized: stats.log
21/10/2021 -- 15:10:21 - <Warning> - [ERRCODE: SC_ERR_NO_RULES(42)] - No rule files match the pattern /var/lib/suricata/rules/test.rules
そのエラーを使用して、正しいパスを含めるか、無効な変数や設定オプションを修正できます。
Suricataのテストモードの実行が正常に完了したら、次のステップに進むことができます。それは、Suricataをデーモンモードで起動することです。
ステップ5 — Suricataの実行
有効なSuricataの設定とルールセットを持っているので、Suricataサーバを起動することができます。次のsystemctl
コマンドを実行してください:
サービスの状態を確認するには、systemctl status
コマンドを使用できます:
以下のような出力が表示されるはずです:
Output● suricata.service - Suricata Intrusion Detection Service
Loaded: loaded (/usr/lib/systemd/system/suricata.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-10-21 18:22:56 UTC; 1min 57s ago
Docs: man:suricata(1)
Process: 24588 ExecStartPre=/bin/rm -f /var/run/suricata.pid (code=exited, status=0/SUCCESS)
Main PID: 24590 (Suricata-Main)
Tasks: 1 (limit: 23473)
Memory: 80.2M
CGroup: /system.slice/suricata.service
└─24590 /sbin/suricata -c /etc/suricata/suricata.yaml --pidfile /var/run/suricata.pid -i eth0 --user suricata
Oct 21 18:22:56 suricata systemd[1]: Starting Suricata Intrusion Detection Service..
Oct 21 18:22:56 suricata systemd[1]: Started Suricata Intrusion Detection Service.
. . .
テストモードコマンドと同様に、Suricataがすべてのルールをロードして解析するには1〜2分かかります。Suricataのログで特定のメッセージが表示されるまでtail
コマンドを使用して待機できます:
いくつかの行の出力が表示され、ターミナルがSuricataの読み込み中に停止しているように見える場合があります。Suricataが実行され、トラフィックを検査する準備が整ったことを示す行が表示されるまで出力を待ち続けてください:
Output19/10/2021 -- 19:22:39 - <Info> - All AFP capture threads are running.
この行は、Suricataが実行され、トラフィックを検査する準備が整ったことを示しています。 tail
コマンドをCTRL+C
を使用して終了することができます。
Suricataが実行されていることを確認したので、このチュートリアルの次のステップは、Suricataがアラートを生成するように設計されたテストURLへのリクエストを検出するかどうかを確認することです。
ステップ6 — Suricataルールのテスト
ダウンロードしたET Openルールセットには30000以上のルールが含まれています。Suricataルールの動作や構築方法の詳細な説明は、この入門チュートリアルの範囲外です。このシリーズの後続のチュートリアルで、ルールの動作や独自のルールの作成方法について説明します。
このチュートリアルの目的では、生成した構成でSuricataが不審なトラフィックを検出しているかどうかをテストすることが十分です。Suricataクイックスタートでは、curl
コマンドを使用してET Openルールの番号2100498
をテストすることを推奨しています。
次のコマンドを実行して、Suricataのアラートルールに一致する応答を返すHTTPリクエストを生成します。
curl
コマンドは、以下のような応答を出力します。
Outputuid=0(root) gid=0(root) groups=0(root)
この例の応答データは、Webシェルを介して侵害されたリモートシステムで実行される可能性のあるid
のようなコマンドの出力を模倣して、アラートをトリガーするように設計されています。
これで、Suricataのログを対応するアラートを確認できます。デフォルトのSuricata構成で有効になっている2つのログがあります。1つ目は/var/log/suricata/fast.log
にあり、2つ目は/var/log/suricata/eve.log
にある機械可読ログです。
/var/log/suricata/fast.logを調査します。
/var/log/suricata/fast.log
内のログエントリを確認するには、grep
コマンドを使用します。クイックスタートドキュメントからの2100498
ルール識別子を使用して、次のコマンドを使用してそれに一致するエントリを検索します:
リクエストがIPv6を使用している場合、次のような出力が表示されます。ここで2001:DB8::1
はシステムのパブリックIPv6アドレスです:
Output10/21/2021-18:35:54.950106 [**] [1:2100498:7] GPL ATTACK_RESPONSE id check returned root [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 2600:9000:2000:4400:0018:30b3:e400:93a1:80 -> 2001:DB8::1:34628
リクエストがIPv4を使用している場合、ログに次のようなメッセージが表示されます。ここで203.0.113.1
はシステムのパブリックIPv4アドレスです:
Output10/21/2021-18:35:57.247239 [**] [1:2100498:7] GPL ATTACK_RESPONSE id check returned root [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 204.246.178.81:80 -> 203.0.113.1:36364
出力のハイライト表示された2100498
値に注意してください。これはSuricataがルールを識別するために使用するシグネチャID (sid
) です。
/var/log/suricata/eve.logを調査します。
Suricataは、/var/log/suricata/eve.log
(EVEログと呼ばれる)にイベントをログとして記録し、JSONを使用してエントリをフォーマットします。
Suricataのドキュメントでは、このファイル内のエントリを読み取り、フィルタリングするためにjq
ユーティリティの使用を推奨しています。以下のdnf
コマンドを使用して、システムにjq
がない場合はインストールしてください:
jq
がインストールされている場合は、次のコマンドを使用してEVEログ内のイベントをフィルタリングできます:
このコマンドは、各JSONエントリを調べ、alert
オブジェクトがあり、signature_id
キーが検索している2100498
の値と一致する場合にそれを出力します。出力は次のようになります:
Output{
"timestamp": "2021-10-21T19:42:47.368856+0000",
"flow_id": 775889108832281,
"in_iface": "eth0",
"event_type": "alert",
"src_ip": "203.0.113.1",
"src_port": 80,
"dest_ip": "147.182.148.159",
"dest_port": 38920,
"proto": "TCP",
"community_id": "1:vuSfAFyy7oUq0LQC5+KNTBSuPxg=",
"alert": {
"action": "allowed",
"gid": 1,
"signature_id": 2100498,
"rev": 7,
"signature": "GPL ATTACK_RESPONSE id check returned root",
"category": "Potentially Bad Traffic",
. . .
}
検索しているキーであるjq
が検索しているキーです。2100498
の値に一致するsignature_id
行をハイライト表示してください。また、JSON出力の"community_id": "1:vuSfAFyy7oUq0LQC5+KNTBSuPxg=",
行をハイライト表示してください。このキーは、Suricataの構成ファイルで有効にした生成されたコミュニティフロー識別子です。
各アラートは、ユニークなコミュニティフロー識別子を生成します。他のNMSツールも同じ識別子を生成して、Suricataアラートを他のツールの出力と相互参照できるようにすることができます。
A matching log entry in either log file means that Suricata successfully inspected the network traffic, matched it against a detection rule, and generated an alert for subsequent analysis or logging. A future tutorial in this series will explore how to send Suricata alerts to a Security Information Event Management (SIEM) system for further processing.
ステップ7 — Suricataアラートの処理
アラートを設定してテストしたら、どのように処理するかを選択できます。一部のユースケースでは、監査目的でアラートをログに記録することで十分です。または、繰り返しアラートを生成するシステムからのトラフィックをブロックするために、より積極的なアプローチを取ることを好む場合もあります。
Suricataが生成するアラートに基づいてトラフィックをブロックしたい場合、一つのアプローチはEVEログからエントリを使用して、システムへのアクセスを制限するためのファイアウォールルールを追加することです。 jq
ツールを使用してアラートから特定のフィールドを抽出し、次にUFWまたはIPtablesルールを追加してリクエストをブロックできます。
再度述べますが、この例は意図的に作成されたリクエストとレスポンスデータを使用した仮想的なシナリオです。どのトラフィックが正当であり、どれがブロックされるべきかを判断するには、環境がアクセスできるシステムとプロトコルに関する知識が不可欠です。
結論
このチュートリアルでは、SuricataをOISFソフトウェアリポジトリからインストールしました。この方法でSuricataをインストールすると、新しいバージョンのSuricataがリリースされるたびに更新を受け取ることができます。Suricataをインストールした後は、他のセキュリティツールとの使用のためにコミュニティフローIDを追加するためにデフォルトの設定を編集しました。また、ライブルールのリロードを有効にし、初期セットのルールをダウンロードしました。
Suricataの構成を検証した後、プロセスを開始し、いくつかのテストHTTPトラフィックを生成しました。テストしているルールに対応するアラートが含まれていることを確認するために、デフォルトのログの両方を調べました。
Suricataの詳細については、公式のSuricataサイトを参照してください。このチュートリアルで構成した構成オプションの詳細については、Suricataユーザーガイドを参照してください。
Suricataをインストールして構成したので、このシリーズの次のチュートリアルに進むことができます。Suricataシグネチャの理解ここでは、独自のカスタムSuricataルールを作成する方法について探求します。無効なTCP/IPパケット、DNSクエリの内容、HTTPリクエストおよびレスポンス、そしてTLSハンドシェイクなどの基準に基づいて、アラートを作成するさまざまな方法や、トラフィックを完全にドロップする方法さえ学びます。
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-suricata-on-centos-8-stream