今回はオープンソースのXDRであるwazuh 4.5を検証してみたいと思います。
通常のwazuhはindexer、server、dashboardの3種類のソフトウェアを別々のサーバにインストールするのですが、ドキュメントを見る感じだとクイックスタートとして1台のサーバで構築ができるようなので、今回はそれを試してみたいと思います
XDRとは
The term was coined by Nir Zuk of Palo Alto Networks in 2018.[6]
According to Chapple, Stewart and Gibson, XDR is not so much another tool as the collection and integration of several concepts into a single solution, the components varying from vendor to vendor and often including NTA (network traffic analysis), NIDS and NIPS.[7]
The system works by collecting and correlating data across various network points such as servers, email, cloud workloads, and endpoints.[8] The data is then analyzed and correlated, lending it visibility and context, and revealing advanced threats. Thereafter, the threats are prioritized, analyzed, and sorted to prevent security collapses and data loss. The XDR system helps organizations to have a higher level of cyber awareness, enabling cyber security teams to identify and eliminate security vulnerabilities.[4][9]
The XDR improves the malware detection and antivirus capabilities over the endpoint detection and response (EDR) system. XDR improves on the EDR capabilities to deploy high-grade security solutions by utilizing current technologies which proactively identifies and collects security threats, and employs strategies to detect future cyber security threats. It is an alternative to reactive endpoint protection solutions, such as EDR and network traffic analysis (NTA).[5]
wikiより引用
SaaSやIaaSなどの用語の短縮系で、Xの部分にいろいろなものが入る的な感じの用語になります。
Extended detection and responseの略で、様々なデータを収集し、収集されたデータを解析してセキュリティ的な観点で評価を行うソフトウェア的なものです。
Xの部分は、エンドポイント用のソフトウェアだとEDRと呼ばれたり、ネットワーク用のソフトウェアだとNDRなどと呼ばれたりします。
ここで、重要なのはXDRを導入したからと言って、ウイルスに感染しないなどではなく、この端末はこのような脆弱性がありますよー的なものを分析してくれる用のソフトウェアになるので、根本的なウイルス対策等については、別途行う必要はあるかと思います。
UTMを導入したからと言ってウイルス対策ソフトが不要になるというわけでは無いのと同じ感じですかね。
wazuhとは
wazuhはこれらのXDRをオープンソースで提供しているソフトウェアとなります。
冒頭で触れましたが、indexer、server、dashboardの3種のサーバを構築することで、最近はやりのXDRを構成することができます。
また、オープンソースではあるものの、クラウド環境でのトライアルもあるので、サーバの構築ができない環境にある場合や、ちょっと試しに実施してみるなどの場合は、そちらを利用してみるのもおすすめです。
前提条件
本環境で使用するサーバは以下の通りです。
- CPU : 2vCPU
- MEM : 4GB
- DISK : 60GB
- OS : Ubuntu Server 22.04
今回は、クイックインストールを行うので、サーバは1台で構成します。
サポートされるOSは、Amazon Linux2、CentOS7、8、RHEL7、8、9、Ubuntu 16.04、18.04、20.04、22.04と比較的幅広くサポートされています。
1スペックは管理するエージェント数により目安のスペックが提供されています。
エージェント数 | CPU | メモリ | ディスク容量 |
1-25台 | 4vCPU | 8GB | 50GB |
25-50台 | 8vCPU | 8GB | 100GB |
50-100台 | 8vCPU | 8GB | 200GB |
このスペック以下でもインストールすることは可能ですが、インストール時にエラーが出ます。
wazuhのインストール
インストールするサーバはSSHを行うか、ターミナルを開き、以下のコマンドを実行します。
willserver@dev-wazhu:~$ curl -sO https://packages.wazuh.com/4.5/wazuh-install.sh && sudo bash ./wazuh-install.sh -a
10/09/2023 03:37:29 INFO: Starting Wazuh installation assistant. Wazuh version: 4.5.2
10/09/2023 03:37:29 INFO: Verbose logging redirected to /var/log/wazuh-install.log
10/09/2023 03:37:35 ERROR: Your system does not meet the recommended minimum hardware requirements of 4Gb of RAM and 2 CPU cores. If you want to proceed with the installation use the -i option to ignore these requirements.
ドキュメントに乗っているコマンドを実行すると、エラーが出てインストールが停止しました。
どうやら、wazuhをインストールするには、2vCPU以上、4GB以上のメモリが必要だそうです。
Hyper-V上に構築していますが、動的メモリを使用しているせいで、実搭載のメモリ量が少なく見えてしまうので、インストールが失敗します。
このように、これ以下のスペックでインストールする場合には、[-i]オプションを指定することで、エラーを回避することができます。
willserver@dev-wazhu:~$ curl -sO https://packages.wazuh.com/4.5/wazuh-install.sh && sudo bash ./wazuh-install.sh -a -i
10/09/2023 03:38:22 INFO: Starting Wazuh installation assistant. Wazuh version: 4.5.2
10/09/2023 03:38:22 INFO: Verbose logging redirected to /var/log/wazuh-install.log
10/09/2023 03:38:28 WARNING: Hardware and system checks ignored.
10/09/2023 03:38:28 INFO: Wazuh web interface port will be 443.
10/09/2023 03:38:31 INFO: --- Dependencies ----
10/09/2023 03:38:31 INFO: Installing apt-transport-https.
10/09/2023 03:38:37 INFO: Wazuh repository added.
10/09/2023 03:38:37 INFO: --- Configuration files ---
10/09/2023 03:38:37 INFO: Generating configuration files.
10/09/2023 03:38:38 INFO: Created wazuh-install-files.tar. It contains the Wazuh cluster key, certificates, and passwords necessary for installation.
10/09/2023 03:38:39 INFO: --- Wazuh indexer ---
10/09/2023 03:38:39 INFO: Starting Wazuh indexer installation.
10/09/2023 03:40:16 INFO: Wazuh indexer installation finished.
10/09/2023 03:40:16 INFO: Wazuh indexer post-install configuration finished.
10/09/2023 03:40:16 INFO: Starting service wazuh-indexer.
10/09/2023 03:40:30 INFO: wazuh-indexer service started.
10/09/2023 03:40:30 INFO: Initializing Wazuh indexer cluster security settings.
10/09/2023 03:40:40 INFO: Wazuh indexer cluster initialized.
10/09/2023 03:40:40 INFO: --- Wazuh server ---
10/09/2023 03:40:40 INFO: Starting the Wazuh manager installation.
10/09/2023 03:41:23 INFO: Wazuh manager installation finished.
10/09/2023 03:41:23 INFO: Starting service wazuh-manager.
10/09/2023 03:41:47 INFO: wazuh-manager service started.
10/09/2023 03:41:47 INFO: Starting Filebeat installation.
10/09/2023 03:41:53 INFO: Filebeat installation finished.
10/09/2023 03:42:00 INFO: Filebeat post-install configuration finished.
10/09/2023 03:42:00 INFO: Starting service filebeat.
10/09/2023 03:42:01 INFO: filebeat service started.
10/09/2023 03:42:01 INFO: --- Wazuh dashboard ---
10/09/2023 03:42:01 INFO: Starting Wazuh dashboard installation.
10/09/2023 03:42:41 INFO: Wazuh dashboard installation finished.
10/09/2023 03:42:41 INFO: Wazuh dashboard post-install configuration finished.
10/09/2023 03:42:41 INFO: Starting service wazuh-dashboard.
10/09/2023 03:42:41 INFO: wazuh-dashboard service started.
10/09/2023 03:43:00 INFO: Initializing Wazuh dashboard web application.
10/09/2023 03:43:02 INFO: Wazuh dashboard web application initialized.
10/09/2023 03:43:02 INFO: --- Summary ---
10/09/2023 03:43:02 INFO: You can access the web interface https://<wazuh-dashboard-ip>:443
User: admin
Password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
10/09/2023 03:43:02 INFO: Installation finished.
ログの最後に、[Installation finished.]と表示されればインストールは完了です。
この際、アクセスするアカウントが払い出されるため、メモ帳などにコピーしておきます。
ダッシュボードアクセス
wazuhのインストールが完了したら、ダッシュボードへアクセスします。
ダッシュボードへのアクセスは、以下のURLよりアクセスします。
URL : https://<wazuhのFQDN or IP>
wazuhは自己証明書を使用しているため、Chrome等でアクセスすると、証明書のエラーが表示されます。そのため、[詳細設定]を押下します。
[xxxxxにアクセスする(安全ではありません)]を押下し、アクセスを継続します。
インストール時に表示されていたユーザ名とパスワードを入力してwazuhへログインします。
ログインが成功すると、ダッシュボードが表示されます。
wazuhは日本語にローカライズされていないので、英語での対応が必要になりそうです。
エージェントのインストール
wazuhはあくまで情報を収集して解析するツールなので、情報を提供するには各OSにエージェントのインストールが必要になります。
エージェントは、wazuhのダッシュボードから生成することができます。
今回は、Windows10のエージェントを追加していきます。
ダッシュボードにある[Add Agent]とあるので、押下します。
[Deploy a new agent]より、以下の設定を行います。
- Choose the operationg system : Windows
- Choose the version : Windows 7 +
- Choose the architecture : i386/x86_64
- Wazuh server address : <インストールしたwazuh serverのIP or FQDN>
- Assign an agent name : 任意のエージェント名を設定(ユニークな名前)
- Selct one or more existing groups : default
設定が完了したら[Install and enroll the agent]にインストールコマンドが生成されるので、コピーします。
wazuhのエージェントをインストールする端末でPowershellを管理者権限で起動し、コピーしたコマンドを張り付けて実行します。
Windowsのエージェントインストールが完了したら、エージェントを起動します。
コマンドを実行し、[Wazuhサービスは正常に開始されました。]と表示されることを確認します。
今回、コマンドでインストールしましたが、プログラム一覧には通常のインストールと同様にアンインストールができそうです。
クライアントにエージェントのインストールが完了したら、wazuhのダッシュボードよりエージェントが認識されているか確認します。
エージェントがアクティブになるとクライアントが表示されます。
表示されているクライアントを選択すると、現在のクライアントの情報を取得することができます。
以上で、クライアントへのエージェントインストールは完了です。
まとめ
今回は、XDRのOSSであるwazuhをクイックインストールしてみました。
インストール用のコマンド一発でインストールができたので、自宅にリソースが余っている場合は、インストールしてみてもよいかと思います。
実際にXDRとしてどのような機能が存在しているかは確認できていないので、これから触っていきたいと思います。
何というか、ZabbixしかしSophosしかり、wazuhしかりこのようなOSSが増えると商用のライセンスを買わずに自宅の環境を充実させることができるので、非常に助かります。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント