Skip to main content
Skip table of contents

Baremetal Universal Hydra Deployment

πŸ”– The following has been updated to reflect the required changes after the patch cycle that has a release date of . Older versions of the baremetal hydra are no longer support and not available for download.

The baremetal hydra is intended for installations on Linux hosts running directly on hardware with no virtualization hypervisor. This will provide similar services to the universal hydra but it requires additional steps to deploy.

The reason for the baremetal Hydra is that a lot of customers use VMware and the hydra build was created originally for the VMware customers. However as a result of Broadcom acquiring VMware and changing the licensing model our customers approached us for more options for our Hydra Appliance. As a result we have created the Universal Hydra that runs in Azure, AWS, or on bare-metal equipment

The following guide will cover the aspects of a deployment from a SIEMonster perspective.

Assumptions:

  • That the platform this is being deployed on is Debian 12.5 or later

  • That ssh and users to access ssh with sudo permissions have been configured

  • That vim and wget is installed

  • The storage is setup with a default, not encrypted, LVM configuration via the Debian installer and it utilizes the entire disk.

Requirements:

Configuring a static IP is the first requirement. To do so please perform the following steps:

  1. ssh to your hydra vm

  2. Type su and Press [ENTER]

  3. Type nano /etc/network/interfaces and Press [ENTER]

  4. Now modify the file with the fixed IP you require as per following example

    image-20250515-164256.png

    Once done, Press [CTRL}+[X] and type y and then Press [ENTER]

  5. Type nano /etc/resolv.conf and Press [ENTER]

  6. Make sure you have your DNS server(s) defined, if not present please add the relevant server(s) as per following example and ensure that you specify the correct domain for use and search domain for use.

    image-20250515-164316.png

    Once done Press [CTRL]+[X] type y and Press [ENTER]

  7. Now reboot the host by Typing systemctl reboot and Pressing [ENTER]

You will need to add your user to the sudoers list, this will require the sudoers package to be installed by using the following command:

BASH
apt update && apt install sudo

Once the installation of sudoers completes run the following command substituting %user% for the user you have created.

BASH
echo "%user%   ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

e.g. echo β€œhydra ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

Logout of ssh and log back in with the user you have added to sudoers. Now test that you can elevate privileges by typing sudo -s and Pressing [ENTER].

BASH
sudo -s

Next the timezone needs to be set to UTC. This is a HARD requirement to ensure that the data viewed in the webplatform reflects correctly. If you do not change the timezone to UTC your events will be displayed in the incorrect timezone and will impact your compliance/threat hunting.

You can change the timezone with the following command followed by rebooting the server.

BASH
timedatectl set-timezone UTC && systemctl reboot

The following packages are required to be installed before deployment can take place, the commands for the package installation have been included below. These commands MUST be run as root using the sudo -s command to elevate privileges with a normal user. The command can be copied and pasted.

BASH
apt update && apt install -y htop unzip python3-dnsutils python3-distutils python3-pip j2cli uuid-runtime

Download the following installation zip file by using the command displayed below

BASH
wget https://docs.siemonster.com/__attachments/70090753/bare_metal.sh?inst-v=0a88f745-2d90-4c19-a9de-52872e92cbde

bare_metal.sh

The Sha256 for the file is

1c954eee4013aa0696550d2549a091ede3e67c43c8c2750027283cd6cb45af18

bare_metal_builder-wazuh-411.zip

Unzip the file using the following command

BASH
unzip bare_metal_builder-wazuh-411.zip

Now sudo -s to elevate privileges and run the following command

BASH
./metal_builder.sh

The first prompt will be to enter a hostname for the hydra, please choose carefully as this name will also be reflected in the bastion VPN console. The hostname should provide information of where it is deployed in many cases or its' purpose e.g. hydra-london or hydra-ny. In cases where there are tenants involved it may be prudent to add a tenant prefix to it as well. Such as tenant1-hydra-ny

image-20240417-130430.png

Press [ENTER] when you have entered the hostname you want

Press [ENTER] again for the disabled_services listing, do not make changes here unless instructed to do so by the SIEMonster team.

image-20240417-130632.png

Press [ENTER] on OVPN_SSL_Verify leaving the default setting in place

image-20240417-130730.png

Specify your bastion connection for OVPN_URL, e.g. if your SIEMonster instance domain is siem.example.com and the tenant you are connecting the hydra to is tenant1 the URL will be

https://bastion.tenant1.siem.example.com:8443

image-20240417-131029.png

Press [ENTER] on the OVPN_Login prompt, leaving the default value

image-20240417-131344.png

Specify your bastion password in the next prompt and Press [ENTER]

image-20240417-131437.png

If you have followed the instructions correctly you will see the following with no errors.

image-20240417-133100.png

The deployment script for your custom baremetal hydra has now been created. You will note a new file called bare_metal.sh appear on the file system. To deploy it run the following command:

BASH
./bare_metal.sh

When the script finishes you will be prompted to reboot. Press [ENTER] to reboot

image-20240417-134156.png

Wait for the host to reboot and reconnect via ssh.

Elevate privileges with sudo -s

Run the following command and verify that suricata, openvpn and wazuh containers are running. The container names are in the last column.

BASH
docker ps

image-20240417-134431.png

Also perform the following command to see if OpenVPN has connected. Check for an interface tun0 and it should have an IP starting with 192.168.230.

BASH
ifconfig
image-20240417-134534.png

Connect to the Wazuh container to see if the cluster is connected with the following commands

BASH
docker exec -it wazuh bash
tail -f /var/ossec/logs/cluster.log

You should see output similar to the following, to stop the tail command press [CTRL]+C and then [CTRL+D] to exit the container.

image-20240417-134758.png

Your baremetal hydra is now deployed.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.