Suricata

ネットワークを流れる通信をルールと照らし合わせ、怪しいものを見つけて記録する侵入検知・防御エンジン(IDS/IPS)。

cat suricata/meta.yml確認日 2026-10-24

安全性

影響範囲 外に届く他人の通信を見る、または他人の機器へ通信を送る
管理者権限
必要
検証環境
不要

使い方

用途
防御
難易度
中級
形態
サーバーで動かす
対応環境
Linux / Windows / macOS

信頼性

リポジトリ
OISF/suricata
ライセンス
条件つきGPL-2.0
GitHub
スター6,7732026-10-25 時点
メンテ状況
更新が続いている最終更新 2026-10-23
カテゴリネットワーク
目次
  1. はじめに
  2. Suricata でできること
  3. IDS モードと IPS モードの違い
  4. 安全な試し方:検証用の Ubuntu で IDS を動かす
  5. ルールの入手と管理
  6. 主なコマンドラインオプション
  7. 注意点
  8. 次に読む
  9. 出典

Suricata は、ネットワークを流れる通信をルールと照らし合わせ、怪しい通信を見つけるとアラートとして記録するエンジンです。非営利団体 OISF が開発しているオープンソースで、設定を変えると通信を止める防御役にもなります。

この記事は、Wireshark でパケットを読んだことがあり、次は自動で見張る仕組みを試したい人に向けています。読み終えると、次のことができるようになります。

  • 検証用の Ubuntu に Suricata を入れて、ルールを取得する
  • テスト用のルールでアラートを出し、ログを読む
  • IDS モードと IPS モードの違いを説明する

Suricata でできること

公式ドキュメントは、Suricata をネットワークの IDS、IPS、ネットワークセキュリティ監視(NSM)のエンジンと説明しています。

  • 通信をルールと照合し、当たったものをアラートとして記録する
  • 結果を fast.log(1 行ずつのアラート)や eve.json(JSON 形式の詳しい記録)に出す
  • 保存済みの pcap ファイルを読み込んで、後から検査する
  • IPS モードでは、ルールに当たった通信を止める
しないことSuricata は、ルールに書かれていない攻撃を自分で見つけてはくれません。何を怪しいと判断するかはルール次第なので、ルールの取得と更新が欠かせません。また、Suricata は通信を検査するだけで、ほかの機器へスキャンや攻撃の通信を送ることはありません。

IDS モードと IPS モードの違い

IDS モード IPS モード
置き方 通信を横から受け取って検査する 通信の通り道(インライン)に入る
ルールに当たったとき アラートを記録するだけ drop や reject のルールで通信を止められる
TCP の検査のタイミング 相手の確認応答(ACK)が届いてから 届いたデータをすぐに検査する
失敗したときの影響 見逃しが出る 正しい通信まで止まることがある

Linux で IPS にするには、たとえば iptables で通信を NFQUEUE に回し、-q オプションでキュー番号を指定して起動します。この記事の手順は IDS モードだけを扱います。

安全な試し方:検証用の Ubuntu で IDS を動かす

自分で作った仮想マシンで、その仮想マシン自身の通信だけを検査します。公式のクイックスタートに沿った手順です。

  1. 公式の PPA を追加して、Suricata と JSON を読むための jq を入れます。

    sudo add-apt-repository ppa:oisf/suricata-stable
    sudo apt update
    sudo apt install suricata jq
  2. ip addr でネットワークインターフェースの名前と IP アドレスを確かめます。

  3. /etc/suricata/suricata.yaml を開き、HOME_NET に自分のネットワークが含まれているか確かめます。af-packet の interface を、手順 2 で確かめた名前に合わせます。

  4. sudo suricata-update でルールを取得します。標準では ET Open というルールセットが /var/lib/suricata/rules に入ります。

  5. sudo systemctl restart suricata で再起動します。

  6. 別の端末で sudo tail -f /var/log/suricata/fast.log を実行しておき、curl http://testmynids.org/uid/index.html を実行します。この URL は、ET Open のテスト用ルール(sid 2100498)に当たる応答を返します。

  7. fast.log にアラートが 1 行出れば、検知が動いています。

ルールの入手と管理

ルールの取得と更新には、Suricata に同梱されている suricata-update を使います。

コマンド すること
sudo suricata-update ET Open を取得・更新する
sudo suricata-update update-sources 使えるルールセットの一覧を取得する
sudo suricata-update list-sources 使えるルールセットを表示する
sudo suricata-update enable-source oisf/trafficid 別のルールセットを有効にする(例は OISF の TrafficID)

ルールは頻繁に更新するよう、公式も勧めています。自分で書いたルールは、ルールファイルとして追加できます。

主なコマンドラインオプション

オプション 意味
-c <ファイル> 設定ファイルを指定する
-i <インターフェース> 指定したインターフェースの通信を検査する
-r <パス> pcap ファイル(またはフォルダー内のファイル)を読み込んで検査する
-l <フォルダー> ログの出力先を指定する
-q <キュー番号> NFQUEUE を使ってインラインで動かす(IPS)

-r を使えば、Wireshark で記録した自分の pcap ファイルを後から検査できます。

注意点

  • 検査してよいのは、自分が管理するネットワークか、管理者の許可を得たネットワークだけです。Suricata は通信の中身を読むので、他人の通信を許可なく検査しないでください。
  • eve.json などのログには、通信先や通信内容の一部が残ります。人に渡す前に中身を確かめてください。
  • IPS モードは、通信の通り道に入るので、設定やルールを誤ると必要な通信まで止めることがあります。まず IDS モードで誤検知の様子を見てから切り替えてください。
  • Windows 版は公式サイトで 64 ビットのインストーラーが配布されています。macOS では、ソースからのビルドになります。

次に読む

出典

  1. 公式ドキュメント:Suricata とはdocs.suricata.io/en/suricata-8.0.7/what-is-suricata.html
  2. 公式ドキュメント:クイックスタートdocs.suricata.io/en/suricata-8.0.7/quickstart.html
  3. 公式ドキュメント:suricata-update によるルール管理docs.suricata.io/en/suricata-8.0.7/rule-management/suricata-update.html
  4. 公式ドキュメント:IPS の考え方docs.suricata.io/en/suricata-8.0.7/ips/ips-concept.html
  5. 公式ドキュメント:Linux で IPS(インライン)を設定するdocs.suricata.io/en/suricata-8.0.7/ips/setting-up-ipsinline-for-linux.html
  6. 公式ドキュメント:コマンドラインオプションdocs.suricata.io/en/suricata-8.0.7/command-line-options.html
  7. 公式サイト:ダウンロードsuricata.io/download/

確認日 2026-10-24

似たツール

Wazuh

影響範囲 手元だけ
wazuh/wazuh

端末に入れたエージェントからログや設定、脆弱性の情報を集め、1 つの画面で監視できる無料のセキュリティ基盤(SIEM/XDR)。

用途
防御
形式
サーバーで動かす
難易度
上級
ライセンス
条件つきGPL-2.0(一部の構成要素は Apache-2.0)
分類
脆弱性スキャン/フォレンジック
更新が続いているスター17,410最終更新 2026-10-24
Wazuhの解説を読む

Wireshark

影響範囲 外に届く
wireshark/wireshark

ネットワークを流れるパケットを記録し、中身をプロトコルごとに分解して見せるパケットアナライザー。

用途
学習
形式
デスクトップアプリ
難易度
初級
ライセンス
条件つきGPL-2.0
分類
ネットワーク/フォレンジック
更新が続いているスター10,082最終更新 2026-10-25
Wiresharkの解説を読む