MENU

Wazuh入門|オープンソースSIEM・HIDSでLinuxサーバーの脅威を検知する実践設定ガイド

「サーバーで何かが起きていても、誰も気づかなければ対処できない。」

セキュリティインシデントの多くは、侵入後しばらくの間、被害者側が気づかないまま進行します。ファイルが書き換えられ、バックドアが仕掛けられ、情報が少しずつ外部に送信される──気づいたときには手遅れ、というケースが後を絶ちません。

この記事では、オープンソースのセキュリティ監視プラットフォーム「Wazuh(ワズー)」について、アーキテクチャの仕組みから実際のインストール・設定手順まで、現場で使えるレベルで解説します。HIDS(ホスト型侵入検知)からSIEMとしてのログ統合分析まで、1つのプラットフォームで幅広くカバーできる点が大きな特長です。

Wazuh入門|オープンソースSIEM・HIDSでLinuxサーバーの脅威を検知する実践設定ガイド - 解説

目次

Wazuhとは?──オープンソースの統合セキュリティ監視プラットフォーム

Wazuh(ワズー)は、LinuxやWindowsのサーバー・端末にエージェントをインストールして、セキュリティイベントをリアルタイムに収集・分析するオープンソースのセキュリティプラットフォームです。世界で数十万以上のデプロイ実績があり、Apache 2.0ライセンスのもとで無料で利用できます。

1つのプラットフォームでカバーする機能はこちらです。

・HIDS(ホスト型侵入検知): エージェントがシステムログ・コマンド実行・ネットワーク接続を監視し、不審な動作を検知します
・FIM(ファイル整合性監視): 重要ファイルのハッシュ値を定期的に比較し、改ざんを即座に検出します
・ログ解析・SIEM: syslog・auditd・Webサーバーログなどを集中管理し、相関ルールで脅威を浮き彫りにします
・脆弱性スキャン: インストール済みパッケージをNVDのCVEデータと突合し、パッチ未適用の脆弱性を一覧表示します
・コンプライアンスチェック: PCI DSS・GDPR・HIPAA等の要件に対する設定適合状況を自動で確認します
・アクティブレスポンス: 検知内容に応じて自動でIPブロックやプロセス停止などの応答を実行します

有償SIEMソリューションが数百万円規模になる中、Wazuhはオープンソースとして同等以上の機能を無料で提供します。「ログを集めたいが予算がない」という情シスにとって、最初に検討すべきツールの1つです。

Wazuhのアーキテクチャ

Wazuhは4つのコンポーネントで構成されます。

コンポーネント 役割 インストール先
Wazuh Manager エージェントからのデータを受信・分析してアラートを生成する中枢 管理サーバー
Wazuh Agent 監視対象にインストール。ログ・イベントを収集してManagerへ送信 各監視対象サーバー
Wazuh Indexer OpenSearchベースのデータストア。アラートと生ログを蓄積・検索可能に 管理サーバー(同居可)
Wazuh Dashboard OpenSearch Dashboardsベースの可視化UI。アラートやFIM結果を閲覧 管理サーバー(同居可)

小規模環境では、Manager・Indexer・DashboardをすべてVPSやクラウドの1台のサーバーに同居させ、Agentを各監視対象サーバーに配置するシンプルな構成が現実的です。エージェントとManagerの通信はデフォルトで1514番ポート(TCP)を使用するため、ファイアウォールでこのポートの受信を許可する設定が必要です。

Wazuhのインストール手順

1. Wazuh Manager(管理サーバー側)のインストール

Wazuhは公式のインストールスクリプト(Quick Start)を提供しています。新規のAlmaLinux 9やUbuntu 22.04のサーバー上で以下を実行します。公式ドキュメント(documentation.wazuh.com)から最新の手順を確認してから実行することを推奨します。

# 公式インストールスクリプトをダウンロード curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh curl -sO https://packages.wazuh.com/4.x/config.yml # config.yml でノード名とIPアドレスを環境に合わせて設定後、実行 sudo bash wazuh-install.sh -a # インストール完了後、初期パスワードを確認 sudo tar -axf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt -O

インストール後、ブラウザで https://<ManagerのIPアドレス> にアクセスするとWazuh Dashboardが起動します。自己署名証明書のため初回は警告が表示されますが、そのまま進んで構いません。本番運用前に正式なTLS証明書への置き換えを推奨します。

2. Wazuh Agentのインストール(Linuxサーバー)

監視したい各Linuxサーバーにエージェントをインストールします。ディストリビューションごとにコマンドが異なります。

# RHEL/CentOS/AlmaLinux の場合(RPMパッケージ) # WAZUH_MANAGERにはManagerサーバーの実際のIPを指定 WAZUH_MANAGER="192.168.1.100" \ WAZUH_AGENT_NAME="web-server-01" \ rpm -ihv https://packages.wazuh.com/4.x/yum/wazuh-agent-4.x86_64.rpm # Ubuntu/Debian の場合 curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add - echo "deb https://packages.wazuh.com/4.x/apt/ stable main" \ | tee /etc/apt/sources.list.d/wazuh.list apt-get update WAZUH_MANAGER="192.168.1.100" \ WAZUH_AGENT_NAME="web-server-01" \ apt-get install -y wazuh-agent # エージェントを起動して自動起動を有効化 sudo systemctl start wazuh-agent sudo systemctl enable wazuh-agent

WAZUH_MANAGER にはWazuh ManagerサーバーのIPアドレスを設定します。WAZUH_AGENT_NAME は監視対象を識別しやすい名前をつけてください(例: web-server-01、db-server など)。

3. エージェント接続の確認

Manager側でエージェントの接続状態を確認します。

# Managerサーバー上で実行 sudo /var/ossec/bin/agent_control -l # 出力例: # Wazuh agent_control. List of available agents: # ID: 000, Name: wazuh-manager, IP: 127.0.0.1, Active/Local # ID: 001, Name: web-server-01, IP: 10.0.0.5, Active

Active と表示されていれば、エージェントは正常に動作しています。Never connected の場合は、ファイアウォールの1514番ポート開放とManagerのIPアドレス設定を再確認してください。

主要機能の設定

1. ファイル整合性監視(FIM)の設定

FIMは重要ファイルへの変更を検知する機能です。監視対象サーバーの設定ファイル /var/ossec/etc/ossec.conf を編集して、監視ディレクトリを追加します。

# /var/ossec/etc/ossec.conf の <syscheck> セクション内に追加 # realtime="yes" でファイル変更をほぼリアルタイムに検知 # report_changes="yes" で変更差分もアラートに含める <directories check_all="yes" report_changes="yes" realtime="yes"> /etc,/usr/bin,/usr/sbin,/var/www/html </directories> # 頻繁に変わるファイルは除外してノイズを減らす <ignore>/etc/mtab</ignore> <ignore>/etc/hosts.deny</ignore>

realtime="yes" を指定するとファイル変更をほぼリアルタイムに検知します。report_changes="yes" を付けると変更差分もアラートに含まれるため、何が変わったかをすぐに把握できます。

2. ルールカスタマイズの基本

Wazuhには3,000件以上のデフォルトルールが用意されています。環境固有の検知ルールを追加する場合は、/var/ossec/etc/rules/local_rules.xml に記述します。デフォルトルールファイルを直接編集すると、バージョンアップ時に上書きされます。このローカルファイルに追記するのが鉄則です。

# /var/ossec/etc/rules/local_rules.xml # sudoでbashを直接起動するケースを検知(特権昇格の可能性) # カスタムルールIDは100,000以上を使う(デフォルトルールと競合しない範囲) <group name="local,sudo,"> <rule id="100001" level="10"> <if_group>sudo</if_group> <match>COMMAND= /bin/bash</match> <description>sudo経由でのbash直接起動を検知(特権昇格の可能性)</description> </rule> </group>

level が7以上のアラートはデフォルトでダッシュボードに表示されます。10以上は重要度「高」として通知対象になります。

3. アクティブレスポンス(自動対応)

Wazuhはアラート発生時に自動でアクションを実行できます。代表例はSSHブルートフォース攻撃元のIPを自動ブロックする設定です。

# /var/ossec/etc/ossec.conf の <active-response> セクション # SSHブルートフォース検知(ルールID 5763)に反応してIPをブロック # timeout=600 で600秒(10分)後に自動解除 <active-response> <command>firewall-drop</command> <location>local</location> <rules_id>5763</rules_id> <timeout>600</timeout> </active-response>

アクティブレスポンスは強力な機能ですが、誤検知で正規のIPをブロックするリスクがあります。最初は timeout を短く設定し、ブロック対象ルールを絞った上で慎重に運用することを推奨します。

Wazuh Dashboardで確認できる主要画面

インストール後にDashboardで確認できる代表的な画面を紹介します。

・Security Alerts: リアルタイムで届くアラートの一覧。重要度・ルール名・発生元エージェントが一目でわかります
・FIM Monitoring: ファイル変更イベントの履歴。「誰がいつどのファイルを変えたか」が時系列で追跡できます
・Vulnerability Detection: 各エージェントにインストール済みパッケージの既知CVEを重要度別に一覧表示します
・MITRE ATT&CK: 検知したアラートをMITRE ATT&CKの戦術・技術にマッピングして可視化します
・Security Configuration Assessment: CIS Benchmarkに基づいた設定適合率をエージェント別にスコア表示します

ダッシュボードから直接アラートの詳細を確認し、関連するログを掘り下げることができます。SIEMとしての基本機能はダッシュボード上でほぼカバーされています。

既存のauditdログから侵入痕跡を見抜く実践ガイドで紹介しているauditdのログも、WazuhのFIM・ログ解析機能と組み合わせることで、さらに精度の高い検知体制を構築できます。

中小企業でも今日からできること

Wazuhは「全機能を完璧に設定してから運用する」ではなく、「小さく始めて育てる」アプローチが現実的です。

・ステップ1(初日): Manager 1台を立て、最重要サーバー(WebサーバーやDNSサーバーなど)にエージェントを入れる
・ステップ2(1週間以内): FIMの監視対象を /etc やWeb公開ディレクトリに設定し、改ざん検知を有効化する
・ステップ3(1か月以内): 脆弱性スキャン結果を確認して、CVSSスコア7.0以上の未適用パッチを優先対処する
・ステップ4(運用定着後): アクティブレスポンスを試験的に導入し、ブルートフォース攻撃の自動ブロックを実現する

Manager自体のシステム要件は最低2CPU・4GBメモリ(少数エージェント構成の場合)なので、月額1,000~2,000円程度のVPSでも試験的に動作させられます。まず1台のサーバーを守ることから始めましょう。

Lynis入門で紹介しているサーバーの設定監査と組み合わせると、「現状の弱点を把握(Lynis)→継続的に監視(Wazuh)」という実践的な防御サイクルを構築できます。

よくある誤解と注意点

「WazuhはSIEMだから大規模環境向けでしょう?」
Wazuhのエージェントは1台から導入できます。5台以下の小規模環境でも、FIMや脆弱性スキャンだけで十分な価値があります。

「エージェントを入れるとサーバーが重くなる?」
通常のWazuh AgentのCPU使用率は1%未満です。FIMのリアルタイム監視を有効にしていても、I/Oへの影響は軽微な設計になっています。

「アラートが多すぎて対処しきれない」
初期状態ではデフォルトルールの感度が高く、多くのアラートが発生します。まずは level 10 以上だけを通知対象に絞り、除外ルールを少しずつ追加していくのが現実的な運用です。

【注意】Manager自体のセキュリティ対策を忘れずに
WazuhのManagerはすべてのエージェントのセキュリティデータをもつ「要所」です。Managerへのアクセスは専用のVPNや固定IPに限定し、不要なポートはファイアウォールで遮断してください。Wazuh Dashboardへのアクセスにも多要素認証(MFA)を設定することを推奨します。

Wazuh入門|オープンソースSIEM・HIDSでLinuxサーバーの脅威を検知する実践設定ガイド - まとめ

本記事のまとめ

機能 Wazuhの対応 主な設定場所
ファイル改ざん検知 FIM(リアルタイム監視) ossec.conf の <syscheck>
ログ解析・SIEM 3,000件以上のデフォルトルール /var/ossec/rules/ ディレクトリ
脆弱性管理 NVDとのCVE突合 ossec.conf の <vulnerability-detection>
自動対応 アクティブレスポンス ossec.conf の <active-response>
コンプライアンス SCA(設定適合評価) ruleset/sca/ のポリシーファイル

Wazuhは「侵入を完全に防ぐ」ツールではありません。侵入・改ざん・不審操作を「気づける」仕組みを作るのが役割です。検知できなければ対処もできない──その「気づき」の仕組みを低コストで実現できるのが、Wazuhが世界中で採用されている理由です。

Linuxのファイル権限管理やsudoの設定といったサーバー基礎については、姉妹サイトLinuxMaster.JPでも詳しく解説しています。Wazuhで検知する前提として、サーバー自体の初期設定をしっかり固めておくことが重要です。

PR

Linuxサーバーセキュリティ徹底入門(中島能和)

SELinux・ファイアウォール・ログ監視など、Linuxサーバーを堅牢化するための技術を体系的に解説した定番書。Wazuhと組み合わせることで、設定強化と継続監視の両輪が揃います。

関連記事をもっと読む

同じテーマの記事をまとめています。あわせて読みたい記事はこちらからご覧いただけます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次