Server-Überwachungstools: Grafana, Prometheus und Netdata
Prometheus + Grafana Stack-Einrichtung, Netdata, node_exporter, Alarmregeln, Dashboard-Erstellung und Server-Metrik-Überwachung.
Wazuh Docker-Installation, Agent-Deployment, Log-Analyse, Dateiintegritätsüberwachung, Schwachstellenscanning, Compliance-Auditing und Dashboard.
Wazuh ist eine Open-Source-Sicherheitsplattform. Sie bietet umfassende Sicherheitsfunktionen wie SIEM, IDS, Schwachstellenscanning, Dateiintegritätsüberwachung und Compliance-Auditing in einer einzigen Plattform.
Kernkomponenten und Funktionen:
git clone https://github.com/wazuh/wazuh-docker.git -b v4.9.0
cd wazuh-docker/single-node
docker compose -f generate-indexer-certs.yml run --rm generator
docker compose up -d
Dashboard-Zugang:
https://SERVER_IP:443
Benutzername: admin
Passwort: SecretPassword
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list
sudo apt update
sudo WAZUH_MANAGER='WAZUH_SERVER_IP' apt install wazuh-agent -y
sudo systemctl daemon-reload
sudo systemctl enable --now wazuh-agent
Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.9.0-1.msi -OutFile wazuh-agent.msi
msiexec.exe /i wazuh-agent.msi /q WAZUH_MANAGER='WAZUH_SERVER_IP'
NET START WazuhSvc
sudo /var/ossec/bin/agent_control -l
sudo /var/ossec/bin/agent_control -i AGENT_ID
<ossec_config>
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>udp</protocol>
<allowed-ips>192.168.1.0/24</allowed-ips>
</remote>
</ossec_config>
<ossec_config>
<localfile>
<log_format>syslog</log_format>
<location>/var/log/myapp/app.log</location>
</localfile>
<localfile>
<log_format>json</log_format>
<location>/var/log/myapp/access.json</location>
</localfile>
</ossec_config>
<decoder name="myapp">
<program_name>myapp</program_name>
</decoder>
<decoder name="myapp-auth">
<parent>myapp</parent>
<regex>Authentication (\S+) for user (\S+) from (\S+)</regex>
<order>status, user, srcip</order>
</decoder>
<group name="myapp,">
<rule id="100001" level="5">
<decoded_as>myapp-auth</decoded_as>
<match>Authentication failed</match>
<description>MyApp: Fehlgeschlagener Anmeldeversuch</description>
</rule>
<rule id="100002" level="10" frequency="5" timeframe="120">
<if_matched_sid>100001</if_matched_sid>
<same_source_ip />
<description>MyApp: Brute-Force-Angriff erkannt</description>
</rule>
</group>
<ossec_config>
<syscheck>
<disabled>no</disabled>
<frequency>43200</frequency>
<scan_on_start>yes</scan_on_start>
<directories check_all="yes" realtime="yes">/etc,/usr/bin,/usr/sbin</directories>
<directories check_all="yes" realtime="yes">/var/www/html</directories>
<ignore>/etc/mtab</ignore>
<ignore type="sregex">.log$|.swp$</ignore>
</syscheck>
</ossec_config>
<ossec_config>
<vulnerability-detector>
<enabled>yes</enabled>
<interval>5m</interval>
<run_on_start>yes</run_on_start>
<provider name="canonical">
<enabled>yes</enabled>
<os>focal</os>
<os>jammy</os>
</provider>
<provider name="nvd">
<enabled>yes</enabled>
<update_interval>1h</update_interval>
</provider>
</vulnerability-detector>
</ossec_config>
<ossec_config>
<active-response>
<command>firewall-drop</command>
<location>local</location>
<rules_id>100002</rules_id>
<timeout>3600</timeout>
</active-response>
</ossec_config>
Wazuh bietet Compliance-Auditing für verschiedene Sicherheitsstandards: PCI DSS, GDPR, HIPAA, NIST 800-53, TSC SOC2.
TOKEN=$(curl -k -X POST 'https://localhost:55000/security/user/authenticate' \
-u wazuh-wui:MyS3cr37P450r.*- | jq -r '.data.token')
curl -k -X GET "https://localhost:55000/agents?pretty=true" \
-H "Authorization: Bearer $TOKEN"
# Aktualisierung
cd wazuh-docker/single-node
docker compose down
docker compose pull
docker compose up -d
# Sicherung
docker exec wazuh-manager tar -czf /tmp/wazuh-backup.tar.gz /var/ossec/etc /var/ossec/logs
docker cp wazuh-manager:/tmp/wazuh-backup.tar.gz ./wazuh-backup-$(date +%Y%m%d).tar.gz
Mit Wazuh SIEM auf Ihren REXE-Servern können Sie umfassende Sicherheitsüberwachung, Log-Analyse, Schwachstellenscanning und Compliance-Auditing durchführen. Die agentenbasierte Architektur ermöglicht die Verwaltung aller Server über ein zentrales Dashboard.
Überprüfen Sie, ob die Container laufen: 'docker ps'. Warten Sie, bis der Wazuh Indexer bereit ist (kann beim ersten Start einige Minuten dauern). Stellen Sie sicher, dass Port 443 in der Firewall geöffnet ist. Prüfen Sie die Dashboard-Logs: 'docker logs wazuh-dashboard'. Verwenden Sie HTTPS.
Überprüfen Sie, ob der Wazuh Manager läuft. Stellen Sie sicher, dass die Ports 1514 und 1515 in der Firewall geöffnet sind. Überprüfen Sie die WAZUH_MANAGER IP-Adresse in der Agent-Konfiguration. Prüfen Sie die Agent-Logs: '/var/ossec/logs/ossec.log'.
Wazuh Indexer (OpenSearch) verwendet standardmäßig 1GB Heap. Passen Sie OPENSEARCH_JAVA_OPTS in docker-compose.yml an. Mindestens 4GB RAM wird empfohlen. Bereinigen Sie alte Indizes oder richten Sie eine Aufbewahrungsrichtlinie ein.
Fügen Sie einen localfile-Block zur ossec.conf des Agents hinzu. Verwenden Sie syslog, json oder multi-line als log_format. Schreiben Sie benutzerdefinierte Decoder und Regeln. Starten Sie den Agent nach Änderungen neu.
Überprüfen Sie, ob das vulnerability-detector Modul in ossec.conf aktiviert ist. Stellen Sie sicher, dass Provider korrekt konfiguriert sind. Der erste Scan kann mehrere Stunden dauern. Prüfen Sie die Manager-Logs.
Erstellen Sie ein benutzerdefiniertes Skript im Wazuh-Integrations-Verzeichnis. Fügen Sie einen Integration-Block in ossec.conf mit der Telegram-API-URL und Ihrem Bot-Token hinzu. Legen Sie den Alert-Level-Schwellenwert fest.
Prometheus + Grafana Stack-Einrichtung, Netdata, node_exporter, Alarmregeln, Dashboard-Erstellung und Server-Metrik-Überwachung.
Squid Forward Proxy, HAProxy Load Balancer, SSL-Terminierung, ACL-Regeln, Caching, Health Checks und Hochverfügbarkeit.
Nginx Proxy Manager Docker-Installation, automatische SSL-Zertifikatserneuerung, Proxy-Host-Konfiguration, Zugriffslisten, Weiterleitungen, Streams und benutzerdefinierte Locations.