自宅で作るDFIR・NSM実習ラボ|Security OnionでZeek・Suricataを動かす
守りの技術は、読むだけでは身につきません。攻撃の通信を“自分の目”で見て、検知を書いて、試す——そのための“安全な道場”が自宅ラボです。仮想化と隔離ネットワークの設計から、Security Onion(Zeek+Suricata+SIEM)の導入、安全なテレメトリの生み方、検知エンジニアリングの学びのループまで、防御者の視点で日本語でやさしく解説します。
📋 この記事の目次
ここまでの連載で、ネットワークのWireshark・Zeek・Suricata、検知のSigma・YARAと、たくさんの“道具”を学んできました。でも、道具は振ってみないと使えるようになりません。攻撃の通信や痕跡を自分の目で見て、検知ルールを書いて、当たるか試す——それを誰にも迷惑をかけず、合法に、安全にできる場所が自宅ラボ(ホームラボ)です。その中核に据えるのが、無料のオールインワン監視環境 Security Onion。この記事は、これまでのDFIR記事すべての“実践の場”をつくる、いわば総仕上げです。DFIR完全ロードマップの集大成として、基礎からていねいに解説します。
自宅ラボの最大の価値は、「完全に隔離された“自分の”環境だから、何を試しても合法で安全」という点にあります。攻撃の検知や解析の練習は、外部から切り離した検証用の仮想環境の中だけで行ってください。ラボの道具(攻撃シミュレーションやスキャン等)を、自分が所有・管理していない実ネットワークや他者の機器に向けることは絶対にしないこと。これは不正アクセス禁止法などに触れる行為です。“隔離”こそが、自由に学ぶための土台です(隔離の作り方は④章で詳しく述べます)。
🧪 なぜ自宅ラボか? 守りは“手を動かして”身につく
本で読んだ知識を“できる”に変える唯一の方法——それが、自分で作って壊せる環境です。
自宅ラボ=攻撃と検知を“安全に”再現できる、自分専用の実験場
自宅ラボ(ホームラボ)とは、自分のPCの中に仮想マシン(VM)を立てて作る、外部から隔離された練習環境のことです。ここでは、攻撃の通信を流しても、マルウェアの検体を解析しても、検知ルールが誤爆しても——誰にも迷惑がかからず、壊れてもスナップショットで一瞬で元に戻せます。守りの技術は知識だけでは身につかず、「攻撃が起きたとき、ログや通信はどう見えるか」を自分の目で確かめる経験が不可欠。その経験を、安全に何度でも積める場所が自宅ラボです。
なぜ“手を動かす”ことがそれほど大切なのか。たとえばSigmaやYARAのルールを書けても、本物の攻撃ログに当ててみなければ、それが本当に効くのか分かりません。ZeekやSuricataも、実際に通信を流してログが生まれる様子を見て初めて“腑に落ちる”。自宅ラボは、「攻撃を起こす→検知される様子を見る→検知を改善する」というサイクルを、リスクゼロで回せる装置なのです。これは座学の何倍もの学びになります。
自宅ラボは、これまでの記事すべての“実践の場”
パケットをWiresharkで深掘りし、Zeekのログを読み、Suricataのアラートを受け、Sigmaで検知を書き、MITRE ATT&CKでカバレッジを測る——学んだ道具のすべてが、このラボで一つにつながります。バラバラだった知識が、“実戦の流れ”として体に入る瞬間です。
そして、自宅ラボには「安全と合法」という、何にも代えがたい価値があります。攻撃手法や検知を学ぼうとすると、つい本物のシステムで試したくなりますが、それは厳禁。自分が所有し、外部から隔離した環境の中なら、何を試しても自由で、誰も傷つけません。“隔離された箱庭”を持つこと——それが、防御者として安心して腕を磨くための、最初の一歩なのです。
🏗 ラボの全体設計(仮想化・隔離ネットワーク・3つのVM)
難しく考えなくて大丈夫。基本は「箱(VM)を3つ、隔離した1本の線でつなぐ」だけです。
ラボの土台は仮想化ソフト(ハイパーバイザ)です。1台のPCの中に複数の仮想マシンを動かすための道具で、無料の VirtualBox、VMware Workstation、サーバー向けの Proxmox などがあります。その上に、役割の違う3つのVMを立て、インターネットから切り離した“隔離ネットワーク”でつなぐ——これが基本形です。
ここで“隔離”の肝になるのが、ハイパーバイザのネットワークモードの選び方です。仮想マシンの接続方法には主に4種類あり、ラボでは使い分けが決定的に重要です。ブリッジ(家庭LANに直結)とNAT(ホスト経由でインターネットに出る)は、検体や攻撃通信を外へ漏らすため検証VMには使いません。代わりに、internal(内部ネットワーク)=VM同士だけが通信できる完全隔離か、host-only=ホストPCとVMの間だけに閉じた構成を選びます。「外に出る線を、そもそも引かない」——これが隔離の本質です。
🏗 自宅ラボの基本設計図——隔離スイッチに3つのVMをぶら下げる
仮想環境ならではの便利な点が、“仮想SPAN”です。物理ネットワークではSuricataやZeekに通信を渡すためにスイッチのミラーポートやTAPが要りましたが、ラボではSecurity Onionの監視用NICを“プロミスキャスモード”にするだけで、同じ隔離スイッチ上を流れる全通信が見えるようになります。3つのVMの役割は、次のとおりです。
| VMの役割 | 中身(例) | 担当 |
|---|---|---|
| 🧅 監視・分析 | Security Onion | Zeek/Suricataで通信を監視、ログをSIEMで可視化・ハント。 |
| 🪟 被害者役 | Windows+Sysmon | 攻撃を“受ける”側。プロセス・通信・ログ=テレメトリを生み出す。 |
| 🎬 通信の発生源 | pcap再生/演習ツール | 攻撃通信を“安全に”発生させる(実マルウェア不要の方法を⑤章で)。 |
最大のボトルネックは“メモリ(RAM)”
ラボ構築でいちばん効いてくるのはRAMの量です。とくにSecurity Onionは、内部でElasticスタックなど多くのソフトを動かすためメモリを多く使います(用途により16GB前後〜が目安、軽い“取り込み専用”構成ならもっと少なく可)。まずは1台ずつ立ち上げる、軽量な構成から始めるなど、手持ちのPCに合わせて無理なくスケールさせましょう。クラウド上に小さく作る選択肢もあります。
🧅 Security Onion:1台に詰まったSOCの道具箱
Zeekも、Suricataも、SIEMも、フルパケット記録も。“全部入り”の無料ディストロです。
Security Onionは、Doug Burks氏が中心に開発する、ネットワーク監視・脅威ハンティング・ログ管理のためのオープンソースLinuxディストリビューションです。何がすごいかというと、プロのSOC(セキュリティ運用センター)が使う道具一式が、1つにまとまって無料で手に入ること。個別に導入・連携させると大変なツール群を、最初から“つながった状態”で使えます。
フルpcap・CyberChef他
全通信の生パケット保存、データ加工のCyberChef、ホスト監視のWazuh、ケース管理まで“全部入り”。
導入方法はいくつかありますが、自宅ラボの入門に最適なのが「Import(取り込み)構成」です。これはサーバーを常時動かさず、解析したいpcapやログを“放り込む”だけの軽量モード。手持ちの演習用pcapを取り込めば、Zeek/Suricataが自動で解析し、結果をKibanaで見られます。リソースも控えめなので、まずはここから始めるのがおすすめです。
| 構成 | 用途 | 重さ |
|---|---|---|
| Import | pcap/ログを取り込んで解析。入門に最適。 | 軽い |
| Eval(評価) | 1台で全機能をお試し。ライブ監視も体験できる。 | 中〜重 |
| Standalone | 1台で本番運用する単体構成。 | 重い |
| Distributed | 管理ノード+センサーノードに分けた大規模構成。 | とても重い |
Import構成の主役コマンドが so-import-pcap です。世界中の防御者が公開する演習用pcap(後述)を、これ1行で解析パイプラインに乗せられます。
▲ so-import-pcap は、1本のpcapからSuricataのアラート・Zeekのログ・抽出ファイルを一気に生成し、Kibanaで横断検索できる状態にしてくれます。“Wiresharkで1パケットずつ”の先にある、“俯瞰して狩る”世界の入口です。
“取り込む”だけでは物足りなくなったら、「Eval(評価)構成」へ進みましょう。こちらは監視用NICを常時動かし、ライブの通信をリアルタイムで監視できます。さらにSecurity Onionには、エンドポイントを監視するWazuh、ブラウザ上で攻撃を追うHunt/ダッシュボード、調査をまとめるケース管理までそろい、まさに“1台に詰まったSOC”。最初はImportで“読む”感覚をつかみ、慣れたらEvalで“リアルタイムに狩る”へ——段階を踏むほど、無理なく力がつきます。
🔒 安全がすべて:隔離とスナップショットの鉄則
ラボの自由は“隔離”が支えています。ここを徹底すれば、安心して何でも試せます。
自宅ラボで“何でも試せる”のは、外の世界から完全に切り離されているからです。この隔離が破れると、検証用のマルウェアが家庭LANや会社のネットワークに飛び火したり、攻撃シミュレーションが外部に漏れたりと、一気に危険な存在に変わります。隔離とスナップショット——この2つだけは、絶対に手を抜かない。それがラボの“安全装置”です。
🔒 安全な検証の仕組み——隔離・代替サービス・スナップショット復元
仕組みはシンプルです。検証VMのネットワークは、ハイパーバイザの設定で「host-only(ホストオンリー)」や「internal(内部)」にして、NATやブリッジ(=インターネットや家庭LANに出る設定)を絶対に使わない。これで通信は隔離スイッチの中に閉じ込められます。検体がインターネットに出たがる場合は、本物につなぐのではなく、INetSimのような“偽のインターネット”を立て、DNSやWebの応答を演じさせて挙動だけ観察します。
ラボの安全は、次の4つで決まります。①ネットワークを隔離する(host-only/internalのみ。NAT・ブリッジ厳禁。インターネット直結はしない)/②スナップショットを取ってから実験し、終わったら復元する(汚染を“なかったこと”にできる命綱)/③日常用PCや会社の機器では絶対にやらない(ラボ専用の環境・できれば専用ディスクで)/④検体の受け渡しはパスワード付きZIP+ハッシュで、誤って開かない工夫を。これはYARA記事で述べた検体取り扱いの鉄則と同じ。「隔離されている」と確認できるまで、検体は動かさない——これを習慣にしてください。
隔離できているかは、必ず“自分の目で”確認します。検証VMから外部に出られないことを確かめるのが確実で、“つながらないこと”が“正常”——この逆転した感覚に慣れましょう。
もう一つの命綱がスナップショットです。仮想マシンの“ある瞬間の状態”をまるごと保存しておき、実験で汚れたらボタン一つで巻き戻す。これがあるから、マルウェアを動かそうが、システムを壊そうが、何度でもやり直せます。「実験の前にスナップショット」を、歯磨きのように習慣化しましょう。安全が確保できて初めて、ラボは“自由な学びの場”になります。
🎬 動かす:テレメトリを“安全に”生む
本物のマルウェアがなくても、攻撃の“見え方”は学べます。安全な3つの方法を。
ラボができたら、いよいよ“攻撃”を起こして、検知される様子を観察します。とはいえ、本物のマルウェアを動かす必要はありません。むしろ初心者は避けるべき。攻撃の“見え方”を安全に学べる、3つの王道があります。
演習用pcapを“再生”する
malware-traffic-analysis.net(Brad Duncan氏)等の本物の攻撃通信pcapを so-import-pcap や tcpreplay で流す。実害ゼロで、Zeek/Suricataが“光る”様子を体験できます。
いちばんのおすすめは、やはりpcapの再生です。世界中のアナリストが解析・公開している“本物の攻撃通信”を取り込めば、攻撃者の手口がSuricataのアラートやZeekのログにどう現れるかを、リスクなく学べます。慣れてきたら、Atomic Red Teamで“自分の防御”をテストへ。これは攻撃の指南ではなく、「自分のラボで、自分の検知が効くかを確かめる」防御者のためのツールです。
テレメトリを生んだら、“ちゃんと検知されたか”をKibanaで確かめるのを忘れずに。pcapを取り込んだらSuricataのアラート画面を開き、どのルール(SID)が、どの通信に反応したかを追います。さらにZeekのログを flow_id でたどれば、“1つのアラート”の背後にある通信の全体像が見えてくる。“起こした攻撃”と“光った検知”を突き合わせる——この答え合わせの反復こそが、検知の勘所を育てます。
▲ tcpreplay は保存したpcapをネットワークに“再生”し、ライブ監視の練習になります。Invoke-AtomicTest(Atomic Red Team)は、ATT&CKの手口を“検知テスト目的”で安全に1つ実行する仕組み。必ず自分のラボ+スナップショット前提で。
“丸ごと用意された練習環境”もある
ゼロから組むのが大変なら、DetectionLabのような“検知練習用にあらかじめ構成された自宅ラボ”のプロジェクトも参考になります(Windowsドメイン+ログ収集+各種ツールが自動構築)。まずはSecurity Onionのso-import-pcapで“見る”感覚をつかみ、徐々に“起こす”側へ広げていくのが、挫折しない順番です。
🔁 学びのループ:見える→狩る→検知を書く→測る
ラボの本当の価値は、この“ぐるぐる回るサイクル”にあります。
道具がそろい、安全も確保できたら、いよいよ検知エンジニアリングの“学びのループ”を回します。これは、これまでの記事で学んだ道具が、すべて一つの流れにつながる瞬間。起こす → 見える → 狩る → 検知を書く → 測る、そしてまた起こす——この反復こそが、防御者を育てます。
🔁 自宅ラボで回す、検知エンジニアリングのループ
このループの素晴らしさは、一つひとつのステップが、これまでの記事と対応していること。①は本章で学んだ安全なテレメトリ生成、②はZeek・Suricata・Sysmon、③はKibanaでのログ分析と脅威ハント、④はSigma・YARA・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を“狩れた”とき、すべての記事がつながります。
📚 用語集・FAQ・次に読む
つまずきやすい用語と、よくある疑問をまとめました。
ここまでに登場した言葉の“答え合わせ”として、用語集とFAQをまとめました。自宅ラボは奥が深い世界ですが、入口はこの記事の範囲で十分です。あとは安全を守りながら、少しずつ環境を育てていきましょう。最初の1本のpcapを“狩れた”とき、これまで読んできた記事のすべてが、一本の線でつながります。
📖 用語集
| 用語 | 意味 |
|---|---|
| 自宅ラボ(ホームラボ) | 自分のPC上に作る、外部から隔離した検証・学習用の環境。 |
| ハイパーバイザ | 1台のPCで複数の仮想マシンを動かすソフト(VirtualBox/VMware/Proxmox等)。 |
| host-only / internal | 仮想マシンを外部に出さない隔離ネットワーク設定。ラボ安全の要。 |
| スナップショット | VMのある瞬間の状態を保存し、後で巻き戻せる機能。実験の命綱。 |
| Security Onion | Zeek+Suricata+Elastic等を統合した、無料のNSM/脅威ハンティング向けLinux。 |
| so-import-pcap | pcapを取り込み、Zeek/Suricataで自動解析してKibanaで見られるようにするコマンド。 |
| プロミスキャスモード | NICが“自分宛て以外”の通信も受け取る設定。仮想SPANとして監視に使う。 |
| Sysmon | Windowsの詳細ログを取る無料ツール。検知練習のテレメトリ源。 |
| Atomic Red Team | ATT&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のログ観察だけで、攻撃の“見え方”と検知は十分に学べます。本物の検体を扱うのは、隔離環境の扱いに完全に慣れてからにしましょう。
まず何から始めればいいですか?
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(ネットワークサービス・シミュレータ)


コメント