Homelab

SIEM en SCA

Wazuh als SIEM. Installeren met onderstaand commando op de server. Het kan ook met docker of direct op een VM met ansible. Er zit daar misschien al SCA in ingebouwd, maar zo niet kan ik nog trivy toevoegen. Misschien voegt Nessus ook wat toe.

curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh && sudo bash ./wazuh-install.sh -a 

Ik denk dat een aparte VM voor Wazuh het best is, die kan ik dan met de ansible instructies opzetten. Ik heb het opgezet met ansible, maar ik kreeg eerst de melding "Wazuh Dashboard Server is Not Ready Yet". Dit blijkt een vaker voorkomend probleem. Ik heb dit artikel gevolgd, het bleek dat de kibana index vast zat. Die moest ik verwijderen met curl -ku admin -X DELETE https://localhost:9200/.kibana_1.

Na een tijdje deed Wazuh het opeens niet meer. Ik moest toen het admin account aan de wazuh-keystore toevoegen:


    /var/ossec/bin/wazuh-keystore -f indexer -k username -v admin
    /var/ossec/bin/wazuh-keystore -f indexer -k password -v VerySecurePassword123
        
Daarnaast stopt Wazuh regelmatig met werken en krijg ik weer de melding "Wazuh Dashboard Server is Not Ready Yet". Dit kan ook ermee te maken hebben dat ik de host elke nacht in "sleep"-modus zet en dat die dan niet goed opkomt.

Code security tests

Security tests kunnen waarschijnlijk in gitea gezet worden. SAST kan met semgrep en DAST met nuclei en OWASP Zap.

Services achter HTTPS

Met nginx proxy manager kun je SSL/TLS certificaten instellen. Dan moeten de services wel online (oftewel op het internet) staan, maar dat staat het bij mij niet. Je kan ook een DNS challenge doen. Maar dan moet volgens mij er support met een plugin zijn dat de proxy manager de DNS records insteld. Mijn DNS provider staat er niet tussen dus dat kan niet.

Met caddy kun je meestal ook automatisch SSL/TLS certificaten instellen. Ik heb het geprobeert in te stellen met .local domeinnamen en named aangepast zodat de DNS naar die domeinen wijst. Maar het is niet zo stabiel.

Aangezien ik het lokaal draai, wil ik ook een interne CA. Dat heb ik eerst met EJBCA geprobeerd, maar ik wil ACME gebruiken en dat zit niet in de gratis versie. Opties die ik gevonden heb zijn dan smallstep CA en Hakwerk LabCA. LabCA heeft een ingebouwd dashboard, wat ik wil wel fijn vind, dus daar ga ik voor.

Hardening en gelaagde beveiliging

Wat standaard beveiliging op de VMs instellen: MAC met SELinux en/of AppArmor, firewall op de VMs, rate limiting op logins, MFA (dit kan waarschijnlijk met behulp van SSO) enz.

Packages up to date houden

Met behulp van watchtower, unattended-updates en dnf-automatic packages up to date houden.