跳過到頁腳內容
使用 IRONSECUREDOC

Wazuh Docker Compose(開發者如何工作)

Organized companies in today's rapidly changing digital world are threatened by advanced cyberattacks, stringent regulatory compliance, and monitoring systems. A contemporary strategy in modern cybersecurity includes new features of security monitoring which deal with threat detection, such as identifying malicious activities or vulnerabilities, and responding appropriately. Another new feature deals with compliance management, requiring adherence to various regulations. Compliance management ensures industry standards and rules that enable organizations to evade penalties and confidently hand over control of their operations to customers or stakeholders.

Organizations need high-quality tools to meet these requirements accurately. One great solution is a Wazuh Docker or containerized implementation of the Wazuh security platform. In this article, we will learn more about Wazuh Docker and how it can be integrated with IronSecureDoc.

What is Wazuh Docker?

Wazuh Docker is a Dockerized deployment of the Wazuh security platform, simplifying and enhancing security monitoring, threat detection, and compliance management implementation. It takes advantage of Docker to containerize components like Wazuh Manager, Elasticsearch, and Kibana, achieving speed for rapid deployment and operational-level automation. This solution provides features such as EDR, log analysis, vulnerability management, and regulatory compliance monitoring, making it an all-around security solution for a modern IT environment.

Its container architecture guarantees compatibility with cloud platforms, on-premises systems, and orchestration tools like Kubernetes, enabling organizations to adapt to diverse infrastructures. With the Wazuh dashboard, businesses can monitor security events in real-time, respond to threats effectively, and maintain compliance with industry standards, all while benefiting from the flexibility and efficiency of containerized deployment.

Features of Wazuh Docker

Containerized Deployment

Wazuh Docker utilizes Docker technology to package all its components such as Wazuh Manager, Elasticsearch, and Kibana into pre-built, ready-to-use containers. This containerized architecture makes it straightforward to deploy Wazuh anywhere, ensuring consistency across environments and reducing the complexity of setting up and maintaining the platform.

Scalability

Wazuh Docker is designed for dynamic environments and allows individual components to scale independently. For example, with an increase in the volume of monitored data, Elasticsearch nodes can be scaled by users to handle the workload and ensure efficient performance in a large-scale deployment.

Portability

The Docker architecture of Wazuh ensures it can be deployed on local machines, cloud services, or container orchestration platforms such as Kubernetes. Its portability ensures compatibility with multiple infrastructures, enabling organizations to adapt it to their unique operational needs.

Management Simplification

Wazuh Docker simplifies component orchestration by leveraging Docker Compose. The otherwise complex task of starting, stopping, and managing the Wazuh stack becomes more straightforward; the administrative burden is lightened, allowing even less expert users to handle tasks with minimal fuss.

Log Analysis

Wazuh Docker aggregates and correlates logs from any source, whether servers, applications, or devices. It aids organizations in detecting and responding to security incidents by offering real-time log correlation.

Threat Detection

Wazuh Docker identifies threats, vulnerabilities, and suspicious activities in monitored endpoints by utilizing built-in rules and customizable configurations. This strengthens an organization’s proactive protection against security risks.

Compliance Monitoring

Wazuh Docker automates checks against industry standards like GDPR, HIPAA, and PCI DSS. It also delivers comprehensive reports, making auditing easier and ensuring an organization's conformity with regulatory standards.

Customizable Rules

Wazuh Docker allows organizations to define custom security rules, enabling threat detection and compliance policies tailored to their specific needs. This flexibility ensures the platform can adapt to unique operational challenges and security goals.

Web-Based Dashboard

Kibana is integrated with Wazuh Docker, providing a powerful web-based dashboard for viewing alerts, logs, and trends. With an intuitive interface, it enables users to analyze data, monitor security events, and create customized views with ease.

Seamless Integration

Wazuh Docker integrates smoothly with third-party tools and cloud services, enabling elaborate workflows and shared data. Thus, interoperability increases its utility as part of a global security system.

Install Wazuh Docker

We can deploy the Wazuh stack, which includes the Wazuh Manager, Elasticsearch, and Kibana, using Docker and Docker Compose. This step-by-step guide will take you through the setup process of running Wazuh manager nodes using Docker.

Clone the Wazuh Docker Repository

First, clone the official Wazuh Docker repository, containing the configuration files and Docker images needed for deployment.

git clone https://github.com/wazuh/wazuh-docker.git
cd wazuh-docker
git clone https://github.com/wazuh/wazuh-docker.git
cd wazuh-docker
SHELL

Wazuh Docker Compose (How it Works for Developers): Figure 2 - Clone Wazuh Docker Repository

By doing this, a local copy of the repository is created and the directory is changed.

Configure Docker Compose

The repository has a pre-configured docker-compose.yml that declares the Wazuh, Elasticsearch, and Kibana containers. You can modify this file to fit your needs; you might want to adjust some resource limits or modify the network settings.

Start the Wazuh Stack

Once you have your docker-compose.yml file configured, you can run the Wazuh Docker stack. To start all containers, issue the following command:

docker-compose up -d
docker-compose up -d
SHELL

Wazuh Docker Compose (How it Works for Developers): Figure 3 - Start Wazuh Stack

You have the choice to start a single or multi-node container stack. This command will pull the required Docker images from Docker Hub if not available locally and start the containers in the background, setting up the Wazuh indexer container and dashboard node.

After the containers start, verify the Wazuh Docker stack with the Wazuh indexer nodes running by checking the status of the single or multi-node containers:

docker ps
docker ps
SHELL

Wazuh Docker Compose (How it Works for Developers): Figure 4 - Wazuh Docker Stack

You can check the Wazuh dashboard node view and log in with the default credentials.

Wazuh Docker Compose (How it Works for Developers): Figure 5 - Wazuh Dashboard

What is IronSecureDoc?

IronSecureDoc is a document management and security utility tool that provides advanced encryption, complex PDF manipulation, and digital signing. It delivers document confidentiality and integrity to firms and developers through seamless access and thus facilitates easier processing of PDF documents without any direct or indirect dependencies. It can also be referred to as an Aggressive PDF API where developers can create, upload, manipulate, and secure PDF files and documents programmatically.

Wazuh Docker Compose (How it Works for Developers): Figure 6 - IronSecureDoc: The PDF Security and Compliance Server

Moreover, IronPDF is a PDF API that allows PDF creation from various data inputs and the addition or editing of content through parameters such as text, images, and metadata. This includes merging several PDFs to create composed files, splitting documents, and adding comments, highlights, or watermarks for annotations.

It provides password protection, AES encryption, and certificate-based access controls via the Wazuh certs gen tool to lock all sensitive information and data. Additionally, it enables digital signing to authenticate documents and ensure non-repudiation—an important feature in financial, medical, and legal industries. Its audit trail functionality allows monitoring of all document activities for enhanced compliance and accountability.

Install and Run IronSecureDoc

Pull the Docker image of IronSecureDoc using the command in the Command Prompt or an open terminal window based on the following repository.

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Wazuh Docker Compose (How it Works for Developers): Figure 7 - Pull IronSecureDoc Docker Image

Run the Docker container with the following command:

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

This command will start a container instance of IronSecureDoc. You can then access IronSecureDoc on the port "http://localhost:8080/swagger/index.html" as shown in the page below.

Wazuh Docker Compose (How it Works for Developers): Figure 8 - REST API

Integrating IronSecureDoc with Wazuh

Integrating IronSecureDoc with Wazuh strengthens overall security posture, combining document security monitoring with robust threat detection and compliance management capabilities. As a result, you can monitor document-related activities, establish anomaly detection rules for document handling, and enforce compliance rules. Here’s how to integrate IronSecureDoc with a Wazuh manager in your deployment.

Set Up Log Monitoring

Log monitoring involves the configuration of the system to collect and analyze log data from various sources. This process helps identify anomalies and reveals potential threats while ensuring compliance. First, identify the log files or directories you want to monitor, such as an application log, system log, or any third-party tool log like IronSecureDoc.

<localfile>
  <log_format>syslog</log_format>
  <location>/path/to/ironsecuredoc/logs</location>
</localfile>
<localfile>
  <log_format>syslog</log_format>
  <location>/path/to/ironsecuredoc/logs</location>
</localfile>
XML

Next, edit the Wazuh configuration file, ossec.conf, on the Wazuh agent or manager nodes. Add a <localfile> entry for the log source. Define the log format, such as syslog, and specify the file path or location where the logs are stored. After editing, restart the Wazuh agent or manager to apply the changes. Wazuh will then monitor the logs, correlating events with its built-in rules or user-defined ones and sending alerts for suspicious activities or compliance violations.

Restart the Wazuh agent to apply the changes:

systemctl restart wazuh-agent
systemctl restart wazuh-agent
SHELL

This setup ensures that Wazuh captures and processes all relevant log events. Below is a screenshot captured by the Wazuh manager and a log of the activity, including IronSecureDoc.

Wazuh Docker Compose (How it Works for Developers): Figure 9 - Wazuh Agent

Integrate IronSecureDoc's API

For advanced integration, use the IronSecureDoc API (if accessible) to have the Wazuh repository pull security events at the document level. Write a custom script to retrieve those events and submit them to Wazuh. Here is a sample Python implementation:

import requests

# API URLs for interaction
iron_api_url = "http://localhost:8080/v1/document-services/ping"
wazuh_api_url = "http://wazuh-manager:55000/alerts"

# API authentication headers
headers = {'Authorization': 'Bearer YOUR_API_KEY'}

# Fetch events from IronSecureDoc
response = requests.get(iron_api_url, headers=headers)
events = response.json()

# Forward events to Wazuh
for event in events:
    alert = {
        "rule": {
            "id": 100002,
            "level": 5,
            "description": event.get("description", "IronSecureDoc event")
        },
        "data": event
    }
    requests.post(wazuh_api_url, json=alert, headers=headers)
import requests

# API URLs for interaction
iron_api_url = "http://localhost:8080/v1/document-services/ping"
wazuh_api_url = "http://wazuh-manager:55000/alerts"

# API authentication headers
headers = {'Authorization': 'Bearer YOUR_API_KEY'}

# Fetch events from IronSecureDoc
response = requests.get(iron_api_url, headers=headers)
events = response.json()

# Forward events to Wazuh
for event in events:
    alert = {
        "rule": {
            "id": 100002,
            "level": 5,
            "description": event.get("description", "IronSecureDoc event")
        },
        "data": event
    }
    requests.post(wazuh_api_url, json=alert, headers=headers)
PYTHON

Run this script periodically (e.g., as a cron job) to keep Wazuh updated with the latest document security events. The script uses standard HTTP requests to communicate with the IronSecureDoc API and sends corresponding alerts to Wazuh. To learn more about the Wazuh API documentation, refer to the API page.

Wazuh Docker Compose (How it Works for Developers): Figure 10 - Wazuh Script

Conclusion

The integration of Wazuh with IronSecureDoc provides a powerful security solution that combines real-time threat detection with advanced document protection. Wazuh analyzes, monitors, and alerts system and application events, complementing IronSecureDoc features such as encryption, signature validation, and compliance capabilities. Together, they offer in-depth visibility into securing documents, detecting unauthorized access, and enforcing compliance with organizational and regulatory standards.

Through centralized monitoring using Wazuh and document security-specific features with IronSecureDoc, organizations can secure sensitive information, simplify compliance processes, and proactively respond to evolving security threats. This integration enhances an overall security posture while giving businesses a better offensive position in their approach to changing cybersecurity threats.

With the help of the IronSecureDoc REST API, secure document handling and PDF management are easily incorporated into applications developed by web, mobile, and enterprise systems developers. To learn more about the licensing of IronSecureDoc, visit the licensing page. For information on Iron Software products, follow the library suite page.

常見問題解答

我如何使用 Docker 部署安全平台?

您可以通過利用 Wazuh Docker 部署安全平台,將 Wazuh Manager、Elasticsearch 和 Kibana 等組件容器化。這種容器化部署簡化了安全監控並自動化了威脅檢測和合規性管理。

使用 Docker 進行安全監控的好處是什麼?

如同 Wazuh Docker 所示,使用 Docker 進行安全監控的好處包括快速部署、可擴展性、可移植性以及與 Kubernetes 等雲平台和編排工具無縫集成,從而提高威脅檢測和合規性管理的效率。

我如何使用 Docker Compose 設置安全堆疊?

要使用 Docker Compose 設置安全堆疊,您需要克隆 Wazuh Docker 存儲庫,配置 Docker Compose,然後啟動 Wazuh 堆疊。這一過程允許在容器化環境中流暢地部署所需組件。

將文件安全工具與安全平台集成如何增強安全性?

將 IronSecureDoc 這樣的文件安全工具與 Wazuh 等安全平台集成增強安全性,因為它可通過 API 集成實現文件安全監控和異常檢測,以及促進合規性執行。

基於 Web 的儀表板在安全平台中扮演什麼角色?

基於 Web 的儀表板(如 Wazuh Docker 設置中的 Kibana 提供的儀表板)在可視化安全數據方面發揮著關鍵作用,允許用戶實時監控威脅、合規狀態和日誌分析,從而提高態勢感知和響應能力。

在容器化安全平台中,可自定義的安全規則有何意義?

容器化安全平台中的可自定義安全規則(例如 Wazuh Docker 中的那些)允許組織根據自己的特定需求定制威脅檢測和合規性檢查,從而提高安全措施的精確性和有效性。

我如何使用容器化解決方案自動化合規監控?

您可以使用 Wazuh Docker 這樣的容器化解決方案自動化合規監控,它會根據 GDPR、HIPAA 和 PCI DSS 等行業標準進行檢查。它自動生成綜合報告以確保符合監管要求。

將文件安全監控與安全平台集成涉及哪些步驟?

將文件安全監控與安全平台集成涉及使用 IronSecureDoc 的 API 將文件安全事件提交給 Wazuh。這種集成有助於將文件保護與綜合威脅檢測功能結合起來。

Docker Compose 如何簡化安全平台的管理?

Docker Compose 通過自動化 Wazuh Docker 組件的編排,簡化安全平台的管理,降低了複雜性,並使得更輕鬆地高效管理整個堆疊的啟動、停止和管理。

Wazuh Docker 如何支持威脅檢測?

Wazuh Docker 通過實時日誌分析、內置規則和可自定義配置等功能支持威脅檢測,從而增強組織主動安全措施。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。