Giter Club home page Giter Club logo

wazuh-docker's Introduction

Wazuh containers for Docker

Slack Email Documentation Documentation

In this repository you will find the containers to run:

  • wazuh: It runs the Wazuh manager, Wazuh API and Filebeat (for integration with Elastic Stack)
  • wazuh-logstash: It is used to receive alerts generated by the manager and feed Elasticsearch using an alerts template
  • wazuh-kibana: Provides a web user interface to browse through alerts data. It includes Wazuh plugin for Kibana, that allows you to visualize agents configuration and status.

In addition, a docker-compose file is provided to launch the containers mentioned above. It also launches an Elasticsearch container (working as a single-node cluster) using Elastic Stack Docker images.

Current release

Containers are currently tested on Wazuh version 3.2.1 and Elastic Stack version 6.2.2. We will do our best to keep this repository updated to latest versions of both Wazuh and Elastic Stack.

Installation notes

To run all docker instances you can just run docker-compose up, from the directory where you have docker-compose.yml file. The following is part of the expected behavior when setting up the system:

  • Both wazuh-kibana and wazuh-logstash containers will run multiple queries to Elasticsearch API using curl, to learn when Elasticsearch is up. It is expected to see several Failed to connect to elasticsearch port 9200 log messages, until Elasticesearch is started. Then the set up process will continue normally.
  • Kibana container can take a few minutes to install Wazuh plugin, this takes place after Optimizing and caching browser bundles... is printed out.
  • It is recommended to set Docker host preferences to give at least 4GB memory per container (this doesn't necessarily mean they all will use it, but Elasticsearch requires them to work properly).

Once installed you can browse through the interface at: https://127.0.0.1.

Mount custom Wazuh configuration files

To mount custom Wazuh configuration files in the Wazuh manager container, mount them in the /wazuh-config-mount folder. For example, to mount a custom ossec.conf file, mount it in /wazuh-config-mount/etc/ossec.conf and the run.sh script will copy the file at the right place on boot while respecting the destination file permissions.

Here is an example of a /wazuh-config-mount folder used to mount some common custom configuration files:

root@wazuh-manager:/# tree /wazuh-config-mount/
/wazuh-config-mount/
└── etc
    ├── ossec.conf
    ├── rules
    │   └── local_rules.xml
    └── shared
        └── default
            └── agent.conf

4 directories, 3 files

In that case, you will see this in the Wazuh manager logs on boot:

Identified Wazuh configuration files to mount...
'/wazuh-config-mount/etc/ossec.conf' -> '/var/ossec/data/etc/ossec.conf'
'/wazuh-config-mount/etc/rules/local_rules.xml' -> '/var/ossec/data/etc/rules/local_rules.xml'
'/wazuh-config-mount/etc/shared/default/agent.conf' -> '/var/ossec/data/etc/shared/default/agent.conf'

More documentation

Credits

These Docker containers are based on:

We thank you them and everyone else who has contributed to this project.

Wazuh official website

Wazuh website

wazuh-docker's People

Contributors

flothinkspi avatar santiago-bassett avatar sitorbj avatar davidkarlsen avatar elisiano avatar jplachance avatar kalrong avatar snaow avatar peteralcock avatar vikman90 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.