3.4 KiB
Sicherheitsmodell
Netzgrenze
- Open WebUI und Router veröffentlichen keinerlei Host-Ports.
- Ein dedizierter WireGuard-Container stellt auf seiner VPN-Adresse nur 8080 und 8081 bereit.
- Die egressfähigen Docker-Netze verwenden eigene Routingtabellen.
- Heimnetz- und optionaler Internetverkehr laufen über WireGuard.
- Die Tabellen zeigen ausschließlich zum Gateway-Container und besitzen keine Route über das Standortgateway. Das ist der Fail-Closed-Mechanismus.
- Der Host ist kein Router zwischen Universitäts- und Heimnetz.
Da keine KI-Ports publiziert werden, kann Docker die Host-Firewall an dieser Stelle nicht umgehen. SSH bleibt davon getrennt und schlüsselbasiert auf der physischen Schnittstelle erreichbar.
Containergrenzen
- llama.cpp: read-only, keine Capabilities, Modelle read-only, keine Ports.
- Router: unprivilegierter Benutzer, kein Docker-Socket, feste API-Oberfläche.
- Profile Controller: einzige Socket-Ausnahme; feste Profile und nur List/Start/Stop, keine frei wählbaren Images, Befehle oder Mounts.
- Open WebUI: einziges persistentes Chat-Volume.
- MCP-Fachcontainer: intern, getrennte Secrets und keine Host-Ports.
- TinySearch/SearXNG: intern, Suchanfragen ohne Chatverlauf.
llama.cpp bekommt weder MCP-Konfiguration noch HA-, ARR- oder Unraid-Secrets. Open WebUI kennt nur interne MCP-URLs; Authentisierung zu den Zielsystemen findet im jeweiligen Fachcontainer statt. Externe MCP-Clients werden erst über einen authentifizierten WireGuard-Gateway zugelassen.
Ein Docker-Socket bleibt grundsätzlich privilegiert. Der Controller reduziert die erreichbare Funktion stark, ersetzt aber keine zusätzliche Socket-Proxy- Sandbox. Er ist klein, testbar und nicht von Clients direkt erreichbar.
Secrets und private Daten
- Keine Secrets in Git, Prompts, MCP-Schemas, Logs oder Screenshots.
- Installer-Konfiguration und
/etc/mike-ai/*haben restriktive Rechte. - Router-, Controller- und WebUI-Schlüssel sind getrennt und zufällig.
- Das Modell bekommt keine Schlüsselwerte zurück; spätere Integrationen nutzen lokale Broker/Environment-Dateien.
- Open-WebUI-Volume kann Chats enthalten und wird nur verschlüsselt gesichert.
Werkzeugprofile
| Modus | Erlaubte Werkzeuge |
|---|---|
| Standard | lokale Websuche, harmlose Hilfsfunktionen |
| Home Assistant | eigener begrenzter HA-MCP |
| ARR | Sonarr/Radarr, zuerst read-only |
| Unraid Diagnose | Status und eng begrenzte Logs |
| Administration | Vorschau, Approval-Ticket, Verifikation |
Allgemeine Shell, beliebiges SSH/SCP, freies curl, Docker-Administration und
freie Dateisystemsuche gehören nicht ins Standardprofil. Der Athena Terminal
MCP ist davon ausdrücklich keine Ausnahme: Er sieht nur zwei read-only Mounts,
besitzt weder Docker-Socket noch Egress oder Host-PID-Namensraum und akzeptiert
nur eine kleine Positivliste direkter Lesebefehle. Reboot, Shutdown, SSH,
Interpreter, Service-Steuerung und sämtliche Schreibwege sind ausgeschlossen.
Schreibaktionen
Persistente oder destruktive Änderungen folgen immer: Bestandsaufnahme, exakte Vorschau, an die Vorschau gebundene Freigabe, unveränderte Ausführung, anschließende Verifikation.
Vor jedem Push
- Private-Key-, Token-, Passwort- und API-Key-Muster suchen.
- Keine
.env, Zertifikate, Logs, Bilder, Audio oder Modelle einchecken. - Beispiele enthalten nur Platzhalter; interne Hostnamen nur wenn bewusst.
- Änderungen am Controller und Netzwerkguard mit Tests und Review versehen.