自宅で作るDFIR・NSM実習ラボ|Security OnionでZeek・Suricataを動かす(安全な検証環境)

🧪 実務者向け・自宅ラボ構築入門

自宅で作るDFIR・NSM実習ラボ|Security OnionでZeek・Suricataを動かす

守りの技術は、読むだけでは身につきません。攻撃の通信を“自分の目”で見て、検知を書いて、試す——そのための“安全な道場”が自宅ラボです。仮想化と隔離ネットワークの設計から、Security Onion(Zeek+Suricata+SIEM)の導入、安全なテレメトリの生み方、検知エンジニアリングの学びのループまで、防御者の視点で日本語でやさしく解説します。

🧅 Security Onion 🛰 Zeek 🛡 Suricata 🧪 検証環境 🔒 隔離ネットワーク

ここまでの連載で、ネットワークのWiresharkZeekSuricata、検知のSigmaYARAと、たくさんの“道具”を学んできました。でも、道具は振ってみないと使えるようになりません。攻撃の通信や痕跡を自分の目で見て、検知ルールを書いて、当たるか試す——それを誰にも迷惑をかけず、合法に、安全にできる場所が自宅ラボ(ホームラボ)です。その中核に据えるのが、無料のオールインワン監視環境 Security Onion。この記事は、これまでのDFIR記事すべての“実践の場”をつくる、いわば総仕上げです。DFIR完全ロードマップの集大成として、基礎からていねいに解説します。

⚠ 大切な前提(この記事の立ち位置)

自宅ラボの最大の価値は、「完全に隔離された“自分の”環境だから、何を試しても合法で安全」という点にあります。攻撃の検知や解析の練習は、外部から切り離した検証用の仮想環境の中だけで行ってください。ラボの道具(攻撃シミュレーションやスキャン等)を、自分が所有・管理していない実ネットワークや他者の機器に向けることは絶対にしないこと。これは不正アクセス禁止法などに触れる行為です。“隔離”こそが、自由に学ぶための土台です(隔離の作り方は④章で詳しく述べます)。

01

🧪 なぜ自宅ラボか? 守りは“手を動かして”身につく

本で読んだ知識を“できる”に変える唯一の方法——それが、自分で作って壊せる環境です。

🧪

自宅ラボ=攻撃と検知を“安全に”再現できる、自分専用の実験場

自宅ラボ(ホームラボ)とは、自分のPCの中に仮想マシン(VM)を立てて作る、外部から隔離された練習環境のことです。ここでは、攻撃の通信を流しても、マルウェアの検体を解析しても、検知ルールが誤爆しても——誰にも迷惑がかからず、壊れてもスナップショットで一瞬で元に戻せます。守りの技術は知識だけでは身につかず、「攻撃が起きたとき、ログや通信はどう見えるか」を自分の目で確かめる経験が不可欠。その経験を、安全に何度でも積める場所が自宅ラボです。

なぜ“手を動かす”ことがそれほど大切なのか。たとえばSigmaYARAのルールを書けても、本物の攻撃ログに当ててみなければ、それが本当に効くのか分かりませんZeekSuricataも、実際に通信を流してログが生まれる様子を見て初めて“腑に落ちる”。自宅ラボは、「攻撃を起こす→検知される様子を見る→検知を改善する」というサイクルを、リスクゼロで回せる装置なのです。これは座学の何倍もの学びになります。

🎯

自宅ラボは、これまでの記事すべての“実践の場”

パケットをWiresharkで深掘りし、Zeekのログを読み、Suricataのアラートを受け、Sigmaで検知を書き、MITRE ATT&CKでカバレッジを測る——学んだ道具のすべてが、このラボで一つにつながります。バラバラだった知識が、“実戦の流れ”として体に入る瞬間です。

そして、自宅ラボには「安全と合法」という、何にも代えがたい価値があります。攻撃手法や検知を学ぼうとすると、つい本物のシステムで試したくなりますが、それは厳禁。自分が所有し、外部から隔離した環境の中なら、何を試しても自由で、誰も傷つけません。“隔離された箱庭”を持つこと——それが、防御者として安心して腕を磨くための、最初の一歩なのです。

02

🏗 ラボの全体設計(仮想化・隔離ネットワーク・3つのVM)

難しく考えなくて大丈夫。基本は「箱(VM)を3つ、隔離した1本の線でつなぐ」だけです。

ラボの土台は仮想化ソフト(ハイパーバイザ)です。1台のPCの中に複数の仮想マシンを動かすための道具で、無料の VirtualBoxVMware Workstation、サーバー向けの Proxmox などがあります。その上に、役割の違う3つのVMを立て、インターネットから切り離した“隔離ネットワーク”でつなぐ——これが基本形です。

ここで“隔離”の肝になるのが、ハイパーバイザのネットワークモードの選び方です。仮想マシンの接続方法には主に4種類あり、ラボでは使い分けが決定的に重要です。ブリッジ(家庭LANに直結)とNAT(ホスト経由でインターネットに出る)は、検体や攻撃通信を外へ漏らすため検証VMには使いません。代わりに、internal(内部ネットワーク)=VM同士だけが通信できる完全隔離か、host-only=ホストPCとVMの間だけに閉じた構成を選びます。「外に出る線を、そもそも引かない」——これが隔離の本質です。

🏗 自宅ラボの基本設計図——隔離スイッチに3つのVMをぶら下げる

🖥 ホストPC(ハイパーバイザ:VirtualBox等) 🔒 隔離仮想スイッチ(インターネット遮断・host-only / internal) 🧅 Security Onion Zeek+Suricata+SIEM 監視NIC=プロミスキャス 🪟 被害者役VM Windows+Sysmon テレメトリ発生源 🎬 通信の発生源 pcap再生 / 演習 (許可された範囲で) Security Onionの監視NICを“プロミスキャス”にすると、隔離スイッチ上の全通信が見える=仮想SPAN 🧱 🌐 家庭LAN / インターネット 原則つながない

仮想環境ならではの便利な点が、“仮想SPAN”です。物理ネットワークではSuricataやZeekに通信を渡すためにスイッチのミラーポートやTAPが要りましたが、ラボではSecurity Onionの監視用NICを“プロミスキャスモード”にするだけで、同じ隔離スイッチ上を流れる全通信が見えるようになります。3つのVMの役割は、次のとおりです。

VMの役割中身(例)担当
🧅 監視・分析Security OnionZeek/Suricataで通信を監視、ログをSIEMで可視化・ハント。
🪟 被害者役Windows+Sysmon攻撃を“受ける”側。プロセス・通信・ログ=テレメトリを生み出す。
🎬 通信の発生源pcap再生/演習ツール攻撃通信を“安全に”発生させる(実マルウェア不要の方法を⑤章で)。
🧠

最大のボトルネックは“メモリ(RAM)”

ラボ構築でいちばん効いてくるのはRAMの量です。とくにSecurity Onionは、内部でElasticスタックなど多くのソフトを動かすためメモリを多く使います(用途により16GB前後〜が目安、軽い“取り込み専用”構成ならもっと少なく可)。まずは1台ずつ立ち上げる、軽量な構成から始めるなど、手持ちのPCに合わせて無理なくスケールさせましょう。クラウド上に小さく作る選択肢もあります。

03

🧅 Security Onion:1台に詰まったSOCの道具箱

Zeekも、Suricataも、SIEMも、フルパケット記録も。“全部入り”の無料ディストロです。

Security Onionは、Doug Burks氏が中心に開発する、ネットワーク監視・脅威ハンティング・ログ管理のためのオープンソースLinuxディストリビューションです。何がすごいかというと、プロのSOC(セキュリティ運用センター)が使う道具一式が、1つにまとまって無料で手に入ること。個別に導入・連携させると大変なツール群を、最初から“つながった状態”で使えます。

記録

Zeek

通信を conn.log などの構造化ログに。“誰がどこへ”の台帳をつくる、振る舞い分析の中核。

警報

Suricata

シグネチャ(ET Openルール)で既知の脅威を検知。アラートは eve.json としてSIEMへ。

可視化

Elastic+Kibana

ZeekログもSuricataアラートも一元集約。ブラウザのダッシュボードで横断検索・ログ分析・ハントができます。

+α

フルpcap・CyberChef他

全通信の生パケット保存、データ加工のCyberChef、ホスト監視のWazuh、ケース管理まで“全部入り”。

導入方法はいくつかありますが、自宅ラボの入門に最適なのが「Import(取り込み)構成」です。これはサーバーを常時動かさず、解析したいpcapやログを“放り込む”だけの軽量モード。手持ちの演習用pcapを取り込めば、Zeek/Suricataが自動で解析し、結果をKibanaで見られます。リソースも控えめなので、まずはここから始めるのがおすすめです。

構成用途重さ
Importpcap/ログを取り込んで解析。入門に最適軽い
Eval(評価)1台で全機能をお試し。ライブ監視も体験できる。中〜重
Standalone1台で本番運用する単体構成。重い
Distributed管理ノード+センサーノードに分けた大規模構成。とても重い

Import構成の主役コマンドが so-import-pcap です。世界中の防御者が公開する演習用pcap(後述)を、これ1行で解析パイプラインに乗せられます。

# 演習用pcapを取り込む → Zeek+Suricataが自動解析し、結果をKibanaで確認できる sudo so-import-pcap /opt/samples/2024-traffic-exercise.pcap # 取り込みが終わると、結果を見るためのKibanaのURL(時間範囲つき)が案内される # → ブラウザで開けば、検知アラート・通信ログ・抽出ファイルが一覧できる

so-import-pcap は、1本のpcapからSuricataのアラート・Zeekのログ・抽出ファイルを一気に生成し、Kibanaで横断検索できる状態にしてくれます。“Wiresharkで1パケットずつ”の先にある、“俯瞰して狩る”世界の入口です。

“取り込む”だけでは物足りなくなったら、「Eval(評価)構成」へ進みましょう。こちらは監視用NICを常時動かし、ライブの通信をリアルタイムで監視できます。さらにSecurity Onionには、エンドポイントを監視するWazuh、ブラウザ上で攻撃を追うHunt/ダッシュボード、調査をまとめるケース管理までそろい、まさに“1台に詰まったSOC”。最初はImportで“読む”感覚をつかみ、慣れたらEvalで“リアルタイムに狩る”へ——段階を踏むほど、無理なく力がつきます。

04

🔒 安全がすべて:隔離とスナップショットの鉄則

ラボの自由は“隔離”が支えています。ここを徹底すれば、安心して何でも試せます。

自宅ラボで“何でも試せる”のは、外の世界から完全に切り離されているからです。この隔離が破れると、検証用のマルウェアが家庭LANや会社のネットワークに飛び火したり、攻撃シミュレーションが外部に漏れたりと、一気に危険な存在に変わります。隔離とスナップショット——この2つだけは、絶対に手を抜かない。それがラボの“安全装置”です。

🔒 安全な検証の仕組み——隔離・代替サービス・スナップショット復元

🔒 隔離ネットワーク(外部遮断) 🦠 被害者VM+検体 実行しても外に出られない 🎭 INetSim(代替サービス) 偽のDNS/HTTPで“通信先”を演じる 検体はインターネットに繋がず、偽サービスに通信させて挙動だけ観察 🧱 🌐 本物のインターネット 検体は絶対につながない 📸 スナップショット 🧪 実験する ↺ 一瞬で復元

仕組みはシンプルです。検証VMのネットワークは、ハイパーバイザの設定で「host-only(ホストオンリー)」や「internal(内部)」にして、NATやブリッジ(=インターネットや家庭LANに出る設定)を絶対に使わない。これで通信は隔離スイッチの中に閉じ込められます。検体がインターネットに出たがる場合は、本物につなぐのではなく、INetSimのような“偽のインターネット”を立て、DNSやWebの応答を演じさせて挙動だけ観察します。

🚨 検体・攻撃ツールを扱うときの“絶対の4原則”

ラボの安全は、次の4つで決まります。①ネットワークを隔離する(host-only/internalのみ。NAT・ブリッジ厳禁。インターネット直結はしない)/②スナップショットを取ってから実験し、終わったら復元する(汚染を“なかったこと”にできる命綱)/③日常用PCや会社の機器では絶対にやらない(ラボ専用の環境・できれば専用ディスクで)/④検体の受け渡しはパスワード付きZIP+ハッシュで、誤って開かない工夫を。これはYARA記事で述べた検体取り扱いの鉄則と同じ。「隔離されている」と確認できるまで、検体は動かさない——これを習慣にしてください。

隔離できているかは、必ず“自分の目で”確認します。検証VMから外部に出られないことを確かめるのが確実で、“つながらないこと”が“正常”——この逆転した感覚に慣れましょう。

# 隔離の確認:検証VMから外部へ出られないことを確かめる ping 8.8.8.8 # → 応答なし(タイムアウト)が正常 = 隔離できている curl https://example.com # → 失敗するのが正常。成功したら隔離が破れているサイン

もう一つの命綱がスナップショットです。仮想マシンの“ある瞬間の状態”をまるごと保存しておき、実験で汚れたらボタン一つで巻き戻す。これがあるから、マルウェアを動かそうが、システムを壊そうが、何度でもやり直せます。「実験の前にスナップショット」を、歯磨きのように習慣化しましょう。安全が確保できて初めて、ラボは“自由な学びの場”になります。

05

🎬 動かす:テレメトリを“安全に”生む

本物のマルウェアがなくても、攻撃の“見え方”は学べます。安全な3つの方法を。

ラボができたら、いよいよ“攻撃”を起こして、検知される様子を観察します。とはいえ、本物のマルウェアを動かす必要はありません。むしろ初心者は避けるべき。攻撃の“見え方”を安全に学べる、3つの王道があります。

最も安全・おすすめ

演習用pcapを“再生”する

malware-traffic-analysis.net(Brad Duncan氏)等の本物の攻撃通信pcapを so-import-pcaptcpreplay で流す。実害ゼロで、Zeek/Suricataが“光る”様子を体験できます。

端末の痕跡

Sysmonでテレメトリ収集

被害者役のWindowsにSysmonを入れると、プロセス・通信・ファイルの詳細ログが取れ、Sigma検知の練習台になります。

検知をテスト

Atomic Red Teamで手口を再現

自分の検証VMATT&CKの手口を1つずつ安全に実行し、「自分の検知は反応するか」を試す。防御テストのための“手口の標本”です。

いちばんのおすすめは、やはりpcapの再生です。世界中のアナリストが解析・公開している“本物の攻撃通信”を取り込めば、攻撃者の手口がSuricataのアラートやZeekのログにどう現れるかを、リスクなく学べます。慣れてきたら、Atomic Red Teamで“自分の防御”をテストへ。これは攻撃の指南ではなく、「自分のラボで、自分の検知が効くかを確かめる」防御者のためのツールです。

テレメトリを生んだら、“ちゃんと検知されたか”をKibanaで確かめるのを忘れずに。pcapを取り込んだらSuricataのアラート画面を開き、どのルール(SID)が、どの通信に反応したかを追います。さらにZeekのログを flow_id でたどれば、“1つのアラート”の背後にある通信の全体像が見えてくる。“起こした攻撃”と“光った検知”を突き合わせる——この答え合わせの反復こそが、検知の勘所を育てます。

# ① 隔離ネットに演習用pcapを”再生”して、ライブ受信を体験(実マルウェア不要) sudo tcpreplay -i eth1 2024-traffic-exercise.pcap # ② 被害者役VM(自分の検証環境)で、ATT&CKの手口を1つだけ実行し検知をテスト # ※必ずスナップショットを取ってから/自分が管理する環境でのみ Invoke-AtomicTest T1059.001 -TestNumbers 1

tcpreplay は保存したpcapをネットワークに“再生”し、ライブ監視の練習になります。Invoke-AtomicTest(Atomic Red Team)は、ATT&CKの手口を“検知テスト目的”で安全に1つ実行する仕組み。必ず自分のラボ+スナップショット前提で

🧩

“丸ごと用意された練習環境”もある

ゼロから組むのが大変なら、DetectionLabのような“検知練習用にあらかじめ構成された自宅ラボ”のプロジェクトも参考になります(Windowsドメイン+ログ収集+各種ツールが自動構築)。まずはSecurity Onionのso-import-pcapで“見る”感覚をつかみ、徐々に“起こす”側へ広げていくのが、挫折しない順番です。

06

🔁 学びのループ:見える→狩る→検知を書く→測る

ラボの本当の価値は、この“ぐるぐる回るサイクル”にあります。

道具がそろい、安全も確保できたら、いよいよ検知エンジニアリングの“学びのループ”を回します。これは、これまでの記事で学んだ道具が、すべて一つの流れにつながる瞬間。起こす → 見える → 狩る → 検知を書く → 測る、そしてまた起こす——この反復こそが、防御者を育てます。

🔁 自宅ラボで回す、検知エンジニアリングのループ

① 起こすpcap再生/Atomic ② 見えるZeek/Suricata/Sysmon ③ 狩るKibanaで調査 ④ 検知を書くSigma/YARA/ルール ⑤ 測るMITRE ATT&CK 穴が見つかれば、また①へ——回すほど、検知は賢く・守りは厚くなる

このループの素晴らしさは、一つひとつのステップが、これまでの記事と対応していること。①は本章で学んだ安全なテレメトリ生成、②はZeekSuricata・Sysmon、③はKibanaでのログ分析と脅威ハント、④はSigmaYARA・Suricataルール、⑤はMITRE ATT&CKでのカバレッジ測定。バラバラだった道具が、ここで一本の“実戦の型”になります。さらに、検知して終わりではなく、インシデント対応の初動を演習するところまで、ラボなら安全に練習できます。

練習は、背伸びせず段階的に進めるのがコツです。初級は“見る”——演習pcapを取り込み、SuricataのアラートとZeekのログを読み解く。中級は“書く”——同じ攻撃に対して自分でSigmaやSuricataのルールを書き、ちゃんと光るか検証する。上級は“つなぐ”——ATT&CKの一連の攻撃チェーンを再現し、どこで検知できて、どこに穴があるかを地図化する。1段ずつ上るうちに、気づけば“実戦の型”が身についています。

✅ 自宅ラボ・はじめの一歩(最小構成から)

仮想化ソフト(VirtualBox等)をPCに入れた/□ ネットワークを host-only/internal にし、インターネットから隔離した(NAT・ブリッジを使っていない)/□ Security Onion を「Import構成」で用意した/□ 演習用pcap(malware-traffic-analysis.net等)を so-import-pcap で取り込んだ/□ KibanaでSuricataのアラートとZeekのログを眺めた/□ 実験の前にスナップショットを取る習慣をつけた。まずは「隔離→取り込む→見る」。1本のpcapを“狩れた”とき、すべての記事がつながります。

07

📚 用語集・FAQ・次に読む

つまずきやすい用語と、よくある疑問をまとめました。

ここまでに登場した言葉の“答え合わせ”として、用語集とFAQをまとめました。自宅ラボは奥が深い世界ですが、入口はこの記事の範囲で十分です。あとは安全を守りながら、少しずつ環境を育てていきましょう。最初の1本のpcapを“狩れた”とき、これまで読んできた記事のすべてが、一本の線でつながります。

📖 用語集

用語意味
自宅ラボ(ホームラボ)自分のPC上に作る、外部から隔離した検証・学習用の環境。
ハイパーバイザ1台のPCで複数の仮想マシンを動かすソフト(VirtualBox/VMware/Proxmox等)。
host-only / internal仮想マシンを外部に出さない隔離ネットワーク設定。ラボ安全の要。
スナップショットVMのある瞬間の状態を保存し、後で巻き戻せる機能。実験の命綱。
Security OnionZeek+Suricata+Elastic等を統合した、無料のNSM/脅威ハンティング向けLinux。
so-import-pcappcapを取り込み、Zeek/Suricataで自動解析してKibanaで見られるようにするコマンド。
プロミスキャスモードNICが“自分宛て以外”の通信も受け取る設定。仮想SPANとして監視に使う。
SysmonWindowsの詳細ログを取る無料ツール。検知練習のテレメトリ源。
Atomic Red TeamATT&CK手口を“検知テスト目的”で安全に実行する、防御者向けツール。
pcap再生(tcpreplay)保存した通信をネットワークに“再生”し、ライブ監視を練習する手法。
INetSim偽のインターネット(DNS/HTTP等)を演じ、検体を外に出さず挙動を観察する道具。

❓ よくある質問(FAQ)

どれくらいのスペックのPCが必要ですか?

いちばん効くのはRAM(メモリ)です。Security Onionはメモリを多く使うため、フル機能なら16GB前後〜が目安。ただし、まずは軽い「Import構成」から始めれば、もっと控えめなPCでも体験できます。VM1台ずつ立ち上げる、不要なサービスは止める、といった工夫で、手持ちの環境に合わせて無理なくスケールできます。

VirtualBoxとVMware、どちらがいい?

学習目的なら無料で十分です。VirtualBoxは完全無料で入門に最適。VMware Workstationも個人利用向けが無料で使えます。腰を据えて大きく組むならProxmoxのようなサーバー型も選択肢。まずは手元のPCに入れやすいものから始め、慣れてから乗り換えればOKです。重要なのはソフトの種類より、隔離ネットワークを正しく設定することです。

本当に安全ですか? マルウェアが漏れたりしない?

隔離とスナップショットを徹底すれば安全です。ネットワークを host-only/internal にしてインターネットと切り離し(NAT・ブリッジを使わない)、検体はINetSimの偽サービスに通信させ、実験の前後でスナップショットを取る——④章の4原則を守れば、汚染は箱の中に閉じ込められ、いつでも巻き戻せます。逆に、ここを省くと危険なので、安全確認が取れるまで検体は動かさないでください。

本物のマルウェアを用意しないと学べませんか?

いいえ。むしろ初心者は本物を使わずに学ぶのが正解です。演習用pcapの再生(malware-traffic-analysis.net等)や、Atomic Red Teamでの手口再現、Sysmonのログ観察だけで、攻撃の“見え方”と検知は十分に学べます。本物の検体を扱うのは、隔離環境の扱いに完全に慣れてからにしましょう。

まず何から始めればいいですか?

VirtualBox+Security Onion(Import構成)+演習pcapの3点セットが最短です。隔離ネットワークを作り、so-import-pcap でpcapを取り込み、KibanaでSuricataのアラートとZeekのログを眺める。ここまでで“狩り”の入口に立てます。⑥章のチェックリストを上から順に進めてみてください。

Apple Silicon(M1/M2)のMacでもできますか?

できますが、少し注意が要ります。ARM版のMacでは、x86向けのVMやディストロがそのまま動かないことがあり、対応する仮想化ソフト(UTM等)やARM対応イメージを選ぶ必要があります。手軽さを優先するなら、x86のWindows/Linux PCか、クラウド上に小さく作る方法のほうがつまずきにくいでしょう。

🧭 次に読む

📚 参考・出典(一次情報)

  • Security Onion 公式ドキュメント(docs.securityonion.net)/Security Onion Solutions(Doug Burks)
  • Zeek 公式(docs.zeek.org)/Suricata 公式(docs.suricata.io, OISF)/Elastic Stack ドキュメント
  • malware-traffic-analysis.net(Brad Duncan, 演習用pcap)/Atomic Red Team(Red Canary)
  • DetectionLab(Chris Long)/Microsoft Sysinternals「Sysmon」/SwiftOnSecurity Sysmon設定
  • MITRE ATT&CK(手口の共通辞書)/INetSim(ネットワークサービス・シミュレータ)

コメント