Das Risiko offener Ollama-APIs
Aus dem Englischen übersetzt. Original lesen auf English.
Das Problem
Ollama ist ein API-Dienst der auf deinem eigenen Rechner läuft damit du KI-Modelle ohne die Cloud von jemand anderem nutzen kannst. Er hört auf Port 11434 und antwortet unter http://localhost:11434.
Das Problem ist dass Ollama keine Authentifizierung mitbringt. Für sich genommen ist das keine Schwachstelle aber es wird eine in dem Moment wo der Port aus dem Internet erreichbar ist. Wer ihn findet nutzt deine Modelle und deine Hardware ohne zu fragen.
Was schiefgehen kann
Ohne Authentifizierung und mit offenem Port kann ein Angreifer einiges tun.
- Mit deinen KI-Modellen sprechen
- Die Modelle herunterladen die auf deinem Rechner liegen
- Aufgaben auf deiner GPU und deiner CPU starten
Wenn du Ollama auf einer gemieteten Maschine laufen lässt kommt die Rechnung trotzdem ob du den Dienst genutzt hast oder nicht. Jemand anderes hat es getan.
Wie ich das gefunden habe
Der Befehl ollama serve zeigt dir dass der Dienst bereits läuft sobald Ollama installiert und aktiv ist. Also habe ich mit FOFA nachgesehen wie viele davon aus dem Internet erreichbar sind was eine Suchmaschine für den Cyberraum ist.
Ich habe nach Rechnern mit offenem Port 11434 gesucht und dafür die Abfrage "Ollama is running" && port="11434" genutzt. Diese Signatur funktioniert weil die Wurzel einer Standardinstallation von Ollama genau diesen Text zurückgibt und sich damit laufende Instanzen sicher finden lassen.
Die Suche ergab 65.766 offene Hosts.
- Port 11434 war auf allen erreichbar
- Ich konnte Modelle lesen und Anfragen an ihre GPUs schicken
- Viele liefen auf teurer Hardware und der Besitzer hatte keine Ahnung
So sicherst du deinen Ollama-Dienst
Wenn du Ollama nutzt gibt es drei Dinge die du heute tun kannst.
1. IP-Liste
Nutze eine Firewall und lass nur die IPs durch denen du vertraust.
2. Authentifizierung davor
Setze einen Proxy davor der nach einem Token fragt bevor er irgendetwas weiterleitet.
3. Kein offener Port
Binde den Dienst an 127.0.0.1 damit der Port von außerhalb der Maschine nicht erreichbar ist.
Fazit
Das ist keine Kritik an Ollama. Es bringt einen lokalen Dienst mit und das ist der richtige Standard. Das Problem beginnt wenn ein lokaler Dienst auf einer öffentlichen IP landet und niemand nachgesehen hat. Zwanzig Minuten mit einer Firewall sind die ganze Lösung.