メインコンテンツへスキップ
← ブログに戻る
チュートリアル2026年6月4日by K.hirano

Linux向け無料EDRは実質Wazuh一択だった — 自宅RasPi 5で4.5ヶ月運用した本音と実測

個人のLinuxで無料EDR的監視はWazuhが現実的。RasPi 5で4台を4.5ヶ月運用した実測と、商用EDRとの違いを整理します。

#linux#Wazuh#edr#Raspberry Pi 5#ホームラボ#自宅サーバー

関連記事としては Wazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】BlogWazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】Wazuhの脆弱性ダッシュボードに「3,247件」と表示された。焦ったが、分解してみると数字の正体はシンプルだった。旧カーネル・謎のThunderbird・CVSS 9.8の正体——自宅ラボ実録。 もあわせて読むと、今回の論点とのつながりを把握しやすくなります。

個人のLinuxなら、Wazuhで無料のEDR的監視は十分現実的です。この記事では、RasPi 5で4.5ヶ月運用して分かったことと、詰まりやすいところを実運用ベースでまとめます。

目次

結論: 個人のLinuxならWazuhで無料のEDR的監視は現実的

まず結論からいきます。個人のLinux環境なら、Wazuhで無料のEDR的監視は十分現実的です。実際、私はRaspberry Pi 5 1台でLinux 3台 + Windows 1台の計4台を、2026-01-15の運用開始から4.5ヶ月ほど監視し続けています。

ただし、ここは先に線を引いておきます。Wazuhは商用EDRの完全代替ではありません。それでも、「何もない」状態と比べると、何が・いつ・なぜ起きたかが見えるようになります。個人の自宅サーバーや小規模Linux環境では、この差がかなり大きいです。

B2Bの比較サイトを見ても、個人が自宅で本当に運用できるのか、手間はどれくらいか、何が見えるのかはぼやけがちです。この記事では、そこを実運用の感触ベースで書きます。

この記事で検証した内容

この記事は構築手順書ではなく、「無料EDR的監視を個人のLinuxで本当に持てるのか」を実機で確かめた検証記録です。

検証項目環境・期間結果
Wazuh だけで EDR 的監視が成立するかRasPi 5 で 4台監視(Linux 3 + Windows 1)✅ 2026-01-15 から 4.5ヶ月連続運用
RasPi 5 で負荷に耐えるかWazuh 一式を常時稼働✅ RAM 2.7GB・load 0.5・56°C
ノイズは実用レベルまで減らせるか素の状態で 762件/日✅ 2段フィルタで通知は月数件まで圧縮
実際のインシデントで役立つかOOM 障害の実例✅ 検知 → 原因特定 → swap 増設まで到達

Wazuh の構築手順の完全解説・脆弱性の個別対応・自動化の作り込みは、この記事ではやりません。そこは別記事に切り分けています。構築で詰まった人は RasPi 5にWazuhを入れたら、Dockerが死んだ話——自宅セキュリティ監視の実録BlogRasPi 5にWazuhを入れたら、Dockerが死んだ話——自宅セキュリティ監視の実録RasPi 5(ARM64)にWazuhをDocker Composeで構築しようとしたらIndexerが落ちて失敗。直接インストールに切り替えた実録。3台を監視したらCritical脆弱性が203件出てきた話。 を、脆弱性の見方は Wazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】BlogWazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】Wazuhの脆弱性ダッシュボードに「3,247件」と表示された。焦ったが、分解してみると数字の正体はシンプルだった。旧カーネル・謎のThunderbird・CVSS 9.8の正体——自宅ラボ実録。 を、検知を自動化したい人は WazuhとClaude Codeを繋いだら、CVE調査と修正提案が自動化できた【自宅ラボ セキュリティ実録 #3】BlogWazuhとClaude Codeを繋いだら、CVE調査と修正提案が自動化できた【自宅ラボ セキュリティ実録 #3】Wazuh REST APIでCVEリストを取得し、Claude Codeに渡したら調査と修正コマンド生成が自動化できた。93件のCriticalを手動で追っていた状態からの脱出実録。 を見てください。

先に答え: 何ができて、何ができないか

ここで一度、足元を見ておきます。Wazuhを「無料EDR」と呼ぶときに、混同しやすい点があります。

項目WazuhでできるWazuhでは足りない/別物
ファイル改ざん検知できます自動隔離ではありません
OS変更の監視できますすべての変更を静かに整理してくれるわけではありません
脆弱性の検知できます攻撃の実行阻止までを自動で担うものではありません
設定準拠の確認できますCISを丸ごと盲信すると運用が壊れます
異常の通知できますノイズは多いです
プロセス挙動の自動遮断基本的に守備範囲外ここは商用EDRの土俵です

要するに、WazuhはEDR的な監視を無料で持てるのであって、商用EDRと同じではありません。

でも、個人のLinuxで本当に困るのは「完全遮断」より先に、「何が起きたか分からないこと」です。そこを埋めるだけでも、かなり価値があります。

実機構成: RasPi 5 16GBとNVMe SSDで回した

実機は以下です。

  • Raspberry Pi 5 16GB
  • NVMe SSD 256GB
  • Wazuh Manager v4.14.5
  • 監視対象: Linux 3台 + Windows 1台

電源やケース、冷却は構成により変わるので、型番はここでは固定しません。まずはRasPi 5 16GBNVMe SSDを押さえるのが先です。この監視サーバーを含む自宅ラボ全体の実機構成は Homelab実機ビルド一覧 にまとめています。

RasPi 5 上の Wazuh Manager が Linux サーバー3台と Windows PC 1台を監視し、重要アラートだけを LINE に通知する監視トポロジ図。4.5ヶ月無停止・メモリ約2.7GB RasPi 5 が監視のハブ: 4台のエージェントから集めて、重要なものだけ LINE へ。

この組み合わせで、Wazuh一式(Manager / Indexer / Dashboard)を4.5ヶ月運用できています。RasPi 5で監視サーバーを立てると聞くと、最初は少し無茶に見えるかもしれません。正直、私も最初はそう思いました。

でも、実測では話が違いました。

4.5ヶ月運用して分かったこと

2026-06-04時点の実測では、Wazuh一式のメモリ使用量は約2.7GBでした。うち、IndexerのJavaが1.58GB。CPUのload averageは0.50、CPU温度は56.2°C、15日連続稼働でも余裕ありです。

16GB版のRaspberry Pi 5なら、少なくともこの規模では苦しくありません。

ここで重要なのは、スペック表の安心感ではなく、実際に回っているかです。ホームラボは「動く」だけなら簡単ですが、「忘れた頃も動いている」が本番です。その意味で、4.5ヶ月の無停止運用は判断材料になります。

実例① OOMで「なんか落ちた」が「何が・いつ・なぜ」に変わった

これが一番大きかったです。

ある日、ワークステーションでメモリが枯渇し、OOM Killerがパスワードマネージャ(2.7GB)Chromeを強制終了しました。ついでにtmuxセッションも2つ巻き添えです。現場では、こういう時に「また変なことが起きた」で終わりがちです。

でもWazuhが、rule 5108 / Level 12でリアルタイム検知しました。LINE通知が飛び、翌日にログを追ってみると、原因はメモリリーク + swap不足でした。

その後は、swapを8GB→16GBに増やして恒久対処。

これは大きな収穫でした。EDR的な監視があると、単なる「落ちた」が、**「何が・いつ・なぜ」**に変わります。記憶や勘ではなく、事実をログの時系列で並べて原因にたどり着けるのです。これが分かるだけで、復旧の速さも、再発防止の精度も変わります。

実例② CVEの見逃しを減らす使い方

Wazuhは、パッケージ更新のたびに脆弱性DBと突合して、該当CVEを通知できます。実際、CVE-2026-31448 などが rule 23506 / Level 13 で自動通知されました。

ここで大事なのは、Wazuhが「脆弱性がある」と教えてくれるだけで、修正を魔法のように済ませるわけではない点です。通知は入口です。そこから

  • 影響範囲はどこか
  • そのパッケージは本当に使っているか
  • その場で上げてよいか
  • 代替や待機が必要か

を判断します。

脆弱性の個別対応は長くなるので、詳しくは Wazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】BlogWazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】Wazuhの脆弱性ダッシュボードに「3,247件」と表示された。焦ったが、分解してみると数字の正体はシンプルだった。旧カーネル・謎のThunderbird・CVSS 9.8の正体——自宅ラボ実録。 に分けています。

一番つまずいたのは導入手順ではなくARM64の構成だった

Raspberry Pi 5はARM64です。ここで、WazuhのDocker構成は動きませんでした。少なくとも私の環境では、ここが最初の罠でした。

結論だけ言うと、debパッケージの直接インストールが正解でした。systemdサービス3本で組む構成です。

このあたりは構築記事に詳しく書いていますが、本記事で覚えておくべきなのは1点だけです。RasPi 5でWazuhをやるなら、Docker前提で考えない方が早い。これだけです。

ノイズは多い。だから2段フィルタが要る

Wazuhは便利ですが、静かな監視ツールではありません。むしろ、正常な変更も全部拾うので、最初は驚きます。

私の1日実測では、

  • FIM Integrity checksum changed762件/日
  • dpkg 系が 281件/日

という具合でした。apt upgrade を1回回すだけで、FIMが数百件発火することがあります。

ここで「うるさいから失敗」と切るのは早いです。Wazuhは、異常だけでなく変更の記録装置でもあります。だから通知をそのまま全部飛ばすと、人間が先に疲れます。

運用のコツは、2段フィルタです。

  1. LINE通知は Level 12+ のみ
  2. さらに 30分クールタイム を入れる

これで、通知は月数件まで圧縮できました。

Wazuh のアラートを2段フィルタで圧縮するフロー図。1日762件のアラートを Level 12以上のみに絞り、さらに30分クールタイムをかけて、LINE 通知は月数件まで減らす 2段フィルタの仕組み: 762件/日の洪水を、LINE に届くのは月数件まで圧縮。

誤検知というより、正常な変更も全部記録されるのが本質です。ここを理解していないと、「役に立つのに疲れる」という、いちばんもったいない状態になります。

SCAスコアが思ったほど高くなくても焦らない

CIS Ubuntu 24.04 のSCAスコアは、私の環境では 48〜53% でした。

数字だけ見ると低く感じますが、内訳を見ると、failの大半は

  • 独立パーティション未分離
  • mount オプション系

でした。

ホームラボでこれを全部厳格適用すると、別の問題が出ます。たとえば AI サーバーで /tmp noexec を強くかけると、PyTorch系が壊れることがあります。

つまり、SCAは点数を上げる競技ではありません。自分の用途に合わせて、どこを守り、どこを緩めるかを見るものです。

スコアが低いからダメ、ではなく、何が理由で低いのかを見て判断してください。

判断の目安: こういう人には合う

Wazuhは、次のような人にはかなり相性がいいです。

  • 自宅サーバーやVPSの異常を、あとから説明できる形で残したい
  • 商用EDRは高くて手が出ないが、監視は欲しい
  • Linuxの変更や脆弱性を、1台にまとめて見たい
  • ノイズを許容してでも、見える化を優先したい

逆に、

  • 自動隔離や自動遮断が必須
  • 通知の少なさを最優先したい
  • 導入後のチューニングに時間を使いたくない

なら、Wazuh単体では期待値がずれます。

次にやること

この記事の結論はシンプルです。個人のLinuxならWazuhで無料のEDR的監視は現実的に持てる。そして、RasPi 5一台で4台監視が4.5ヶ月回っている。ただし、商用EDRの完全代替ではない

次にやることは3つです。

  1. 自分の環境で「何を見たいか」を決める
  2. RasPi 5 16GB + NVMe SSD で回す前提を固める
  3. まずは Level 12+ の通知だけに絞って運用する

構築でつまずいたら RasPi 5にWazuhを入れたら、Dockerが死んだ話——自宅セキュリティ監視の実録BlogRasPi 5にWazuhを入れたら、Dockerが死んだ話——自宅セキュリティ監視の実録RasPi 5(ARM64)にWazuhをDocker Composeで構築しようとしたらIndexerが落ちて失敗。直接インストールに切り替えた実録。3台を監視したらCritical脆弱性が203件出てきた話。 に進んでください。脆弱性の見方は Wazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】BlogWazuhを入れたら脆弱性が3,247件検出された話【RasPi 5 自宅ラボ セキュリティ実録 #2】Wazuhの脆弱性ダッシュボードに「3,247件」と表示された。焦ったが、分解してみると数字の正体はシンプルだった。旧カーネル・謎のThunderbird・CVSS 9.8の正体——自宅ラボ実録。、自動化の方向性は WazuhとClaude Codeを繋いだら、CVE調査と修正提案が自動化できた【自宅ラボ セキュリティ実録 #3】BlogWazuhとClaude Codeを繋いだら、CVE調査と修正提案が自動化できた【自宅ラボ セキュリティ実録 #3】Wazuh REST APIでCVEリストを取得し、Claude Codeに渡したら調査と修正コマンド生成が自動化できた。93件のCriticalを手動で追っていた状態からの脱出実録。 が役立ちます。

監視の足場ができたら、次は認証情報も自宅に置きたくなるはずです。その時は パスワードも SSH 鍵も、自宅に置いておく——Vaultwarden + Bitwarden SSH Agent で作る個人セキュリティ基盤Blogパスワードも SSH 鍵も、自宅に置いておく——Vaultwarden + Bitwarden SSH Agent で作る個人セキュリティ基盤クラウドパスワードマネージャーへの不安と ~/.ssh/ ファイル管理の煩雑さを、Vaultwarden(RasPi 5 Docker)と Bitwarden SSH Agent の組み合わせで解決した実録。GNOME Keyring の競合解消・毎回確認ダイアログによるプロンプトインジェクション対策・snap バージョン非依存のソケット設定まで解説。 へどうぞ。

最後にもう一度だけ。無料でできるのは、監視の入口を持つことです。完全防御ではありません。でも、個人運用では、その入口があるだけで事故の見え方がかなり変わります。

注意点・制約

  • OS・ライブラリのバージョンが異なると手順が変わる場合があります。
  • 本番環境への適用前にテスト環境で動作を確認してください。

どのように検証したか

  • 記事の手順を実際に実行して動作を確認しています。
  • コマンドの出力例は実際の実行結果を掲載しています。

よくある質問

手順通りに進めても動かない場合は?

エラーメッセージをそのままコピーして検索すると解決策が見つかることが多いです。バージョン違いが原因のケースも多いため、前提条件を再確認してください。

どのOSで動作確認していますか?

記事内に記載の環境で確認しています。他のOSでの差異は適宜読み替えてください。

参考リンク

関連記事

この記事を書いた人

HW系エンジニアとして20年以上、10,000件を超える顧客訪問と2,000件を超える単独ソリューション実績。AIツールを使った個人開発やIoT農園など、Raspberry Piを使ったオートメーション化なども実践中です!エンジニア専門結婚相談所も運営中、ClaudeCodeで解決できない心の課題も解決いたします!

PowerShellでVCP 0x60を書き換え、KVMホットキー切替はWindowsも外部ツール不要
2026年7月13日
開発ログ

PowerShellでVCP 0x60を書き換え、KVMホットキー切替はWindowsも外部ツール不要

メーカー案内がないKVMモニターの入力切替を、GNOME・ddcutil・PowerShell標準APIで実装する手順と検証範囲を整理します。

#KVM#ddc/ci#powershell#gnome#wayland
パスワードも SSH 鍵も、自宅に置いておく——Vaultwarden + Bitwarden SSH Agent で作る個人セキュリティ基盤
2026年3月23日
開発ログ

パスワードも SSH 鍵も、自宅に置いておく——Vaultwarden + Bitwarden SSH Agent で作る個人セキュリティ基盤

クラウドパスワードマネージャーへの不安と ~/.ssh/ ファイル管理の煩雑さを、Vaultwarden(RasPi 5 Docker)と Bitwarden SSH Agent の組み合わせで解決した実録。GNOME Keyring の競合解消・毎回確認ダイアログによるプロンプトインジェクション対策・snap バージョン非依存のソケット設定まで解説。

#vaultwarden#Bitwarden#ssh#password-manager#self-hosted
WazuhとClaude Codeを繋いだら、CVE調査と修正提案が自動化できた【自宅ラボ セキュリティ実録 #3】
2026年3月12日
開発ログ

WazuhとClaude Codeを繋いだら、CVE調査と修正提案が自動化できた【自宅ラボ セキュリティ実録 #3】

Wazuh REST APIでCVEリストを取得し、Claude Codeに渡したら調査と修正コマンド生成が自動化できた。93件のCriticalを手動で追っていた状態からの脱出実録。

#Wazuh#Claude Code#CVE#セキュリティ#自動化
Claude Code 音声入力、日本語で動かすまでの3ステップと1つの壁
2026年3月4日
開発ログ

Claude Code 音声入力、日本語で動かすまでの3ステップと1つの壁

Claude Code の /voice が日本語非対応だったため whisper.cpp で自前の音声入力を作った記録。文字起こしは成功したが、Wayland の壁で Claude Code への直接統合は断念。失敗から学べることをまとめた。

#claude-code#whisper-cpp#voice-input#wayland#linux

META-MARK × セキュリティ

関連する記事をもっと読みますか?

自作PC・AI・セキュリティ・ホームラボについて、実際に動かした記録を書いています。