序章

Suricata は、コミュニティで作成およびユーザー定義された署名(ルールとも呼ばれる)のセットを使用してネットワークトラフィックを検査および処理するネットワークセキュリティ監視(NSM)ツールです。 Suricataは、サーバー上で実行されている任意の数の異なるサービスへの疑わしいパケットまたは要求を検出すると、ログイベントを生成し、アラートをトリガーし、トラフィックをドロップできます。

デフォルトでは、Suricataはパッシブ侵入検知システム(IDS)として機能し、サーバーまたはネットワーク上の疑わしいトラフィックをスキャンします。 さらに調査するためにアラートを生成してログに記録します。 また、特定のルールに一致するネットワークトラフィックをログに記録し、警告し、完全にブロックするアクティブな侵入防止システム(IPS)として構成することもできます。

Suricataをネットワーク内のゲートウェイホストに展開して、他のシステムからのすべての着信および発信ネットワークトラフィックをスキャンするか、いずれかのモードの個々のマシンでローカルに実行することができます。

このチュートリアルでは、Suricataをインストールする方法と、Ubuntu20.04でのデフォルト設定の一部をニーズに合わせてカスタマイズする方法を学習します。 また、Suricataがネットワークトラフィックをスキャンするために使用する既存の署名セット(通常はルールセットと呼ばれる)をダウンロードする方法についても学習します。 最後に、Suricataが応答で疑わしい要求とデータを検出したときに正しく機能しているかどうかをテストする方法を学習します。

前提条件

ネットワーク構成とSuricataの使用方法に応じて、サーバーに必要なCPUとRAMが増減する場合があります。 一般に、検査する予定のトラフィックが多いほど、Suricataに割り当てる必要のあるリソースが多くなります。 実稼働環境では、最初に少なくとも2つのCPUと4または8GBのRAMを使用することを計画します。 そこから、Suricataのパフォーマンスと処理する必要のあるトラフィックの量に応じてリソースをスケールアップできます。

Suricataを使用して、実行されているサーバーを保護する場合は、次のものが必要になります。

  • 2つ以上のCPU、sudo非rootユーザー、およびファイアウォールが有効になっている1つのUbuntu20.04サーバー。 これを設定するには、 Ubuntu20.04を使用したサーバーの初期設定チュートリアルに従うことができます。

それ以外の場合、ゲートウェイホストでSuricataを使用して複数のサーバーを監視および保護する場合は、ホストのネットワークが正しく構成されていることを確認する必要があります。

DigitalOceanを使用している場合は、DropletをVPCゲートウェイとして設定する方法に関するこのガイドに従うことができます。 これらの手順は、ほとんどのUbuntuサーバーでも機能するはずです。

ステップ1—Suricataをインストールする

Suricataのインストールを開始するには、Open Information Security Foundation(OISF)のソフトウェアリポジトリ情報をUbuntuシステムに追加する必要があります。 あなたは使用することができます add-apt-repository これを行うコマンド。

次のコマンドを実行して、リポジトリをシステムに追加し、使用可能なパッケージのリストを更新します。

  1. sudo add-apt-repository ppa:oisf/suricata-stable

プレス ENTER リポジトリを追加することを確認するように求められたとき。 このコマンドは、新しいリポジトリを追加した後、使用可能なパッケージのリストを更新します。

今、あなたはインストールすることができます suricata を使用したパッケージ apt 指図:

  1. sudo apt install suricata

パッケージがインストールされたので、 suricata.service システムの再起動時に実行されるようにします。 使用 systemctl それを有効にするコマンド:

  1. sudo systemctl enable suricata.service

サービスが有効になっていることを示す次のような出力が表示されます。

Output
suricata.service is not a native service, redirecting to systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable suricata

Suricataの構成方法を説明するこのチュートリアルの次のセクションに進む前に、を使用してサービスを停止してください。 systemctl:

  1. sudo systemctl stop suricata.service

Suricataを停止すると、構成ファイルを編集およびテストするときに、Suricataが再起動したときに、行った変更が検証およびロードされます。

ステップ2—初めてSuricataを構成する

OISFリポジトリのSuricataパッケージには、さまざまなユースケースをカバーする構成ファイルが付属しています。 SuricataのデフォルトモードはIDSモードであるため、トラフィックはドロップされず、ログに記録されるだけです。 Suricataを学ぶときは、このモードをデフォルトに設定したままにしておくことをお勧めします。 Suricataを構成して環境に統合し、アラートが表示されるトラフィックの種類を把握したら、IPSモードをオンにすることを選択できます。

ただし、デフォルトの構成にはまだいくつかの設定があり、環境やニーズに応じて変更する必要があります。

(オプション)コミュニティフローIDの有効化

Suricataは、JSON出力に Community ID フィールドを含めることができるため、個々のイベントレコードを他のツールによって生成されたデータセットのレコードと簡単に照合できます。

ZeekElasticsearchなどの他のツールでSuricataを使用する場合は、コミュニティIDを今すぐ追加することをお勧めします。

オプションを有効にするには、 /etc/suricata/suricata.yaml nanoまたはお好みのエディターを使用する:

  1. sudo nano /etc/suricata/suricata.yaml

120行目を検索します。 # Community Flow ID. 使用している場合 nano タイプ CTRL+_ その後 120 行番号の入力を求められたら。 その線の下には community-id 鍵。 に設定します true 設定を有効にするには:

/etc/suricata/suricata.yaml
. . .
      # Community Flow ID
      # Adds a 'community_id' field to EVE records. These are meant to give
      # records a predictable flow ID that can be used to match records to
      # output of other tools such as Zeek (Bro).
      #
      # Takes a 'seed' that needs to be same across sensors and tools
      # to make the id less predictable.

      # enable/disable the community id feature.
      community-id: true
. . .

これで、イベントを調べると、次のようなIDが付けられます。 1:S+3BA2UmrHK0Pk+u3XH78GAFTtQ= これを使用して、さまざまなNMSツール間でレコードを相互に関連付けることができます。

保存して閉じます /etc/suricata/suricata.yaml ファイル。 使用している場合 nano、あなたはそうすることができます CTRL+X、 それから YENTER 確認するために。

使用するネットワークインターフェイスの決定

Suricataがトラフィックを検査するデフォルトのネットワークインターフェースをオーバーライドする必要がある場合があります。 OISF Suricataパッケージに付属する構成ファイルは、デフォルトで、と呼ばれるデバイスのトラフィックを検査します。 eth0. システムが異なるデフォルトのネットワークインターフェースを使用している場合、または複数のインターフェースでトラフィックを検査する場合は、この値を変更する必要があります。

デフォルトのネットワークインターフェイスのデバイス名を確認するには、 ip 次のようにコマンド:

  1. ip -p -j route show default

The -p フラグは出力をより読みやすくするためにフォーマットし、 -j flagは、出力をJSONとして出力します。

次のような出力を受け取るはずです。

Output
[ { "dst": "default", "gateway": "203.0.113.254", "dev": "eth0", "protocol": "static", "flags": [ ] } ]

The dev 線はデフォルトのデバイスを示します。 この出力例では、デバイスが強調表示されています eth0 インターフェース。 出力には、次のようなデバイス名が表示される場合があります ens... また eno.... 名前が何であれ、それを書き留めてください。

これで、Suricataの構成を編集し、インターフェース名を確認または変更できます。 を開きます /etc/suricata/suricata.yaml を使用した構成ファイル nano またはお好みの編集者:

  1. sudo nano /etc/suricata/suricata.yaml

次の行が表示されるまでファイルをスクロールします af-packet: 580行目あたり。 使用している場合 nano 次のように入力して、直接回線にアクセスすることもできます。 CTRL+_ 行番号を入力します。 その線の下には、Suricataがトラフィックを検査するために使用するデフォルトのインターフェースがあります。 次の強調表示された例のように、インターフェイスに一致するように行を編集します。

/etc/suriata/suricata.yaml
# Linux high speed capture support
af-packet:
  - interface: eth0
    # Number of receive threads. "auto" uses the number of cores
    #threads: auto
    # Default clusterid. AF_PACKET will load balance packets based on flow.
    cluster-id: 99
. . .

追加のインターフェースでトラフィックを検査したい場合は、さらに追加できます - interface: eth... YAMLオブジェクト。 たとえば、という名前のデバイスを追加するには enp0s1、一番下までスクロールします af-packet 650行目あたりのセクション。 新しいインターフェースを追加するには、その前に挿入します -interface: default 次の強調表示された例のようなセクション:

/ec/suricata/suricata.yaml
    #  For eBPF and XDP setup including bypass, filter and load balancing, please
    #  see doc/userguide/capture-hardware/ebpf-xdp.rst for more info.

  - interface: enp0s1
    cluster-id: 98

  - interface: default
    #threads: auto
    #use-mmap: no
    #tpacket-v3: yes

必ずユニークなものを選んでください cluster-id それぞれの値 - interface 物体。

エディターを開いたままにして、ライブルールの再読み込みを構成する次のセクションに進みます。 その設定を有効にしたくない場合は、保存して閉じることができます /etc/suricata/suricata.yaml ファイル。 使用している場合 nano、あなたはそうすることができます CTRL+X、 それから YENTER 確認するために。

ライブルールの再読み込みの構成

Suricataは、ライブルールの再読み込みをサポートしています。つまり、実行中のSuricataプロセスを再起動しなくても、ルールを追加、削除、および編集できます。 ライブリロードオプションを有効にするには、構成ファイルの一番下までスクロールして、次の行を追加します。

/etc/suricata/suricata.yaml
. . .

detect-engine:
  - rule-reload: true

この設定を行うと、を送信できるようになります SIGUSR2 システムは実行中のプロセスに信号を送り、Suricataは変更されたルールをメモリにリロードします。

次のようなコマンドは、プロセスを再起動せずに、ルールセットをリロードするようにSuricataプロセスに通知します。

  1. sudo kill -usr2 $(pidof suricata)

The $(pidof suricata) コマンドの一部はサブシェルを呼び出し、実行中のSuricataデーモンのプロセスIDを見つけます。 初め sudo kill -usr2 コマンドの一部は kill 送信するユーティリティ SIGUSR2 サブシェルによって報告されるプロセスIDへのシグナル。

このコマンドは、実行するたびに使用できます suricata-update または、独自のカスタムルールを追加または編集する場合。

保存して閉じます /etc/suricata/suricata.yaml ファイル。 使用している場合 nano、あなたはそうすることができます CTRL+X、 それから YENTER 確認するために。

ステップ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サーバーの最新のルールセットをダウンロードします。

  1. sudo suricata-update

次のような出力を受け取るはずです。

Output
19/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 /etc/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% - 3044855/3044855 . . . 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 無料のEmergingThreats ET Open Rules を取得し、Suricataに保存しました /var/lib/suricata/rules/suricata.rules ファイル。 また、処理されたルールの数も示します。この例では、31011が追加され、そのうち23649が有効になっています。

ルールセットプロバイダーの追加

The suricata-update ツールは、さまざまな無料および商用のルールセットプロバイダーからルールをフェッチできます。 すでに追加したETOpenセットのような一部のルールセットは無料で利用できますが、その他のルールセットには有料のサブスクリプションが必要です。

を使用して、デフォルトのルールプロバイダーのセットを一覧表示できます。 list-sources フラグを立てる suricata-update このような:

  1. sudo suricata-update list-sources

次のようなソースのリストを受け取ります。

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 ルールセットの場合、次のコマンドを使用して有効にできます。

  1. sudo suricata-update enable-source tgreen/hunting

次に実行します suricata-update 繰り返しますが、既存のET Openルールやダウンロードしたその他のルールに加えて、新しいルールのセットが追加されます。

ステップ4—Suricataの構成を検証する

Suricataの構成ファイルを編集してオプションのコミュニティIDを含め、デフォルトのネットワークインターフェイスを指定し、ライブルールの再読み込みを有効にしたので、構成をテストすることをお勧めします。

Suricataには、構成ファイルと含まれているルールの有効性をチェックするテストモードが組み込まれています。 を使用して、前のセクションからの変更を検証します -T Suricataをテストモードで実行するためのフラグ。 The -v フラグはいくつかの追加情報を出力し、 -c フラグは、構成ファイルの場所をSuricataに指示します。

  1. sudo suricata -T -c /etc/suricata/suricata.yaml -v

Suricataに割り当てたCPUの量と追加したルールの数によっては、テストに時間がかかる場合があるため、テストが完了するまで1〜2分待つ準備をしてください。

デフォルトのETOpenルールセットを使用すると、次のような出力を受け取るはずです。

Output
21/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 次のようなエラーが発生します。

Output
21/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 指図:

  1. sudo systemctl start suricata.service

を使用してサービスのステータスを調べることができます systemctl status 指図:

  1. sudo systemctl status suricata.service

次のような出力を受け取るはずです。

Output
● suricata.service - LSB: Next Generation IDS/IPS Loaded: loaded (/etc/init.d/suricata; generated) Active: active (running) since Thu 2021-10-21 18:22:56 UTC; 1min 57s ago Docs: man:systemd-sysv-generator(8) Process: 22636 ExecStart=/etc/init.d/suricata start (code=exited, status=0/SUCCESS) Tasks: 8 (limit: 2344) Memory: 359.2M CGroup: /system.slice/suricata.service └─22656 /usr/bin/suricata -c /etc/suricata/suricata.yaml --pidfile /var/run/suricata.pid --af-packet -D -vvv Oct 21 18:22:56 suricata systemd[1]: Starting LSB: Next Generation IDS/IPS... Oct 21 18:22:56 suricata suricata[22636]: Starting suricata in IDS (af-packet) mode... done. Oct 21 18:22:56 suricata systemd[1]: Started LSB: Next Generation IDS/IPS.

テストモードコマンドと同様に、Suricataがすべてのルールをロードして解析するのに1〜2分かかります。 あなたは使用することができます tail 開始が終了したことを示すSuricataのログ内の特定のメッセージを監視するコマンド:

  1. sudo tail -f /var/log/suricata/suricata.log

多数の出力行が表示され、Suricataのロード中に端末がスタックしているように見える場合があります。 次のような行が表示されるまで、出力を待ち続けます。

Output
19/10/2021 -- 19:22:39 - <Info> - All AFP capture threads are running.

この行は、Suricataが実行中であり、トラフィックを検査する準備ができていることを示しています。 終了できます tail コマンドを使用して CTRL+C.

Suricataが実行されていることを確認したので、このチュートリアルの次のステップは、アラートを生成するように設計されたテストURLへの要求をSuricataが検出するかどうかを確認することです。

ステップ6—Suricataルールのテスト

ダウンロードしたETOpenルールセットには、30000を超えるルールが含まれています。 Suricataルールがどのように機能するか、およびそれらを構築する方法の完全な説明は、この入門チュートリアルの範囲を超えています。 このシリーズの後続のチュートリアルでは、ルールの仕組みと独自のルールの作成方法について説明します。

このチュートリアルでは、生成した構成でSuricataが疑わしいトラフィックを検出しているかどうかをテストするだけで十分です。 Suricata Quickstart は、ETオープンルールを番号でテストすることを推奨しています 2100498 を使用して curl 指図。

次のコマンドを実行してHTTPリクエストを生成します。これにより、Suricataのアラートルールに一致するレスポンスが返されます。

  1. curl http://testmynids.org/uid/index.html

The curl コマンドは次のような応答を出力します。

Output
uid=0(root) gid=0(root) groups=0(root)

この応答データの例は、次のようなコマンドの出力を返すふりをして、アラートをトリガーするように設計されています。 id これは、Webシェルを介して侵害されたリモートシステムで実行される可能性があります。

これで、Suricataのログで対応するアラートを確認できます。 デフォルトのSuricata構成で有効になっている2つのログがあります。 最初は /var/log/suricata/fast.log 2つ目は、機械可読ログインです。 /var/log/suricata/eve.log.

調べる /var/log/suricata/fast.log

のログエントリを確認するには /var/log/suricata/fast.log それはあなたに対応します curl リクエストは grep 指図。 を使用して 2100498 クイックスタートドキュメントのルール識別子。次のコマンドを使用して、それに一致するエントリを検索します。

  1. grep 2100498 /var/log/suricata/fast.log

リクエストでIPv6が使用されている場合は、次のような出力を受け取る必要があります。 2001:DB8::1 システムのパブリックIPv6アドレスは次のとおりです。

Output
10/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アドレスは次のとおりです。

Output
10/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 署名IDである出力の値(sid)Suricataがルールを識別するために使用します。

調べる /var/log/suricata/eve.log

Suricataはイベントを次の場所にも記録します /var/log/suricata/eve.log (EVEログのニックネーム)JSONを使用してエントリをフォーマットします。

Suricataのドキュメントでは、 jq このファイルのエントリを読み取ってフィルタリングするユーティリティ。 インストール jq 以下を使用してシステムにインストールされていない場合 apt 指図:

  1. sudo apt install jq

あなたが持ったら jq インストールされている場合、EVEログでイベントをフィルタリングするには、 2100498 次のコマンドで署名します。

  1. jq 'select(.alert .signature_id==2100498)' /var/log/suricata/eve.json

このコマンドは、各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:XLNse90QNVTgyXCWN9JDovC0XF4=", "alert": { "action": "allowed", "gid": 1, "signature_id": 2100498, "rev": 7, "signature": "GPL ATTACK_RESPONSE id check returned root", "category": "Potentially Bad Traffic", . . . }

強調表示されていることに注意してください "signature_id": 2100498, 線、それはその鍵です jq を探しています。 また、強調表示されていることに注意してください "community_id": "1:XLNse90QNVTgyXCWN9JDovC0XF4=", JSON出力の行。 このキーは、Suricataの構成ファイルで有効にした生成されたコミュニティフロー識別子です。

各アラートは、一意のコミュニティフロー識別子を生成します。 他のNMSツールも同じ識別子を生成して、Suricataアラートを他のツールからの出力と相互参照できるようにすることができます。

いずれかのログファイルのログエントリが一致するということは、Suricataがネットワークトラフィックを正常に検査し、検出ルールと照合し、その後の分析またはログ記録のためにアラートを生成したことを意味します。 このシリーズの今後のチュートリアルでは、Suricataアラートをセキュリティ情報イベント管理(SIEM)システムに送信してさらに処理する方法について説明します。

ステップ7—Suricataアラートの処理

アラートを設定してテストしたら、アラートの処理方法を選択できます。 一部のユースケースでは、監査目的でアラートをログに記録するだけで十分な場合があります。 または、繰り返しアラートを生成するシステムからのトラフィックをブロックするために、より積極的なアプローチを取ることをお勧めします。

Suricataが生成するアラートに基づいてトラフィックをブロックする場合、1つのアプローチは、EVEログのエントリを使用してから、ファイアウォールルールを追加して1つまたは複数のシステムへのアクセスを制限することです。 あなたは使用することができます jq アラートから特定のフィールドを抽出し、UFWまたはIPtablesルールを追加してリクエストをブロックするツール。

繰り返しになりますが、この例は、意図的に作成された要求および応答データを使用した架空のシナリオです。 どのトラフィックが正当で、どのトラフィックをブロックできるかを判断するには、環境がアクセスできる必要のあるシステムとプロトコルに関する知識が不可欠です。

結論

このチュートリアルでは、OISFソフトウェアリポジトリからSuricataをインストールしました。 この方法でSuricataをインストールすると、Suricataの新しいバージョンがリリースされるたびに更新を受け取ることができます。 Suricataをインストールした後、デフォルトの構成を編集して、他のセキュリティツールで使用するコミュニティフローIDを追加しました。 また、ライブルールの再読み込みを有効にし、ルールの初期セットをダウンロードしました。

Suricataの構成を検証したら、プロセスを開始し、テストHTTPトラフィックを生成しました。 両方のデフォルトログを調べて、テストしているルールに対応するアラートが含まれていることを確認することにより、Suricataが疑わしいトラフィックを検出できることを確認しました。

Suricataの詳細については、公式Suricataサイトをご覧ください。 このチュートリアルで構成した構成オプションの詳細については、Suricataユーザーガイドを参照してください。

Suricataをインストールして構成したので、このシリーズの次のチュートリアル Suricataシグネチャについてに進み、独自のカスタムSuricataルールを作成する方法を探ります。 無効なTCP/IPパケット、DNSクエリの内容、HTTP要求と応答、さらにはTLSハンドシェイクなどの基準に基づいて、アラートを作成するさまざまな方法、またはトラフィックを完全にドロップする方法について学習します。