Skip to content
BotServBotServ
AuthentifizierungAPI-KeyBasic AuthOAuth2FAOllama

Authentifizierung: KI-Services absichern

Authentifizierung für KI-Services: API-Keys, Basic Auth, OAuth und 2FA. Wie Du Ollama und Tools nur autorisiert zugänglich machst.

S

schutzgeist

7 min read
Authentifizierung für KI

Authentifizierung: KI-Services absichern

Was dieser Artikel behandelt

  • Warum Authentifizierung für Deine KI-Services unverzichtbar ist
  • Was API-Keys, Basic Auth, OAuth und 2FA bedeuten
  • Wie Du Authentifizierung vor einem Reverse Proxy einrichtest
  • Wie Du Ollama und Open WebUI nur autorisiert zugänglich machst
  • Typische Fehler, die Sicherheitslücken entstehen lassen

Einleitung

Wenn Du einen KI-Service wie Ollama, Open WebUI oder eine eigene API im Netzwerk oder Internet erreichbar machst, ist Verschlüsselung nicht das einzige Thema. Mindestens genauso wichtig ist Authentifizierung. Ohne sie kann jeder, der die Adresse kennt, Deine Modelle nutzen, Prompts senden oder sensible Daten abfragen.

Authentifizierung sorgt dafür, dass nur berechtigte Benutzer und Anwendungen auf einen Service zugreifen können. In diesem Artikel erklären wir die wichtigsten Verfahren mit englischen Fachbegriffen wie API-Key, Basic Auth, OAuth und 2FA. Du lernst, wie Du sie in typischen KI-Setups einsetzt und welche Fehler Du vermeidest.

Falls Du das Thema Netzwerksicherheit noch nicht kennst, lohnt sich ein Blick auf Sicherer Betrieb und die Grundlagen der Netzwerksicherheit.

Warum Authentifizierung für KI-Services wichtig ist

KI-Services können viel Macht in Deinem Netzwerk haben. Ein Agent kann auf Dateien zugreifen, Befehle ausführen oder über Tools mit anderen Diensten sprechen. Wenn jeder ohne Prüfung zugreifen darf, ist das ein großes Risiko.

Authentifizierung verhindert:

  • Unautorisierte Nutzung von Rechenleistung und API-Quoten
  • Das Auslesen oder Verändern privater Daten
  • Angriffe von außen, die Deine KI als Sprungbrett nutzen
  • Fehlkonfigurationen, die versehentlich alles öffentlich machen

Authentifizierung allein reicht nicht. Sie sollte immer zusammen mit TLS und einer Firewall betrachtet werden. Erst die Kombination aus Verschlüsselung, Zugangskontrolle und Netzwerkabschottung macht ein Setup solide.

Authentifizierung kurz erklärt

Authentifizierung bedeutet: Wer bist Du? Sie ist nicht zu verwechseln mit Autorisierung, die klärt: Was darfst Du tun? Beide Begriffe werden oft zusammen verwendet.

Bei einem KI-Service sieht ein typischer Ablauf so aus:

  1. Der Client sendet eine Anfrage an einen API-Endpoint.
  2. Der Server verlangt einen Authentifizierungsnachweis, zum Beispiel einen API-Key oder ein Token.
  3. Der Client liefert den Nachweis in einem Header oder Cookie.
  4. Der Server prüft den Nachweis und erlaubt oder verweigert den Zugriff.

Die bekannten Verfahren sind API-Key, Basic Auth, OAuth und 2FA. Jeder hat seine Stärken und Schwächen. API-Keys sind einfach, aber bei unsicherer Lagerung schnell gefährdet. Basic Auth ist einfach und gut für interne Tools. OAuth eignet sich für Benutzeranmeldungen über externe Provider. 2FA erhöht die Sicherheit, indem es eine zweite Prüfung verlangt.

Für wen ist dieser Artikel gedacht?

Dieser Artikel ist für Einsteiger, die eigene KI-Services absichern möchten. Du solltest wissen, wie ein Terminal funktioniert und wie HTTP-Requests grundsätzlich aussehen. Programmierkenntnisse in Bash oder Python helfen, sind aber nicht zwingend.

Der Text ist für Dich, wenn Du:

  • Ollama oder Open WebUI im Netzwerk freigeben willst
  • Verstehen möchtest, welche Authentifizierungsmethode passt
  • Einen Reverse Proxy nutzt oder einrichten möchtest
  • Sicherstellen willst, dass nicht jeder auf Deine KI zugreifen kann

Wichtige Begriffe

BegriffErklärung
API-KeyEin geheimer Schlüssel, den ein Client bei jeder Anfrage mitsendet.
Basic AuthEin einfaches Verfahren, bei dem Benutzername und Passwort Base64-codiert im Header übertragen werden.
OAuthEin Protokoll, mit dem sich Benutzer über einen externen Provider anmelden können.
2FATwo-Factor Authentication. Zwei verschiedene Faktoren sind nötig, zum Beispiel Passwort und ein Code.
TokenEin zeitlich begrenzter Nachweis, der nach einer Anmeldung ausgestellt wird.
HeaderEin Feld in einem HTTP-Request, das Metadaten wie Authentifizierung enthält.
EndpointEine URL, über die ein Service erreichbar ist, zum Beispiel eine API.
Reverse ProxyEin Server, der Anfragen entgegennimmt und an interne Dienste weiterleitet.
Replay-AngriffEin Angriff, bei dem ein abgefangener Request erneut abgespielt wird.
SecretEin geheimer Wert wie ein Passwort oder ein Private Key.

API-Keys

API-Keys sind die einfachste Form der Authentifizierung. Der Client fügt einen geheimen Schlüssel in jedem Request hinzu. Der Server prüft, ob der Schlüssel bekannt ist.

Ein typischer Request sieht so aus:

curl -H "Authorization: Bearer mein-api-key-12345" \
     https://ki.dein-domain.de/api/generate

Der Vorteil: API-Keys sind leicht zu erzeugen und zu verteilen. Der Nachteil: Sie sehen oft aus wie Passwörter. Wer einen Key besitzt, kann sich als berechtigter Client ausgeben. Deshalb solltest Du Keys niemals in öffentliche Repositories oder Dokumentationen schreiben.

Bessere Praxis ist, mehrere Keys für unterschiedliche Zwecke zu vergeben und regelmäßig zu rotieren. Außerdem solltest Du im Hintergrund prüfen, von welcher IP oder zu welcher Uhrzeit ein Key genutzt wird. So erkennst Du Missbrauch früh.

Basic Auth

Basic Auth ist ein einfacher Standard, der Benutzername und Passwort in einem HTTP-Header überträgt. Die Daten werden Base64-codiert, aber nicht verschlüsselt. Deshalb funktioniert Basic Auth nur zusammen mit HTTPS.

Ein Beispiel für Nginx sieht so aus:

sudo htpasswd -c /etc/nginx/.htpasswd admin

In der Nginx-Konfiguration fügst Du folgende Zeilen hinzu:

auth_basic "KI-Service";
auth_basic_user_file /etc/nginx/.htpasswd;

Wenn ein Client auf die Seite zugreift, öffnet sich ein Browser-Popup. Basic Auth eignet sich gut für interne Dienste, bei denen nur wenige Benutzer zugreifen. Es ist aber nicht besonders komfortabel und bietet keine 2FA.

Für KI-Services ist Basic Auth ein pragmatischer Start, solange Du HTTPS erzwingst. Mehr zu TLS findest Du im Artikel über TLS-Zertifikate.

OAuth und 2FA

OAuth ist ein Protokoll, das Benutzer über einen externen Anbieter anmelden lässt. Bekannte Provider sind Google, GitHub oder ein eigener Identity Server. Der Vorteil: Dein KI-Service speichert keine Passwörter. Stattdessen erhält es ein Token vom Provider.

OAuth ist besonders nützlich, wenn mehrere Personen Deinen KI-Service nutzen sollen. Jede Person meldet sich mit ihrem bestehenden Konto an. Du kannst Rechte pro Benutzer verwalten.

2FA, auch Multi-Factor Authentication genannt, verlangt zwei unabhängige Beweise für die Identität. Ein klassisches Beispiel ist Passwort plus ein Code aus einer Authenticator-App. Auch WebAuthn mit Hardware-Keys ist möglich.

Für sensible KI-Setups, etwa im Unternehmen, sind OAuth und 2FA oft unverzichtbar. Open WebUI bietet beispielsweise OAuth-Integration für externe Anbieter. Mehr dazu findest Du unter Open WebUI.

Authentifizierung für Ollama und Open WebUI

Ollama selbst bietet keine eigene Authentifizierung. Wenn Du Ollama im Netzwerk freigibst, solltest Du einen Reverse Proxy mit Basic Auth oder API-Key-Schutz davor schalten. Alternativ setzt Du Ollama in einen Container, der nur im internen Netz erreichbar ist.

Open WebUI hingegen bringt ein Benutzerkonten-System mit. Du kannst lokale Konten anlegen, Passwörter vergeben und optional externe Authentifizierung aktivieren. Trotzdem sollte der Aufruf über HTTPS laufen, damit Passwörter nicht im Klartext übertragen werden.

Stell Dir folgendes Setup vor: Open WebUI läuft auf Port 8080. Ein Nginx-Proxy lauscht auf HTTPS und fordert Basic Auth, bevor er den Request an Open WebUI weiterleitet. So schützt Du die Anwendung doppelt: TLS verschlüsselt, Authentifizierung kontrolliert den Zugang. Informationen zur Netzwerkeinbindung findest Du im Artikel zum Ollama Netzwerkzugriff.

Typische Stolpersteine

  1. API-Key im Code oder Git-Repository: Jeder, der das Repository sieht, kann den Key nutzen. Lagere Keys in Umgebungsvariablen oder einem Secret-Manager.
  2. Authentifizierung ohne HTTPS: Basic Auth und API-Keys über unverschlüsselte Verbindungen übertragen ist gefährlich. Setze immer TLS voraus.
  3. Zu schwache Passwörter: Bei Basic Auth reichen kurze Passwörter nicht. Verwende lange, zufällige Passwörter.
  4. 2FA vergessen: Ein Konto mit Passwort reicht für sensible Daten nicht. Aktiviere 2FA, sobald Dein Tool sie unterstützt.
  5. Tokens nicht rotieren: API-Keys und Tokens sollten regelmäßig erneuert werden. Sonst nutzt ein abhandengekommener Key lange Zeit unbemerkt.
  6. Keine Zugriffsprotokolle: Wer wann zugegriffen hat, solltest Du protokollieren. Sonst bemerkst Du Angriffe zu spät.
  7. Admin-Zugang öffentlich erreichbar: Eine Administrationsoberfläche sollte nie ungeschützt aus dem Internet erreichbar sein. Beschränke sie auf interne IPs oder ein VPN.

Hardware, Kosten und Sicherheit

Authentifizierung kostet in der Regel nichts. API-Keys erzeugst Du selbst. Basic Auth benötigt nur eine Passwortdatei. OAuth kann kostenlos mit Open-Source-Identitätsprovidern wie Keycloak oder Authentik betrieben werden.

Rechenleistung für Authentifizierung ist vernachlässigbar. Selbst ein kleiner Heimserver wie ein Raspberry Pi kann OAuth-Prüfungen oder Passwort-Hashes übernehmen. Wichtiger ist das Backup der Benutzerdaten und Schlüssel. Verlierst Du die Passwortdatei oder Secret-Keys, sperrst Du Dich möglicherweise selbst aus.

Für maximale Sicherheit empfiehlt sich ein Reverse Proxy, der die Authentifizierung terminiert. Dahinter bleiben die KI-Services unkompliziert. Achte zusätzlich auf eine gute Firewall, damit nicht mehr Ports offen sind als nötig.

FAQ

Was ist ein API-Key?

Ein API-Key ist ein geheimer Schlüssel, den der Client bei jedem Request mitsendet. Der Server prüft, ob der Schlüssel gültig ist.

Was ist der Unterschied zwischen Authentifizierung und Autorisierung?

Authentifizierung stellt die Identität fest, zum Beispiel per Passwort. Autorisierung entscheidet, welche Aktionen die Identität ausführen darf.

Ist Basic Auth sicher?

Basic Auth ist nur sicher, wenn Du HTTPS verwendest. Benutzername und Passwort werden sonst leicht ausgelesen.

Kann ich Ollama direkt absichern?

Ollama bietet keine eigene Authentifizierung. Nutze einen Reverse Proxy mit Basic Auth oder ein API-Gateway.

Was ist OAuth?

OAuth ist ein Protokoll, das es Benutzern ermöglicht, sich über einen externen Anbieter anzumelden, ohne dass Dein Service das Passwort speichert.

Was ist 2FA?

2FA steht für Two-Factor Authentication. Es verlangt zwei unabhängige Nachweise, etwa Passwort und Authenticator-Code.

Wo lagere ich API-Keys sicher?

Nutze Umgebungsvariablen, Secret-Manager oder Vaults. Niemals in Git-Repositories oder öffentlichen Dokumentationen.

Sollte ich Basic Auth oder OAuth nutzen?

Basic Auth ist für wenige technische Nutzer ausreichend. OAuth ist besser für Teams und Benutzer, die sich mit bestehenden Konten anmelden sollen.

Was ist ein Token?

Ein Token ist ein zeitlich begrenzter Nachweis, der nach einer erfolgreichen Anmeldung ausgestellt wird.

Warum ist HTTPS wichtig für Authentifizierung?

Ohne HTTPS werden Passwörter und Keys im Klartext übertragen. Jeder im Netzwerk kann sie mitlesen.

Wie oft sollte ich API-Keys erneuern?

Rotiere Keys mindestens alle paar Monate oder sofort, wenn Du einen Verdacht auf Leck hast.

Kann ich 2FA für Open WebUI aktivieren?

Open WebUI bietet je nach Version externe Authentifizierung an. Prüfe die aktuellen Einstellungen in der Dokumentation.

Quellen

  1. OWASP Authentication Cheat Sheet - https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
  2. RFC 7617 HTTP Basic Authentication - https://datatracker.ietf.org/doc/html/rfc7617
  3. Ollama Dokumentation - https://github.com/ollama/ollama/tree/main/docs
  4. Open WebUI Dokumentation - https://docs.openwebui.com/
Zurück zum KI Blog
Share:

Ähnliche Beiträge