-
Me
The one who has to decide whether something is an attack or just me.
-
Discord
From level 7: what deserves a look.
-
Alerts room
From level 12, end-to-end encrypted.
-
Hypervisor
Has its own agent too, with auditing of account files, sudo and SSH.
-
Hermes
Its failed-login watcher summarises what no longer reaches Discord.
-
Wazuh agent
In every container. Registered through the hypervisor, not through an open port.
-
Logs
Authentication, sudo, services, auditd and Docker.
- Wazuh
- Linux (Debian, Alpine, Arch)
-
File integrity
Warns if files that shouldn't change do: configuration, accounts, services. Without storing the change's content.
-
Package inventory
Which version of each package is on each machine, to match it against vulnerabilities.
-
Wazuh manager
Receives everything and analyses it.
-
Rules
Wazuh's own plus a few of mine for the home log.
-
Indexer
Keeps alerts for 30 days to search them.
-
Dashboard
Only behind the internal door with two-factor.
-
Routing by level
Discord from 7, email from 10, phone from 12.
-
Group repeats
An integration of my own groups repeats in 5-minute windows and sends a summary, never the log.
-
Email
From level 10: about 15 a week.
-
Failed-login summary
What leaves Discord isn't lost: Hermes summarises it in its room.
-
Vulnerabilities
Each package matched against known vulnerabilities. One CVE can show up many times: they aren't attacks.
- Wazuh
- Linux (Debian, Alpine, Arch)
-
CIS checks
Secure-configuration controls. Accepted exceptions are documented with their reason.
- Wazuh
- Linux / SSH hardening
-
Patching
Official fixes only, simulated first, rejecting kernel, driver or critical-service changes.
- Ansible
- Linux (Debian, Alpine, Arch)
-
Prior snapshot
Before patching, a container snapshot. Useful… but it can't be kept forever.