Blogpost / Projekt

Edge-Brain — Autonomes SOC mit lokalem KI-Agenten

Tutorial: Schritt-für-Schritt-Aufbau eines autonomen SOC-Orchestrators auf einem Dell Wyse 5070 mit LLM-Inferenz via LM Studio auf einem separaten GPU-Desktop – vollständig On-Premises.

Systemintegration & KI Edge Computing Automation

Vorwort – Warum ein Thin-Client mit KI?

Meine Motivation

Die Ausgangslage in vielen kleinen und mittelständischen Betrieben, also genau dem Umfeld, in dem ich und die meisten anderen sich bewegen, sieht meistens so aus: begrenztes Budget, überschaubares IT-Personal (oft genau eine Person, nämlich ich), aber trotzdem die Erwartung, dass Infrastruktur und Security auf Enterprise-Niveau laufen. Klassische Monitoring- und SIEM-Lösungen? Teuer, komplex, und sie erzeugen am Ende vor allem eins: Alerts, die niemand auswertet, weil die Zeit dafür fehlt.

Gleichzeitig ist KI gerade überall – aber ehrlich, ich wollte nicht einfach nur ChatGPT irgendwo draufkleben und es „KI-gestützte Automatisierung" nennen. Was mich wirklich interessiert hat, war die Frage: Kann ein LLM als lokaler, isolierter Agent tatsächlich operative Arbeit abnehmen? Nicht als Spielzeug, sondern als Werkzeug, das Telemetrie analysiert, Anomalien erkennt und mir fundierte Handlungsvorschläge macht – während ich die Kontrolle behalte.

Ein paar Beweggründe, die mich konkret getrieben haben:

  1. Security Operations ohne Security-Team. Angriffe wie der Mirai-Botnetz-Scan aus meinem Szenario passieren ständig, vollautomatisch, rund um die Uhr. Ich schlafe aber nachts. Ein Agent, der eBPF-Telemetrie auswertet und mir morgens sagt „Host X hat 300 Telnet-Verbindungsversuche gemacht, hier ist mein Vorschlag", ist realistischer als ein 24/7-SOC – und eine spannende technische Herausforderung.
  2. Hardware-Separation aus Prinzip. Ein 32B-LLM braucht eine dicke GPU. Mein Edge-Node soll aber 5 Watt verbrauchen und unauffällig im Netzwerk sitzen. Die Lösung – Inferenz auf dem Desktop mit LM Studio, Ausführung auf dem Wyse 5070 – ist nicht nur pragmatisch, sondern auch ein Security-Feature: Der Thin-Client mit den Credentials und Tools redet mit dem LLM nur über eine strikt begrenzte API. Kein Internetzugang fürs Modell, keine Secrets im Prompt. Das war für mich eine der wichtigsten Lektionen: Architektur ist Datenschutz.
  3. Lernen durch Bauen (und Scheitern). Ich hätte auch einfach die Doku zu Ansible, eBPF und der NVD-API lesen können. Habe ich auch – aber richtig verstanden habe ich die Konzepte erst, als ich sie in einem Gesamtsystem zusammenzwingen musste. Function Calling, Tool-Whitelists, LXC-Sandboxes für Patch-Tests: Das alles ergibt erst Sinn, wenn man sieht, warum man es braucht.
  4. Der Realitätscheck: Mensch bleibt im Loop. Ein Punkt, der mir wichtig ist, weil er oft unterschlagen wird: Ich lasse die KI nichts eigenständig auf produktive Systeme los. Jedes Ansible-Playbook, jede Switch-Isolation geht durch meine Freigabe. Das ist kein Mangel des Systems – das ist Design. Automatisierung ohne Kontrolle ist keine Lösung, sondern ein Incident mit Verzögerung.

Was dich in diesem Tutorial erwartet

Wir nehmen einen frisch mit Ubuntu Server 24.04 installierten Dell Wyse 5070 und bauen Schritt für Schritt einen KI-Orchestrator, der zwei reale Szenarien abdeckt: die verhaltensbasierte Netzwerkanalyse mit eBPF (inklusive Erkennung eines Mirai-ähnlichen Scans) und ein automatisiertes Security-Audit eines vServers mit CVE-Abgleich und Patch-Vorschlag. Am Ende hast du ein lauffähiges System – und hoffentlich, genau wie ich, deutlich mehr Fragen als am Anfang. Das ist gut so.

Voraussetzungen

Grundkenntnisse in Linux, Netzwerken und Python schaden nicht, Motivation schadet definitiv nicht. Einen zweiten Rechner brauchst du übrigens auch – konkret sieht die Einkaufsliste so aus:

  • Ein Dell Wyse 5070 (oder ein vergleichbarer stromsparender x86-Mini-PC – ein alter Thin-Client aus der Bucht tut's auch) mit frisch installiertem Ubuntu Server 24.04
  • Eine Workstation mit GPU – für das Qwen2.5-32B in Q4_K_M sollten es schon ~24 GB VRAM sein (bei mir: RTX 4090). Weniger VRAM? Nimm ein kleineres Modell, das Prinzip bleibt gleich.
  • Beide Kisten im selben LAN – idealerweise über WireGuard verbunden, dazu kommen wir in Teil 6
  • Optional, aber nice to have: ein managed Switch (für die Port-Isolation im Angriffsszenario) und ein Test-vServer oder eine VM als „Opfer" für das Audit
  • Zeit und Neugier – beides wird strapaziert, versprochen

Noch ein Wort der Warnung

Alle IP-Adressen, Hostnamen und Netzbereiche in diesem Tutorial (10.10.99.0/24, vserver-alpha und Co.) sind Beispiele aus meinem Labor. Du musst sie auf deine Umgebung anpassen – und bitte teste das Ganze nicht zuerst im produktiven Netz deines Ausbildungsbetriebs. Genau dafür sind Homelabs da.

So ist das Tutorial aufgebaut

  1. Teil 1: LLM-Server mit LM Studio auf dem Desktop einrichten
  2. Teil 2: Basis-Setup des Wyse (Python, eBPF, Ansible, LXC)
  3. Teil 3: Die Hermes-CLI bauen – Function Calling gegen das lokale LLM
  4. Teil 4: MCP-Tool-Server anbinden (eBPF, NVD, Switch-API)
  5. Teil 5: Die Szenarien nachspielen – Mirai-Erkennung & vServer-Audit
  6. Teil 6: Härtung, WireGuard, systemd-Service – damit das Ding auch dauerhaft läuft

Genug der Vorrede – schnappen wir uns den Thin-Client und fangen an. Der 5-Watt-Kasten wird dir zeigen, dass er mehr kann, als man ihm ansieht.


Ziel dieses Tutorials: Du baust aus einem Dell Wyse 5070 (Ubuntu Server 24.04, headless) einen KI-gesteuerten SOC-Orchestrator. Die LLM-Inferenz läuft auf einem separaten Desktop-PC mit GPU via LM Studio. Am Ende kannst du Befehle wie analyze local-network --behavioral und audit vserver-alpha --deep-scan ausführen.


Architektur-Überblick

Der Wyse 5070 führt kein lokales LLM aus. Die Inferenz läuft auf einem separaten Desktop-PC mit dedizierter GPU (≥24 GB VRAM), auf dem LM Studio das Modell Qwen2.5-32B-Instruct-Q4_K_M (~19,9 GB GGUF) lädt und über den integrierten Server im LAN bereitstellt. Der Hermes-Agent auf dem Wyse nutzt die OpenAI-kompatible API (base_url=http://<desktop-ip>:1234/v1) für alle Inferenz-Aufgaben.

Systemarchitektur
┌─────────────────────────────┐ LAN / WireGuard ┌──────────────────────────────┐ │ Thin Client (Wyse 5070) │ HTTP REST OpenAI-compat │ Desktop-PC "Gehirn" │ │ Ubuntu Server headless │ ───────────────────────────────► │ LM Studio + LLM │ │ │ POST /v1/chat/completions │ Qwen2.5-32B Q4_K_M │ │ • Hermes-CLI (Python) │ tools=[] / function calling │ ~19,9 GB GGUF in VRAM │ │ • MCP-Server (optional) │ ◄─────────────────────────────── │ :1234 bind 0.0.0.0 │ │ • eBPF, Ansible, LXC │ tool_calls / content stream │ llama.cpp Backend │ └─────────────────────────────┘ └──────────────────────────────┘