FreeSOC - SOC basierend auf Open Source mitteln FreeSOC ist ein full featured SOC welches auf Open Source mitteln beruht und dennoch nicht den Vergleich zu kommerziellen Produkten scheuen brauch. Einleitung Was ist überhaupt ein SOC SOC ist die Abkürzung für Security Operation Center. Dies ist eine Zusammenfassung die aus mehreren Komponenten besteht: Mitarbeiter die Umgang mit IT Sicherheit geübt oder besser noch geschult sind Produkte für die IT Sicherheit Einen Raum (mindestns) der für diesen Zweck vorgesehen ist und entsprechend eingerichtet ist (z.B. mit mehreren Monitoren zur Überwachung Die üblichen Aufgaben der Mitarbeiter umfassen: Überwachen der Infrastruktur Betreuen der Infrastruktur Updaten der Infrastruktur Schulen der Kolleginnen und Kollegen Überwachen und Betreuen der Clouddienste Überwachen und Betreuen der Internetanbindung   Welche Produkte setzen wir in unserem FreeSOC ein Das von mir zusammengefügte SOC nenne ich FreeSOC, da es auf freie Open Source Produkten beruht - die Projektseite ist https://freesoc.de und derzeit noch im Aufbau. Dies sind die folgenden: WAZUH MISP The Hive Cortex Shuffle Die Zentrale Komponente ist dabei Wazuh - dies ist ein Open Source SIEM mit XDR Funktionalitäten. Alle Daten laufen erst in WAZUH zusammen, von dort werden diese ausgewertet und weiterverarbeitet. Angebunden werden, können dort: Windows Clients/Server MacOS Clients Linux/Unix Clients/Server Geräte wie Firewalls, Switches, Router, Telefonanlagen, VPN Gateway, Mailrelays und mehr mehr über Syslog Weiterhin können auch folgende Zentrale Clouddienste überwacht werden, wie z.B.: Github Office/Microsoft 365 (und natürlich Azure) Google AWS Die Agent überwacht folgendes: Vulnarability Compliance (PCI, GDPR usw.) Status mit Berichtserstellung Und noch vieles mehr MISP ist eine zentrale Malware and Sharing Plattform, welche mehrere Feeds anbieten mit vielen interessanten Informationen wie z.B.: Bad IP Adresses Spam Adressen Tor Exitnodes IoC wie URL, IP, Hashes, Dateinamen usw. Und vieles mehr Hier werden die Datenbanken gepflegt, die uns unterstützen um z.B. IoC's zu finden. The Hive ist ein SIRP, hier werden alle Informationen gemeldet und weiterverarbeitet. Mit Hilfe unserer automatisierungsplattform Shuffel sammeln wir alle IoCs ein und übergeben diese an Cortex, unserem Analyzer - der wieder rum nutzt mehrere Systeme wie MISP, Virustotal, AbuseIP usw. um dort Informationen zu sammeln und diese in dem Vorgang in The Hive anzureichern. Nach der Bearbeitung können diese Vorgänge geschlossen und an MISP gegeben werden - um ggf. angebundenen Partnern zu Informieren. Hier mal ein Beispiel vom gesamten Workflow: Ein Beispiel wir unser SOC agiert seht ihr hier in dem Beispiel (leider erst mal nur in Englisch): Möglicher Datenaustausch im FreeSOC Der zentrale Datenbestand liegt im Wazuh - hier werden alle Daten hin geliefert. Hier benötigen Systemadministratoren und SOC Mitarbeiter Zugriffsrechte um ggf. Systeme hinzuzufügen oder zu entfernen. Die Daten werden überwacht und zur weiteren Auswertung an MISP weitergegeben. MISP greift auf mehrere Datenquellen zu und kontrolliert ob diese bekannt sind. Wenn ja, dann wird ein IoC in Wazuh erstellt. Auf MISP benötigen Sicherheitsadministatoren und SOC Mitarbeiter Zugriff, damit diese MISP pflegen (Feeds/Quellen hinzufügen und ändern usw.). Sollte ein IoC erstellt werden, wird Shuffle getriggert und ein Case in The Hive erstellt, Daten aus Wazuh geholt und mit in dem Case angereichert - mit diesen Daten werden diverse Analyzer in Cortex gestartet und alle Ergebnisse mit in den Case eingetragen. Auf The Hive und Cortex benötigen die SOC Mitarbeiter Zugriff. Wurde das Ticket bearbeitet und abgeschlossen, kann dieses in MISP archiviert werden und ggf. mit anderen angebundenen Unternehmen geteilt werden. SOC einrichten Vorbereitungen Artikel folgt noch ... Basis VM einrichten Installieren eines Ubuntu 22.04 LTS Server als Minimalversion mit angepassten LVM Setup und aktivierten SSH Server. Anschließend aktualisieren: sudo apt update sudp apt upgrade sudo init 6 Sollte dies nicht der Wazuh Server werden, anschließend Wazuh Agent installieren mit zuordnen der entsprechenden Gruppen. Danach kann dann wie folgt AutoUpdate eingerichtet werden: https://www.lastbreach.de/blog/automatische-updates-fuer-linux-server Hier ein Installationsvideo: Solltet ihr noch einen Virtualisierer benötigen wie VMWare oder Proxmox, hilft euch dieses Installationsvideo zumindest bei VMWare weiter, Proxmox folgt noch: Wazuh - SIEM Wazuh ist ein SIEM mit XDR funktionalität und unsere zentrale Komponenten. Wazuh installieren und einrichten, Agent installieren, Sysmon einrichten Agent Update Allgemeine Informationen: https://wazuh.com/install/ https://documentation.wazuh.com/current/user-manual/agents/remote-upgrading/upgrading-agent.html https://documentation.wazuh.com/current/upgrade-guide/wazuh-agent/index.html Agentupdates zentral über den Wazuh Server: Ich hatte hier jedoch massive Probleme, deshalb habe ich nachher die Agents selber auf dem entsprechenden Client selber. Um die Befehle auf dem Server oder den Clients zu starten benötigen sie entweder einen User der Gruppe Wazuh oder Root Rechte - alternativ können sie diese auch mit sudo ausführen (vor dem jeweiligen Befehl). Damit sie dies nicht bei mehreren Befehlen jedes mal machen müssen - können sie mit sudo bash eine Shell starten. Denken Sie auf jeden Fall daran, diese wieder mit exit zu beenden. Per SSH auf den Wazuh Server anmelden Sudo bash (alternativ ansonsten die Befehle einzeln mit sudo starten) /var/ossec/bin/agent_update -l /var/ossec/bin/agent_update -a CLIENT_ID Agentupdate auf dem Linux-client selber: sudo bash 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 apt-get update apt-get upgrade systemctl restart wazuh-agent systemctl status wazuh-agent Agentupdate auf dem Windows-client selber: Download des aktuellen Agents (z.B. https://packages.wazuh.com/4.x/windows/wazuh-agent-4.3.10-1.msi ) und anschließend starten der Installationsdatei. Aktuelle Datei ist hier zu finden: https://documentation.wazuh.com/current/upgrade-guide/wazuh-agent/windows.html   Agentupdate auf dem Mac-client selber: Download des aktuellen Agents (z.B. https://packages.wazuh.com/4.x/macos/wazuh-agent-4.3.10-1.pkg ) und anschließend starten der Installationsdatei. Aktuelle Datei ist hier zu finden: https://documentation.wazuh.com/current/upgrade-guide/wazuh-agent/macos.html     Syslog einrichten Artikel folgt noch ... Erstellen eines eigenen Decoders Sollten Sie Systeme mit Syslog erfassen welche noch nicht unterstützt sind, dann sind diese zwar in den Archive Logs (wazuh-archive-*) können jedoch noch keine Alerts erzeugen. Damit dies funktioniert, müssen sogenannte Decoder erstellt werden. Dies sind XML Dateien, welche die wazuh-archives-* Logs überwachen nach bestimmten Textmustern und dann diese in Alerts umwandeln, welche dann später sogar weiter interagieren können (z.B. Emailalerts, Integrations, Cases erstellen usw.). Einen Decoder für die Sophos UTM erstelle ich gerade selber, da ich diesen benötige Die Dateien für erstelle ich später auf Github wenn dieser fertig ist. Einen Beitrag von Wazuh selber, wie man Decoder selber erstellt findet ihr hier: https://wazuh.com/blog/creating-decoders-and-rules-from-scratch/   Hier ist der aktuelle Stand (Stand 21.12.2022): ^\d+:\d+:\d+-\d+:\d+:\d+\s\w+\s\w+[\d+]:\sid="\d+" sophos-utm-custom (\d+:\d+:\d+)-(\d+:\d+:\d+)\s(\w+)\s(\w+) date, time, hostname, module sophos-utm-custom name=\p(\w+\s\w+) status sophos-utm-custom severity=\p(\w+\s\w+) severity sophos-utm-custom sub=\p(\w+\s\w+) sub sophos-utm-custom sys=\p(\w+\s\w+) sys sophos-utm-custom srcip=\p(\d+.\d+.\d+.\d+)\p srcip sophos-utm-custom dstip=\p(\d+.\d+.\d+.\d+)\p dstip sophos-utm-custom srcport=\p(\d+)\p srcport sophos-utm-custom dsport=\p(\d+)\p dstport sophos-utm-custom profile=\p(\w+)\p profile sophos-utm-custom filteraction=\p(\w+)\p filteraction sophos-utm-custom url=\p(\S+)\p url sophos-utm-custom referer=\p(\S+)\p referer sophos-utm-custom reputation=\p(\w+)\p reputation sophos-utm-custom categoryname=\p(\w+)\p categoryname sophos-utm-custom user=\p(\w+)\p user sophos-utm-custom group=\p(\w+)\p group sophos-utm-custom id=\p(\d+)\p id sophos-utm-custom reason=\p(\w+)\p action Dazu ein paar Bilder, wie das in Wazuh aussieht: Index Management Wazuh pflegt seine Daten auf dem Server unter unter /var/ossec/logs Die wichtigsten sind: /var/ossec/logs/alerts /var/ossec/logs/archives Letzteren finden Sie, erst wenn die Sysog aktiviert haben und auch Gerät welche keine Agents nutzen können unterstützen wollen (z.B. VMWare, Switche, Firewalls, Gateway, VPNs usw.). Die Indizies (Logs) finden Sie wie folgt: Loggen Sie sich im Wazuh Dashboard ein Gehen Sie oben Links auf die drei Balken Wählen Sie unten Index Management Dann unter Indicies finden sie die Indizies - besonders die unter wazuh-archives-* (für Syslogs) können sehr groß werden. Damit nun die Festplatte nicht voll läuft, sollten das Index Management eingerichtet werden. Hierzu bietet Wazuh einen Blogartikel an: https://wazuh.com/blog/wazuh-index-management/ Dieser Artikel beruht auf einer älteren Version und sieht ein wenig anders aus - das ist jedoch nicht schlimm, wir benötigen nur den unteren Textteil. Richten wir nun eine Index Management Policy ein: Gehen Sie links auf dem Punkt Index Policies Wählen Sie oben rechts Create Policy Wählen sie bei Configuration Method den JSON Editor aus Vergeben sie nun eine Policy ID wie z.B. cleanup-policy Ersetzen Sie den Inhalt durch den unten und wählen Sie Create { "id": "cleanup-policy", "seqNo": 3244, "primaryTerm": 1, "policy": { "policy_id": "cleanup-policy", "description": "Cleanup Indicies Rule. Set after 15 Days to cold (Read Only) and delte it after 60 Days.", "last_updated_time": 1669980175085, "schema_version": 12, "error_notification": null, "default_state": "hot", "states": [ { "name": "hot", "actions": [ { "replica_count": { "number_of_replicas": 0 } } ], "transitions": [ { "state_name": "cold", "conditions": { "min_index_age": "15d" } } ] }, { "name": "cold", "actions": [ { "read_only": {} } ], "transitions": [ { "state_name": "delete", "conditions": { "min_index_age": "60d" } } ] }, { "name": "delete", "actions": [ { "delete": {} } ], "transitions": [] } ], "ism_template": [ { "index_patterns": [ "wazuh-*" ], "priority": 100, "last_updated_time": 1669967389155 } ] } } Sollten Sie mehrere Wazuhserver bzw. Knoten haben - dann können Sie auch mehrere Replicas wählen - maximal die Anzahl der Knoten, die sie haben. Die Indizies, die aktuell genutzt werden sind Hot . Cold hingegen sind nur noch zum lesen vorhanden und belegen so weniger Systemressourcen (Ram und CPU, nicht Festplattenplatz). Delete gibt hingegen an, ab wann die Indizies (also die Dateien!) gelöscht werden. Diese sind danach nicht mehr zu nutzen, sofern sie diese nicht ausgelagert oder gesichert haben. Ab nun an, werden die Indicies auf die Zukunft gepflegt. Sollten Sie diese Regel zu Anfang einrichten - sind sie nun fertig. Sollten Sie jedoch schon Indizies haben und möchten diese bereinigen (sehen Sie bitte davon ab, diese einfach von der Festplatte zu löschen - da sonst Wazuh nicht mitbekommt, das diese entfernt wurden), gehen sie einfach links auf Indicies und geben bei Search wazuh-alerts  ein - wählen sie alle aus und klicken sie oben auf Apply Policy und wählen die eben erstellte Policy aus. Sollte die Festplatte schon vollgelaufen sein und sie virtualisieren - dann können Sie in der Virtualisierung die Festplatte vergrößern und mit Tools wie Gparted booten und damit die virtuelle Festplatte vergrößern. Sollten sie ein physiches System benutzen könnten Sie eine weitere Platte einsetzen, diese formatieren und temporär mounten - die Dienste beenden, danach die Dateien rüberkopieren und anschließend den alten Ordner löschen. Nachdem sie die fstab angepasst haben und neugestartet haben, sollten wieder alles in Ordnung sein. Sie sollten jedoch unbedingt vorher Sicherungen erstellen! Anpassen des Designs Dieser Artikel folgt noch ... Office 365 einrichten Artikel folgt noch ... Github einrichten Artikel folgt noch ... Wazuh Denoising [Rule 510]: Trojaned version of file detected (/bin/diff) Lösung: Copy https://github.com/ossec/ossec-hids/blob/master/src/rootcheck/db/rootkit_trojans.txt to /var/ossec/etc/shared/ on your hub server. upgrade from source out of master Weitere Informationen: https://github.com/ossec/ossec-hids/issues/2020 [Rule 92213]: Executable file dropped in folder commonly used by malware (cleanmgr.exe) Lösung: Erstellen/erweitern der overwrites-custom-warnings.xml mit folgenden Inhalt (ggf. Rule ID anpassen): 92204 C:\\\\Windows\\\\system32\\\\sdiagnhost\.exe no_full_log CleanMGR - Downlevel Info [Rule 510]: Host-based anomaly detection event (/var/lib/docker/overlay2 und /var/lib/docker/volume) Anpassen der Konfigurationsdatei im Bereich Rootcheck, anschließend Manager neu starten: /var/lib/docker/overlay2/ /var/lib/docker/volume/ Keine Vulnerability detects für Ubuntu 22.04 Hinzufügen zu der Konfiguration im Abschnitt Vulnerability-detector / Provider Canonical - anschließend speichern und Manager neustarten: jammy [Rule: 92201]: powershell.exe created a new scripting file under Windows Temp or User data folder (PSPolicyScript) Lösung: Erstellen/erweitern der overwrites-custom-warnings.xml mit folgenden Inhalt (ggf. Rule ID anpassen): 92213 C:\\\\Windows\\\\system32\\\\wsmprovhost.exe AppData\\\\Local\\\\Temp\\\\__PSScriptPolicyTest_* PSScript PolicyTest ignorieren Quelle: https://www.reddit.com/r/Wazuh/comments/174enng/create_exclusion_for_false_positive/?rdt=50834 overwrites-custom-warnings.xml 60104 ^577$|^4673$ no_full_log Failed attempt to perform a privileged operation. 92213 C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)cleanmgr\.exe CleanMGR - Downlevel Info 510 /usr/sbin/apachectl Ignoring the rootcheck alert for the file: $(data.file). 550 \/etc\/cups\/subscriptions\.conf|\/etc\/cups\/subscriptions\.conf\.O Known file 533 Netstart Warnings move down 92151 C:\\\\Program Files\\\\Veeam\\\\\.+\\\\Veeam\.\w+\.\w+\.exe Powershell started by Veeam 92152 C:\\\\(?i)Windows\\\\(?i)System32\\\\spool\\\\drivers\\\\x64\\\\3\\\\PrintConfig.dll Printer Powershell commands 92204 C:\\\\Program Files|Program Files \(x86\)\\\\Google\\\\Chrome\\\\Application\\\\chrome\.exe C:\\\\Users\\\\.+\\\\AppData\\\\Local\\\\Temp\\\\.+\\\\software_reporter_tool\.exe Chrome Software Reporter 92204 C:\\\\Program Files|Program Files \(x86\)\\\\Google\\\\Update\\\\GoogleUpdate\.exe C:\\\\Users\\\\.+\\\\AppData\\\\Local\\Temp\\\\.+\.exe Chrome Update 5402 Successful sudo to ROOT executed (Higher leveled). 5501 PAM: Login session opened (Higher leveled). 5502 PAM: Login session closed (Higher leveled). 5403 First time user executed sudo (Higher leveled). 5715 sshd: authentication success (Higher leveled). 5104 Interface entered in promiscuous(sniffing) mode. Interface entered in promiscuous(sniffing) mode - Cortex Analyzer working 110009 pihole www-data Successful sudo to ROOT executed (Higher leveled). 5502 pihole www-data PAM: Login session closed (Down leveled). 92151 C:\\\\Program Files\\\\Veeam\\\\Backup365\\\\Veeam\.Archiver\.Service\.exe/gm Veeam starts Powershell commands 100651, 100653 C:\\\\Program Files|Program Files \(x86\)\\\\TeamViewer\\\\Update\\\\update\.exe no_full_log TeamViewer Update 550 /etc/pihole/\.+ Ignoring PIHOLE Updates config 92151 BITSYSTEMS-GMBH\\\\svc_monitoring|RESDOM\\\\svc_prtg Powershell started by PRTG 92151 C:\\\\(?i)Windows\\\\(?i)System32\\\\(?i)ServerManager\.exe Powershell started by Servermanager 92151 C:\\\\Program Files \(x86\)\\\\Trend Micro\\\\Security Agent\\\\utilCmdletWrapper\.exe Powershell started by TrendMicro 92151 \w:\\\\Exchange Server\\\\Bin\\\\Microsoft.Exchange.Store.Worker.exe Powershell started by Exchange Server 92204 C:\\\\Program Files (x86)\\\\Citrix\\\\ICA Client\\\\receiver\\\\Receiver.exe C:\\\\Users\\\\\w+\\\\AppData\\\\Local\\\\Temp\\\\\d\\\.+\\\\CitrixReceiverUpdater.exe Citrix Receiver Update 119003 127.0.0.1|aka.ms Misp IoC's downgrade (false/positive) 9224 C:\\\\Users\\\\\w+\\\\Downloads\\\\MicrosoftEdgeSetup\.exe C:\\\\Users\\\\\.+\\\\AppData\\\\Local\\\\Temp\\\\\.+\\\\\.+\\\\MicrosoftEdgeUpdate\w+\.exe Edge Update 510 /var/tmp/tmccinstcheck\.dat TrendMicro Mac Updatecheck 510 /tmp/ubuntu-advantage/candidate-version Ubuntu Advantage File 92204 C:\\\\(?i)Windows\\\\(?i)system32\\\\sdiagnhost\.exe no_full_log CleanMGR - Downlevel Info 100652 C:\\\\(?i)Windows\\\\(?i)system32\\\\schtasks\.exe C:\\\\Program Files\\\\Common Files\\\\Microsoft Shared\\\\ClickToRun Office 365 Softwareupdate 92900 C:\\\\ProgramData\\\\Microsoft\\\\Windows Defender\\\\Platform\\\\.+\\\\MsMpEng\.exe C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)lsass\.exe Defender Scan lsass.exe 92201 PSScriptPolicyTest Powershell PSScriptPolicyTest 92213 C:\\\\(?i)Windows\\\\(?i)system32\\\\ServerManager\.exe ServerManager - Downlevel Info 100652 C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)schtasks\.exe C:\\\\(?i)Program Files\\\\(?i)Common Files\\\\(?i)microsoft shared\\\\(?i)ClickToRun\\\\(?i)officesvcmgr\.exe Office 365 Softwareupdate 92900 C:\\\\(?i)Windows\\\\(?i)system32\\\\svchost\.exe|C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)MRT\.exe C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)lsass\.exe SVChost/Defender access lsass.exe 510 /tmp/filter.lock Downlevel Anomalidetection 87702 192.168.33.240 OPNsense: $(agent.name) on $(hostname) - Source $(srcip) Destionation $(dstip) 510 /bin/diff Ignoring the rootcheck alert for the file: $(data.file). 92213 C:\\\\(?i)Windows\\\\(?i)Application Compatibility Scripts\\\\(?i)acregl\.exe ServerManager - Downlevel Info 92213 C:\\\\Windows\\\\system32\\\\wsmprovhost.exe AppData\\\\Local\\\\Temp\\\\__PSScriptPolicyTest_* Ignore PSScript PolicyTest 92213 C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)wsmprovhost\.exe|C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)sdiagnhost\.exe C:\\\\(?i)Users\\\\\w+\\\\(?i)AppData\\\\(?i)Local\\\\(?i)Temp\\\\__PSScriptPolicyTest_\w+\.\w+\.ps1 Ignore PSScript PolicyTest 92657 MGMT-SRV MGMT-SRV RDP Logon downlevel 60602 C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)ntdsperf\.dll Windows Perflib downlevel 100652 C:\\\\(?i)Program Files\\\\(?i)Common Files\\\\(?i)microsoft shared\\\\(?i)ClickToRun\\\\(?i)officesvcmgr\.exe Schedular Officeupdate downlevel overwrites-custom-misp.xml 119003 cdn.discordapp.com|discord.com|discord.gg Ignoring MISP IoC for $(misp.value) 119003 google.com|www.google.com Ignoring MISP IoC for $(misp.value) 119003 .+C:\\\\Program Files \(x86\)\\\\PRTG Network Monitor\\\\PRTG Probe\.exe Ignoring MISP IoC for $(misp.value) 119003 dc Ignoring MISP IoC for $(misp.value) 119003 sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 Ignoring MISP IoC for $(misp.value) 119003 127\.0\.0\.1|0\.0\.0\.0|192\.168\.1\.\d Ignoring MISP IoC for $(misp.value) 119003 php.net|www.php.net Ignoring MISP IoC for $(misp.value) overwrites-custom-o365.xml 91725 (?i).+\.prod\.outlook\.com\/Microsoft Exchange Hosted Organizations\/.+\.onmicrosoft\.com\/DiscoverySearchMailbox{.+-.+-.+-.+-.+} Office 365: User got FullAccess permissions in Exchange (Downlevel DiscoverySearchMailbox) office365 !Germany Office 365 used in: $(GeoLocation.country_name).   overwrites-custom-sophos.xml sophos-utm-custom Sophos: log without rule 117001 Authentication successful|AFC Alert|strict TCP Sophos: $(status) on $(hostname) - $(module): $(status) 117001 Authentication failed Sophos: $(status) on $(location) - User $(dstuser) [$(srcip)] 117001 smtp Sophos: $(status) on $(hostname) - User $(dstuser) [$(srcip)] 117001 Packet accepted Sophos: $(status) on $(hostname) - Source $(srcip) Destionation $(dstip) 117001 Packet dropped Sophos: $(status) on $(hostname) - Source $(srcip) Destionation $(dstip) 117001 Packet dropped (GEOIP) Sophos: $(status) on $(hostname) - Source $(srcip) Destionation $(dstip) 117001 /var/chroot-httpd/var/webadmin/extra/httpd_session_cleanup Sophos: httpdcleanup on $(hostname) overwrites-unifi-udm-custom.xml unifi-udm-custom Unifi: log without rule MISP - Malware Sharing Plattform MISP installieren Artikel folgt noch ... MISP einrichten Artikel folgt noch ... Wazuh an MISP anbinden Artikel folgt noch ... The Hive - SIRP The Hive installieren Artikel folgt noch ... The Hive einrichten Artikel folgt noch ... The Hive updaten Bevor sie updaten, stellen sie bitte sicher das sie in aktuelles Backup haben oder ein Snapshot erstellt haben - sofern sie Virtualisierung nutzen. Loggen sie sich auf dem The Hive Server ein per SSH oder Console. Rest folgt noch ... The Hive - bekannte Probleme In der Version bis 5.0.23-1 hatte ich das Problem, das ich Cases und Alerts unter bestimmen Umständen nicht mehr löschen konnte. Dies wurde gemeldet und soll mit der Version 5.1.1. behoben sein. Cortex - Analyzer Cortex ist ein Analyzer, welchen wir an the Hive angebunden haben. Dieser kann jedoch auch alleinstehend genutzt werden oder gar dank der ResAPI auch in anderen Produkten wie Shuffle, Wazuh usw. Cortex installieren Artikel folgt noch ... Cortex einrichten Artikel folgt noch ... Shuffle - Automation Plattform Shuffle installieren Artikel folgt noch ... Shuffle einrichten Artikel folgt noch ... Workflow: Case in The Hive erstellen mit Daten aus Wazuh Artikel folgt noch ... Allgemeine Sicherheit Datensicherung Im Open Source Bereich sieht es im Thema Datensicherung nicht so gut aus. Jedoch bieten auch einige Hersteller abgespeckte Versionen ihrer Professionellen Produkte kostenlos an. Ich bevorzuge die Produkte vom Hersteller Veeam - so bietet er z.B.die folgenden Produkte an: Sicherung Windows / Linux Rechner Sicherung VMWare / HyperV Hypervisor Sicherung Office /Microsoft 365 Und noch vieles mehr ... Die Downloads findet ihr  hier.     BSI bietet auch kostenlos Unterstützung an Das BSI bietet mehrere Mittel um zu Unterstützen. So bietet es für Privatpersonen einen Newsletter an welcher über Software und Geschehnisse berichtet für den privaten Sektor. Diese Newsletter bietet das BSI auch den Kommerziellen Bereich an, hier wird jedoch eher auf Firmenprodukte eingegangen. Weiterhin bietet es ein Magazin an, welches viele Informationen rund um die IT - und Cyber - Sicherheit bietet: BSI - BSI-Magazin (bund.de) . Auch eine interessanter Dienst, ist die Allianz für Cybersicherheit - hier kann man einen Bündnis beitreten, welches viele Informationen und auch eine Anlaufstelle bietet rund um das Thema Cybersicherheit. Hier gibt es jedoch nicht nur Hilfe zur Prävention, sondern auch wenn schon was vorgefallen ist. Containersicherheit Fast immer nutzt man Docker Container, die von anderen bereitgestellt werden. Dabei ist man darauf angewiesen, das diese sich um die Sicherheit kümmern. So gibt es mehrere Punkte zum Thema Sicherheit die man beachten sollte: Zum einen sollten die verwendeten Quellen keine Sicherheitslücke (CVE) aufweisen. Viele Komponenten setzen Web- oder Datenbankkomponente ein, hier gibt es auch bestimmte Probleme mit SQL Injection, Cross Site Scripting usw. Es könnten Keys oder fest eingerichtete User oder gar Backdoors eingerichtet sein. Ein Open Source Tool, welches als CLI installiert werden kann direkt auf den Docker host selber ist z.B. Triny . Installation sudo apt-get install wget apt-transport-https gnupg lsb-release wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/trivy.gpg > /dev/null echo "deb [signed-by=/usr/share/keyrings/trivy.gpg] https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list sudo apt-get update sudo apt-get install trivy Befehle # Beispiel trivy image --ignore-unfixed --scanners vuln > Scan: trivy image --ignore-unfixed --scanners vuln vaultwarden/server:latest > /home/pleibling/240420_vaultwarden_report.txt Formulare Erstellen sie eine lokale Formatvorlage, als Beispiel könnte diese hier dienen: https://github.com/aquasecurity/trivy/blob/main/contrib/html.tpl Passen sie diese Vorlage ihren wünschen entsprechend an und speichern sie diese ab.  Mit dem folgenden Befehl können Sie dann diese Vorlage verwenden: # Vorlage: trivy image --format template --template "@html.tpl" -o # Beispiel: trivy image --format template --template "@html.tpl" -o report.html phpmyadmin Weitere Informationen https://www.heise.de/hintergrund/Marktuebersicht-Sicherheitsscanner-fuer-Container-Images-9682078.html?seite=all https://github.com/aquasecurity/trivy https://medium.com/@maheshwar.ramkrushna/scanning-docker-images-for-vulnerabilities-using-trivy-for-effective-security-analysis-fa3e2844db22 https://aquasecurity.github.io/trivy/v0.48/docs/configuration/filtering/ https://www.youtube.com/watch?v=Em_DdKkPUR8 Agent Installationen Wazuh Agent installieren Meldet euch im Wazuh an und wählt dann unter den Agents > Deploy Agent. Alternativ aber auch hier noch mal. Windows Wazuh Agent installieren: Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.6.0-1.msi -OutFile ${env.tmp}\wazuh-agent; msiexec.exe /i ${env.tmp}\wazuh-agent /q WAZUH_MANAGER='192.168.50.10' WAZUH_AGENT_GROUP='default,SERVERS,WINDOWS' WAZUH_REGISTRATION_SERVER='192.168.50.10' Windows Agent starten: NET START WazuhSvc Linux Agent installieren: Folgt noch. Proxmox Agent installieren: Installation für Proxmox ist besser wenn man diese manuell ausführt, eine Anleitung findet ihr hier: https://wiki.leibling.de/books/freesoc-soc-basierend-auf-open-source-mitteln/page/wazuh-agent-installieren-auf-proxmox-pve-pbs-und-evtl-pmr. Elastic Agent installieren Elastic Agent installieren: $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.10.4-windows-x86_64.zip -OutFile elastic-agent-8.10.4-windows-x86_64.zip Expand-Archive .\elastic-agent-8.10.4-windows-x86_64.zip -DestinationPath . cd elastic-agent-8.10.4-windows-x86_64 .\elastic-agent.exe install --url=https://192.168.50.20:8220 --enrollment-token=bG9RUG9Zc0JnN1Q5NzctWExPZEI6MzVTaGpiR0pTd3VhTUN1aXdFVWZ6Zw== --insecure   Wazuh Agent installieren auf Proxmox (PVE, PBS und evtl. PMR) Die aktuellen Proxmox Versionen nutzen Debian 12 (Stand 04/2024). Diese sollten normalerweise unterstützt werden - jedoch lassen sie diese nicht so einfach installieren, bzw. in Betrieb nehmen. Ich hatte beispielsweise das Problem, das sich der Agent zwar installieren aber nicht starten ließ (z.B. fehlte der User Wazuh, was man in der /etc/passwd sehen konnte - aber es fehlen auch noch andere Dinge, die Wazuh benötigt. Sollte eine zuvor versuchte Installation noch vorhanden sein, dann diese wieder entfernen: apt remove --purge wazuh-agent Danach müssen wir dann den Client erst mal runterladen (aktuelle Übersicht der Downloadadressen findet ihr hier: https://documentation.wazuh.com/current/installation-guide/packages-list.html - hier könnt ihr mit der rechten Maustaste auf den Link gehen und dann die Adresse kopieren), z.B. wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.7.3-1_amd64.deb Anschließend dann die Vorraussetzungen erfüllen und folgende Komponenten laden: apt install lsb-base lsb-release Danach dann die benötigen Variablen laden, die der Agent bei der Installation verwendet (bitte verwendet natürlich eure eigenen Daten: WAZUH_MANAGER='192.168.1.1' WAZUH_AGENT_GROUP='default,LINUX,SERVER,PROXMOX' Danach könnt ihr dann auch schon den Agent installieren mit: dpkg -i wazuh-agent_4.7.3-1_amd64.deb Anschließend den Dienst registrieren und starten: systemctl daemon-reload systemctl enable wazuh-agent systemctl start wazuh-agent Sollte der Start einen Fehler ausgeben, dann könnt ihr den wie folgt kontrollieren: systemctl status wazuh-agent Sollte dort angegeben werden, das der Manager nicht gefunden wurde, dann hat das Setup die Daten die variablen nicht richtig übernommen, kontrolliert bitte ob in der Daten /var/ossec/etc/ossec.conf die Adresse verwendet wird und nicht der Name MANAGER_IP - ihr könnt auch direkt die Gruppen und das Debian Profil kontrollieren - es sollte ungefähr so aussehen:
192.168.1.1
1514 tcp
debian, debian12 10 60 yes aes yes default,PROXMOX,LINUX,SERVERS etc/authd.pass
Wenn ihr dies geändert habt, dann könnt ihr wieder den Agent erneut starten und kontrollieren ob er gestartet wurde: systemctl start wazuh-agent systemctl status wazuh-agent Der Agent sollte nun nach kurzer Zeit in eurer Wazuh Agent Übersicht auftauchen. Noch ein wenig schneller geht es, wenn ihr den Teil mit den Variablen laden überspringt - während das bei fast allen Linux Systemen funktioniert, scheint es bei den Proxmox Systemen nicht zu funktionieren) und auch bevor ihr den Dienst registriert/startetn schon vorher die ossec.conf kontrolliert und ggf. anpasst. So sollte dann jeder Agent in ca. 3 Minuten installiert sein.