Wazuh公式OVAを使って、VirtualBox上に検証環境を最短で構築する手順を解説します。初心者の方でも迷わず進められるよう、わかりやすく丁寧に紹介します。
はじめに
みなさんこんにちは。
突然ですが、Wazuh(ワズー)をご存じでしょうか?
Wazuhは、世界中で広く利用されているオープンソースのSIEM / XDRプラットフォームです。ログ管理や脅威検知、セキュリティ監視をまとめて行える多機能なソフトウェアであり、無償で利用できる点も大きな特徴です。
一方で、「構築が難しそう」「環境準備が大変そう」と感じて、興味はあるもののまだ試せていない方も多いのではないでしょうか。
現在では、インフラの構築や管理を行わずに利用できる「Wazuh Cloud」(有償のクラウドサービス)といった選択肢もありますが、まずは実際に環境を構築しながら仕組みを理解したいという方もいらっしゃると思います。
そこで本記事では、Wazuh公式の仮想マシンイメージ(OVA)を利用し、手軽に検証環境を構築する手順をご紹介します。
本記事について
本記事では、Wazuh公式のOVAを使用し、Windows 11 + VirtualBox環境上にWazuh v4.14.5を構築する手順を説明します。
本記事は、Wazuh, Inc. のオンラインドキュメント「Virtual machine (VM)」を参考にして作成しています。本記事に関するお問い合わせは、弊社のお問合せフォームよりご連絡ください。記事の作成にあたっては正確な記述に努めましたが、本記事の内容に基づくいかなる運用結果に関して、 一切の責任を負いかねます。ご了承ください。
⚠ 注意
Wazuh仮想マシンは、Wazuhの学習または検証目的での使用を想定しています。本番環境での使用は想定されていません。
前提条件
本記事の環境
本記事では、以下の環境を前提としています。
- OS:Windows 11
- 仮想化ソフト:Oracle VirtualBox 7.2
- Wazuh公式の事前構築済み仮想マシンイメージ(wazuh-4.14.5.ova)を使用します。
- Wazuh仮想マシンに固定IPアドレスを割り当てます。検証利用可能なIPアドレスをご準備ください。
ⓘ 補足
この記事ではOracle VirtualBoxを使用しますが、他の仮想化環境をご利用いただいても構いません。
Wazuh v4.14.5仮想マシン仕様
Wazuh v4.14.5の仮想マシンイメージは、以下の仕様で構成されています。
- OS:Amazon Linux 2023
- CPU(コア数): 4
- RAM:8GB
- ディスク容量:25GB
ⓘ 補足
バージョンによって仕様が異なる場合があります。
ハードウェア要件
Wazuh仮想マシンイメージをホストOSにインポートする前に、 ご利用の環境が以下の要件を満たしていることを確認してください。
- ホストOSがx86_64 / AMD64アーキテクチャの64ビット版であること
- ホストファームウェアでハードウェア仮想化が有効になっていること
- ホストシステムにVirtualBoxなどの仮想化プラットフォームがインストール済みであること
ネットワーク要件
Wazuh仮想マシンは、以下のポートを使用します。
- 1514/tcp:エージェントとの通信
- 1515/tcp:エージェント登録
- 55000/tcp:WazuhサーバーのRESTful API
- 9200/tcp:WazuhインデクサーのRESTful API
- 443/tcp:Webダッシュボードへのアクセス
⚠ 注意
ファイアウォールやネットワーク機器により通信が遮断されている場合、正常に動作しません。事前に通信経路を確認してください。
ⓘ 補足
本記事はエージェントのインストール、登録手順の解説は含みません。
インストール
Wazuh仮想マシンイメージ(OVA)をVirtualBoxへインポートし、起動します。
Wazuh仮想マシンイメージ(OVA)の準備
Wazuh社のサイトからWazuh仮想マシンイメージ(OVA)をダウンロードします。
- wazuh-4.14.5.ova :
https://packages.wazuh.com/4.x/vm/wazuh-4.14.5.ova - sha512:
https://packages.wazuh.com/4.x/checksums/wazuh/4.14.5/wazuh-4.14.5.ova.sha512
ⓘ 補足
最新バージョンは 公式サイト から入手してください。
VirtualBoxへのインポート
Wazuh仮想マシンイメージ(OVA)をVirtualBoxへインポートします。
- VirtualBoxを起動します。
- 「ファイル」→「仮想アプライアンスのインポート」を選択します。
- 「ソース」→「ファイル」欄でダウンロードしたOVAファイルを選択します。

- 「設定」をクリックして展開します。
- 必要に応じて「名前」を変更します。
- 必要に応じて「MACアドレスのポリシー」を「すべてのネットワークアダプターでMACアドレスを生成」に変更します。

⚠ 注意
このOVAファイルで複数のWazuhを構築する可能性がある場合は「すべてのネットワークアダプターでMACアドレスを生成」を選択してください。 - 「完了」を選択します。
- インポートが完了するまで待ちます。
仮想マシン設定の変更
Wazuh仮想マシンの設定を変更します。
- VirtualBoxマネージャーの左側で、インポートしたWazuh仮想マシンを右クリックし、「設定」を選択します。
- 「ディスプレイ」セクションに移動し、「グラフィックスコントローラー」を「VMSVGA」に変更します。

- 「ストレージ」セクションに移動し、ディスク(.vdi)を選択してサイズを確認します。
ⓘ 補足
ファイル名はバージョンにより異なります。
デフォルトの仮想ディスクサイズは 25GB です(バージョンにより異なる場合があります)。ⓘ 補足
容量が不足する場合は拡張してください。手順は「(任意)ディスク拡張」を参照してください。 - 「ネットワーク」セクションに移動し、「アダプター1」タブで「ブリッジアダプター」が設定されていることを確認します。
- 「OK」 を選択して設定を保存します。
(任意)ディスク拡張
Wazuh v4.14.5仮想マシンのデフォルトディスク容量は25GBです。学習用途や小規模な検証であれば問題ありませんが、ログ量が多い環境では不足する可能性があります。必要に応じてディスク容量の拡張を行ってください。
ⓘ 補足
この作業は必須ではありません。
ⓘ 補足
本記事ではOracle VirtualBox 7.2を使用しています。 バージョンにより画面が異なる場合があります。
- VirtualBoxで「ファイル」→「ツール」→「メディア」を選択します。
- 一覧からWazuh仮想マシンのディスク(.vdi)を選択します。
- スライダーまたは数値入力でサイズを変更します。
ⓘ 補足
上図では例として50GBに設定しています。 - 「適用」を選択します。
- 「ファイル」→「ツール」→「仮想マシン」を選択し、元の画面に戻ります。
仮想マシンの起動
Wazuh仮想マシンを起動します。
- Wazuh仮想マシンを選択し、「起動」を選択します。
- 起動が完了するまでしばらく待ちます。
- Welcomeメッセージ、Wazuhバージョン、ログイン情報が表示されます。

ⓘ補足
デフォルトのユーザー名とそのパスワードを確認してください。
ここまでで、Wazuh仮想マシンイメージのインポートおよび起動が完了しました。
次に、Wazuh仮想マシンの初期設定を行います。
初期設定
ここでは次の作業を行います:
初回ログイン
Wazuh仮想マシンのデフォルトユーザーでログインします。
login: wazuh-user
Password: wazuh

💡 ヒント
wazuh-user は sudo 権限を持ちます。 sudo -i コマンドで root にスイッチできます。
キーボード日本語化
Wazuh仮想マシンは、デフォルトで英語配列が適用されています。日本語キーボード環境での入力ミスを防ぐため、キーボード配列を日本語に変更します。
- 次のコマンドを実行し、現在のkeymapを確認します。
localectl status
- 日本語配列に変更します。
sudo localectl set-keymap jp - 再度確認します。
以下のように表示されれば成功です。localectl statusVC Keymap: jp
デフォルトパスワードの変更
デフォルトユーザーのパスワードを変更します。
⛔警告
Wazuh仮想マシンのデフォルトユーザーのパスワードは、セキュリティの観点から必ず変更してください。
- パスワードを変更します。
passwd実行例

ⓘ 補足
–Current password: 現在のパスワード
–New password: 新しいパスワード
–Retype new password: 新しいパスワード(確認用) - 新しいパスワードでログインできることを確認するため、一旦ログアウトします。
exit - 新しいパスワードでログインします。
login: wazuh-user
Password: 新しいパスワード
固定IPアドレスの設定
ブリッジアダプタインターフェイスに固定IPアドレスを設定します。
ⓘ 補足
デフォルトでは、DHCPによりIPアドレスが取得されます。本手順では固定IPアドレスを設定する手順を説明します。Wazuh仮想マシンに割り当てるIPアドレスをご準備ください。
- 次のコマンドを実行して現在のネットワーク状態を確認します。
ip a
この例の場合は、eth0にIPアドレスを割り当てます。 - 設定ファイルを編集します。
固定IPアドレスを設定します。sudo nano /etc/systemd/network/20-eth0.network[Match] Type=ether Name=eth0 [Network] Address=<IPアドレス/サブネットマスクのビット数(例: /24)> Gateway=<ゲートウェイのIPアドレス> DNS=<DNSサーバーのIPアドレス> - ファイルを閉じて保存します。
- 設定を反映します。
sudo systemctl restart systemd-networkd - 確認します。
ip a
eth0に指定したIPアドレスが設定されていれば成功です。
ⓘ 補足
上の例ではeth0に192.168.63.80を割り当てています。ご自身が設定したIPアドレスが表示されたことを確認してください。
(任意)SSH接続
仮想マシンにIPアドレスを割り当てたので、以降はWazuh仮想マシンへのSSH接続が可能になります。必要に応じて、SSH接続してください。
ssh wazuh-user@<Wazuh仮想マシンのIPアドレス>
💡 ヒント
以降の作業は、SSH接続から実施可能です。
ⓘ 補足
rootのSSHログインは無効化されています。
タイムゾーン設定
- 次のコマンドを実行し、現在のタイムゾーン設定を確認します。
timedatectl
- タイムゾーンを設定します。
sudo timedatectl set-timezone Asia/Tokyo - 設定を確認します。
timedatectl
時刻同期設定
必要に応じてNTPサーバーを変更します。
ⓘ 補足
ここでは日本国内のNTPサーバーへ変更する手順を説明します。 ご利用環境に合わせてNTPサーバーを設定してください。
- 次のコマンドを実行し、現在使用中のNTPサーバーを確認します。
chronyc sources
💡 ヒント
^* がついたサーバーが使用されています。 - 次のコマンドを実行し、設定ファイルを編集します。
次の行の先頭に # を追加し、設定をコメントアウトします。sudo nano /etc/chrony.conf#sourcedir /run/chrony.d …(中略) #sourcedir /etc/chrony.d
- 使用するNTPサーバーを追加します。
例:server ntp.nict.jp iburst
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
💡 ヒント
ご利用環境に応じて使用するNTPサーバーを設定してください。 - ファイルを保存して閉じます。
- 競合ファイルを削除します。
sudo rm -f /run/chrony.d/ntp-pool.sources - NTP設定の自動生成を防ぐため、
USE_AMAZON_NTP_POOLを無効化します。
設定ファイルを開きます。sudo nano /etc/sysconfig/chronydUSE_AMAZON_NTP_POOLを見つけて以下のように変更します。USE_AMAZON_NTP_POOL="no"
- ファイルを保存して閉じます。
- chronyd サービスを再起動します。
sudo systemctl restart chronyd - 反映を確認します。
chronyc sources
💡 ヒント
設定したNTPサーバーが表示されたことを確認します。 - 時刻の同期状態を確認します。
chronyc tracking
💡 ヒント
「Leap status : Normal」と表示されれば、正常に同期されています。 - 時刻を確認します。
timedatectl
💡 ヒント
表示された時刻が現在時刻と一致していることを確認します。
動作確認
Wazuh仮想マシンの初期設定が完了したので、Wazuhが正常に動作していることを確認します。
Wazuhサービス確認
Wazuhのサービスが起動していることを確認します。
- wazuh-managerサービスがactiveであることを確認します。
sudo systemctl status wazuh-manager
- wazuh-indexerサービスがactiveであることを確認します。
sudo systemctl status wazuh-indexer
- wazuh-dashboardサービスがactiveであることを確認します。
sudo systemctl status wazuh-dashboard
ポート確認
必要なポートがリッスン状態であることを確認します。
ss -tuln | grep -E "1514|1515|55000|9200|443"

Web UI 確認
ブラウザで以下にアクセスします。
https://<Wazuh IPアドレス>
ⓘ 補足
初回アクセス時は自己署名証明書による警告が表示されます。
Google Chrome の場合:
「詳細設定」→「xxx.xxx.xxx にアクセスする (安全ではありません)」 を選択します。
ⓘ 補足
ブラウザにより、表示内容は異なりますが、同様の操作を行ってください。


ログイン画面が表示されました。

Web UI へのログイン
ログイン画面で以下を入力し、「Log in」を選択します。
Username : admin
Password : admin
ログイン後、Overview ページが表示されます。
Web UI パスワード変更
Wazuh Web UIのデフォルト管理ユーザー(admin)のパスワードを変更します。
⛔警告
デフォルトパスワードはセキュリティの観点から必ず変更してください。
💡 ヒント
adminユーザーのパスワードはWeb UI上からは変更できません。
- adminユーザーに新しいパスワードを設定します。
ターミナルで次のコマンドを実行します。sudo bash /usr/share/wazuh-indexer/plugins/opensearch-security/tools/wazuh-passwords-tool.sh -u admin -p '<新しいパスワード>'ⓘ 補足
<新しいパスワード> は、任意のパスワードに置き換えてください。
- 関連サービスを再起動します。
sudo systemctl restart wazuh-indexer
sudo systemctl restart wazuh-manager
sudo systemctl restart wazuh-dashboard
sudo systemctl restart filebeat - 変更後のパスワードでログインできることを確認してください。
ⓘ 補足
Wazuh Web UIへログインし直してください。💡 ヒント
{"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred."}というメッセージが表示された場合は、一度ブラウザを閉じてから開きなおし、Wazuh Web UIへログインしてください。
これでWazuhを使用できるようになりました。
再起動テスト
再起動後も設定が維持されることを確認します。
- Wazuhサーバーのコンソールまた SSH ターミナルから次のコマンドを実行します。
sudo reboot - 再起動後、デフォルトユーザー(wazuh-user)でログインします。
ⓘ 補足
変更後のパスワードを使用してください。 - 次のコマンドを実行します。
ip a ip route timedatectl chronyc sources - 以下を確認します。
- IPアドレスが変更されていないこと
- デフォルトゲートウェイが維持されていること
- タイムゾーンが変更されていないこと
- 時刻同期が有効であること
- NTP サーバー設定が変更されていないこと
トラブルシューティング
よく発生する問題と対処方法を示します。
Web UIにアクセスできない場合
サービス状態を確認してください。
systemctl status wazuh-manager
systemctl status wazuh-dashboard
systemctl status wazuh-indexer
Wazuhサービスが起動していない場合は、次を実行してサービスを再起動します。
- サービスを順に停止します。
sudo systemctl stop wazuh-dashboard sudo systemctl stop wazuh-manager sudo systemctl stop wazuh-indexer - サービスを順に起動します。
sudo systemctl start wazuh-indexer sudo systemctl start wazuh-manager sudo systemctl start wazuh-dashboard - サービスが起動していることを確認します。
sudo systemctl status wazuh-manager
sudo systemctl status wazuh-indexer
sudo systemctl status wazuh-dashboard
IPアドレスが再起動後に変わる場合
cloud-init が有効化されている場合は、無効化してください。
ⓘ 補足
Wazuh v4.14.5 OVAではデフォルトでcloud-initは無効化されていますが、バージョンによっては有効な場合があります。
- cloud-initの状態を確認します。
cloud-init status💡 ヒント
status: disabledであれば無効化されています。手順 4 に進んでください。 - 無効化されていない場合は、次のコマンドを実行して無効化します。
sudo touch /etc/cloud/cloud-init.disabled - システムを再起動します。
sudo reboot - それでもIPアドレスが変わる場合は、以下の点を確認してください。
- ネットワーク設定がDHCPになっていないか
sudo cat /etc/systemd/network/20-eth0.network - インターフェイス名が正しいか
ip a - systemd-networkd が
activeかsystemctl status systemd-networkd
- ネットワーク設定がDHCPになっていないか
スナップショットの取得
ここまでの作業が完了したら、VirtualBoxでスナップショットを取得し、現在の状態を保存しておくことをおすすめします。
- 仮想マシンをシャットダウンします。
sudo shutdown -h now - シャットダウン後、VirtualBoxでWazuh仮想マシンを選択して「スナップショット」→「作成」を選択します。
💡 ヒント
トラブル発生時にこの状態へ簡単に戻すことができます。
次のステップ
ここまでの作業により、Wazuhによる基本的な監視環境を利用できるようになりました。
次のステップとして、監視対象の端末にWazuhエージェントをインストールし、ログ収集およびセキュリティ監視を開始してみてください。
さいごに
本記事では、Wazuh公式の仮想マシンイメージ(OVA)を利用し、Windows 11 + VirtualBox環境にWazuhを構築する手順を解説しました。
一方で、
- インフラの構築や管理を行わずにすぐに利用したい
- 短時間で環境を立ち上げてすぐに試したい
- 将来的な運用を見据えてスムーズに導入したい
といった、より手軽にWazuhを利用したいケースもあるかと思います。
そのような場合には、Wazuhが提供するクラウドサービス「Wazuh Cloud」の利用も有力な選択肢となります。
Wazuh Cloudはインフラ構築不要で利用を開始できるため、サーバーの準備や設定作業を行うことなく、すぐにWazuhの機能を試すことができます。
まずは本記事の手順で基本的な構成を理解し、その次のステップとして、Wazuh Cloudの無料トライアルを試してみてはいかがでしょうか。
Wazuh製品紹介ページ
Wazuhの特長や機能については、以下の製品紹介ページをご参照ください。
Wazuh Cloud無料トライアル
Wazuh Cloudの無料トライアルについては、以下よりお気軽にお問い合わせください。


