Sign inSign up

kennyopennix/wazuh-agent-ubuntu

By kennyopennix

•Updated 7 months ago

Image
0

3.6K

kennyopennix/wazuh-agent-ubuntu repository overview

⁠docker-wazuh-agent

Wazuh is a free, open source and enterprise-ready security monitoring solution for threat detection, integrity monitoring, incident response and compliance.

⁠Description

Wazuh Agent as Docker Image with auto registration on Wazuh server.

Current implementation could be run as standalone docker container as well as Kubernetes DaemonSet

Agent version is v4.3.10

⁠DockerHub images

Repository NameDescriptionPull command
https://hub.docker.com/r/kennyopennix/wazuh-agent⁠Wazuh agent based on Minidebdocker pull kennyopennix/wazuh-agent
https://hub.docker.com/r/kennyopennix/wazuh-agent-amazonlinux⁠Wazuh agent based on Amazon Linux version 2023.3.20231218.0docker pull kennyopennix/wazuh-agent-amazonlinux
https://hub.docker.com/r/kennyopennix/wazuh-agent-ubuntu⁠Wazuh agent based on Ubuntu 24.04docker pull kennyopennix/wazuh-agent-ubuntu

⁠Structure

register_agent.py - Auto register docker based agent

cleanup_agents.py - Cleanup disconnected or never connected agents older than N days

deregister_agent.py - De-registration of agent

⁠Environments

NameTypeDescriptionDefaultRequired
JOIN_MANAGER_PROTOCOLstringHttp or https protocol for Wazuh restapi connectionhttpsYes
JOIN_MANAGER_MASTER_HOSTstringIp address or Domain name of Wazuh server using for restapi callsNoneYes
JOIN_MANAGER_WORKER_HOSTstringIp address or Domain name of Wazuh worker for agent connection, if using ALL in One installation the same value as for JOIN_MANAGER_MASTER_HOSTNoneYes
JOIN_MANAGER_USERstringUsername for Wazuh API autorizationNoneYes
JOIN_MANAGER_PASSWORDstringPassword for Wazuh API autorizationNoneYes
JOIN_MANAGER_API_PORTstringPort where the Wazuh API listened55000Yes
JOIN_MANAGER_PORTstringWazuh server port for communication between agent and server1514Yes
NODE_NAMEstringNode name if not present image will use HOSTNAME system variableNoneNo
VIRUS_TOTAL_KEYstringApi key for VirusTotal integrationNoneNo
WAZUH_GROUPSstringGroup(s) name comma separated for auto adding agent,defaultNo
WAZUH_WAIT_TIMEstringSleep for N second10No

⁠Run as docker image

The Simplest way of running the container

docker run --rm kennyopennix/wazuh-agent:latest

⁠Run docker-compose

docker compose up -d

Will run Wazuh cluster in single node mode and 3 agents

⁠Advanced usage

docker run -d --name wazuh -v /:/rootfs:ro --net host --hostname ${HOSTNAME} \
-e JOIN_MANAGER_MASTER_HOST=172.17.0.1 -e JOIN_MANAGER_WORKER_HOST=172.17.0.1 \
-e JOIN_PASSWORD=test123 -e JOIN_MANAGER_USER=user \
-v /etc/os-release:/etc/os-release -v /var/run/docker.sock:/var/run/docker.sock \
 kennyopennix/wazuh-agent:latest

⁠Run as Kubernetes DaemonSet

Setup environments in wazuh-daemon-sets.yaml like above.

Example:

env:
    - name: JOIN_MANAGER_MASTER_HOST
      value: "wazuh.wazuh.svc.cluster.local"
    - name: JOIN_MANAGER_WORKER_HOST
      value: "wazuh-workers.wazuh.svc.cluster.local"
    - name: JOIN_MANAGER_PROTOCOL
      value: "https"
    - name: NODE_NAME
      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName
    - name: JOIN_MANAGER_USER
      valueFrom:
       secretKeyRef:
         name: wazuh-api-cred
         key: username
    - name: JOIN_MANAGER_PASSWORD
      valueFrom:
        secretKeyRef:
          name: wazuh-api-cred
          key: password
    - name: JOIN_MANAGER_API_PORT
      value: "55000"
    - name: JOIN_MANAGER_PORT
      value: "1514"

And apply template kubectl -f wazuh-daemon-sets.yaml DaemonSet will deploy to wazuh namespace.

⁠Build docker image

docker build . -t wazuh-agent:latest

⁠Support project

Buy Me A Coffee

Tag summary

Content type

Image

Digest

sha256:fe5a81833…

Size

373.1 MB

Last updated

7 months ago

docker pull kennyopennix/wazuh-agent-ubuntu