Wer meldet sich an deinem Jellyfin-Server an? Login-Protokoll mit IP, Gerät und Standort

Richte Access Log ein, um jede Jellyfin-Anmeldung und jeden Fehlversuch mit IP, App, Gerät und Standort aus einer lokalen GeoLite2-Datenbank zu erfassen – nichts verlässt deinen Server.

Warum dein Jellyfin-Server ein Anmelde-Audit braucht

Wenn du Jellyfin für Familie oder Freunde betreibst, hast du wahrscheinlich ein paar Konten verteilt und danach nicht mehr daran gedacht. Das Problem: Ein Konto kann still von mehr Leuten genutzt werden, als du wolltest – ein Passwort, das mit einem Nachbarn geteilt wurde, ein altes Handy, das noch angemeldet ist, oder jemand, der um drei Uhr morgens Kombinationen auf deiner Login-Seite durchprobiert.

Jellyfin protokolliert zwar Aktivität, aber ein eigener Audit-Trail ist leichter zu lesen und darauf zu reagieren. Access Log zeichnet jede Anmeldung, jedes falsche Passwort und jede Sitzung mit Benutzer, IP-Adresse, App und Gerät auf und ergänzt Land, Stadt und Internet-Provider aus einer lokalen GeoLite2-Datenbank. Wichtig für Self-Hoster: IP-Adressen werden nie an einen externen Geolocation-Dienst gesendet. Die Lookups laufen auf deinem Server, in der heruntergeladenen Datenbank.

Dieses Tutorial führt durch die Installation des Plugins, die Einrichtung der lokalen Standortdatenbank und das Lesen des Protokolls, damit du ein geteiltes Passwort oder einen Angriff tatsächlich erkennst. Es setzt voraus, dass du Jellyfin bereits betreibst und dich im Dashboard auskennst.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer, auf Linux, Windows oder Docker.
  • Ein MediaLab Works Konto mit einer Lizenz, die das Plugin abdeckt (ein aktives Abo, eine Lifetime-Lizenz innerhalb ihres Update-Zeitraums, das Jellyfin-Bundle oder die kostenlose 30-Tage-Testversion).
  • Ein kostenloses MaxMind-Konto für die GeoLite2-City- und -ASN-Datenbanken. Ohne dieses Konto werden Ereignisse trotzdem erfasst, nur ohne Standort.
  • Admin-Zugriff auf dein Jellyfin-Dashboard.

Das Plugin ist Open Source (GPL-3.0), und der Quellcode jeder Version ist in deinem Konto verfügbar.

Schritt 1 — Access Log installieren

Der empfohlene Weg ist dein privates Plugin-Repository, denn dann installiert und aktualisiert Jellyfin das Plugin selbst.

  1. Öffne in deinem MediaLab Works Konto Lizenzen → Jellyfin-Plugin-Repository und klicke auf Adresse erstellen. Kopiere sie. Die Adresse ist privat (sie enthält einen Token), behandle sie also wie ein Passwort; du kannst sie jederzeit neu erzeugen oder widerrufen.
  2. Öffne in Jellyfin Dashboard → Plugins → Repositories, klicke auf +, gib einen Namen ein (zum Beispiel MediaLab Works), füge die Adresse ein und speichere.
  3. Öffne Dashboard → Plugins → Katalog, suche Access Log by MediaLab, klicke auf Installieren und starte Jellyfin neu.

Wenn du den öffentlichen Katalog bevorzugst, listet https://medialab.works/jellyfin/manifest.json jedes veröffentlichte MediaLab Works Plugin; du kannst ihn genauso hinzufügen und danach die Lizenz oder Testversion aktivieren. Eine manuelle Zip-Installation ist ebenfalls im Leitfaden dokumentiert, falls du sie brauchst.

Schritt 2 — Lizenz aktivieren

  1. Öffne Dashboard → Plugins → Access Log by MediaLab und klicke auf Lizenzseite öffnen.
  2. Füge deinen Lizenzschlüssel ein und klicke auf Mit Schlüssel aktivieren. Das Plugin bindet den Schlüssel an diesen Server und zeigt die Lizenz als Aktiv an.
  3. Noch kein Schlüssel? Gib auf derselben Seite deine E-Mail ein, um die kostenlose 30-Tage-Testversion zu starten, oder kaufe eine Lizenz; das Plugin aktiviert sich selbst, sobald die Zahlung abgeschlossen ist.

Die Lizenz wird einmal pro Tag und bei jedem Jellyfin-Start geprüft. Ohne Internet funktioniert das Plugin noch 7 Tage nach der letzten erfolgreichen Prüfung weiter. Ohne gültige Lizenz pausiert es und nur die Lizenzseite bleibt verfügbar; nichts wird gelöscht.

Schritt 3 — Lokale GeoLite2-Datenbank einrichten

Hierher kommen die Standortdaten, und das ist vollständig optional und standardmäßig deaktiviert.

  1. Erstelle ein kostenloses Konto bei MaxMind (GeoLite2) und gehe dann zu Manage License Keys → Generate new license key.
  2. Öffne in Jellyfin Dashboard → Access Log → Einstellungen. Gib die Account-ID und den Lizenzschlüssel ein und speichere. Die GeoLite2-City- und -ASN-Datenbanken werden sofort heruntergeladen und automatisch aktualisiert (wenn älter als 7 Tage, konfigurierbar).
  3. Wähle auf derselben Einstellungsseite, wie viele Tage Ereignisse aufbewahrt werden, ob Wiedergabestarts und IP-Wechsel erfasst werden und welche Warnungen du möchtest.

Was hier deinen Server verlässt, ist nur die authentifizierte Download-Anfrage an download.maxmind.com. Es werden keine IP-Adressen oder Benutzerdaten gesendet. Private und lokale Adressen werden gar nicht erst nachgeschlagen.

Schritt 4 — Aktivitätsprotokoll lesen

Öffne Dashboard → Access Log → Aktivität. Jedes Ereignis erscheint mit dem neuesten zuerst: erfolgreiche Anmeldungen, falsche Passwörter (das versuchte Passwort wird nie gespeichert), geöffnete und geschlossene Sitzungen, IP-Wechsel während einer Sitzung und optional Wiedergabestarts.

Zu jedem Ereignis bekommst du den Benutzer, die Zeit, die IP-Adresse, die App und ihre Version, Gerätename und -ID sowie Land, Region, Stadt und Internet-Provider (ASN). Das ist die Antwort auf „wer meldet sich an meinem Jellyfin-Server an?“ – nicht nur ein Benutzername, sondern der ganze Kontext.

Nutze die Filter nach Benutzer, Zeitraum, Land und Gerät, um die Ergebnisse einzugrenzen, und den CSV-Export, wenn du die Daten in einer Tabellenkalkulation ansehen oder einen Nachweis aufbewahren möchtest.

Zwei weitere Ansichten helfen:

  • Geräte: die bekannten Geräte jedes Benutzers mit erster und letzter Verbindung, Anzahl der Sitzungen und den neuesten Adressen.
  • Benutzer und Länder: eine Übersicht pro Benutzer und pro Land sowie die Adressen mit falschen Passwörtern.

Schritt 5 — Warnungen und Aufbewahrung einstellen

In den Einstellungen kannst du Warnungen aktivieren, die ins Jellyfin-Aktivitätsprotokoll gehen: ein neues Gerät, ein neues Land für einen Benutzer und wiederholt falsche Passwörter von derselben Adresse. Am ersten Tag nach der Installation werden Geräte und Länder ohne Warnungen gelernt, damit du am ersten Tag keine Flut bekommst.

Die Aufbewahrung beträgt standardmäßig 365 Tage und ist konfigurierbar. Ganze Monatsdateien werden gelöscht, daher kann bis zu etwa ein zusätzlicher Monat auf der Festplatte verbleiben. Die Daten liegen im Plugin-Datenordner als events/events-YYYY-MM.jsonl, events/known.json und geoip/*.mmdb. Das sind personenbezogene Daten (IP-Adressen, Standorte, Geräte): bewahre sie nur so lange auf, wie du sie brauchst, und informiere die Nutzer deines Servers darüber, dass Zugriffe protokolliert werden.

Tipps und Fehlerbehebung

  • Jedes Ereignis zeigt dieselbe Adresse. Das ist dein Proxy oder Cloudflare. Füge den Proxy in Jellyfins Known proxies unter Dashboard → Networking hinzu, damit Jellyfin die echte Besucheradresse weitergibt.
  • Kein Standort in den Ereignissen. Prüfe die MaxMind-Account-ID und den Schlüssel in den Einstellungen.
  • Worauf du achten solltest. Eine Salve falscher Passwörter von einer Adresse, eine Anmeldung aus einem Land, aus dem noch nie ein Benutzer verbunden war, oder ein unbekanntes Gerät unter einem vertrauten Benutzer. Die Übersichtsansichten und Warnungen sind genau dafür gebaut.
  • Clients. Die Erfassung erfolgt serverseitig und funktioniert daher mit jedem Client; der angezeigte App- und Gerätename ist der, den der Client meldet. Jellyfin Web ist Ende-zu-Ende verifiziert, andere Apps sind konstruktionsbedingt abgedeckt.
  • Updates und Rollback. Jellyfin kann das Plugin aus dem Repository aktualisieren; die Lizenzseite bietet außerdem Update installieren und Auf x.y.z zurücksetzen, falls nach einem Update etwas nicht mehr funktioniert. Starte Jellyfin danach jeweils neu.

Fazit

Ein Login-Verlauf ist nur nützlich, wenn er vollständig, lesbar und privat ist. Access Log liefert dir jede Anmeldung und jeden Fehlversuch mit IP, App, Gerät und Standort, hält die Geolokalisierung über GeoLite2 lokal und verwandelt das Rauschen in Warnungen, auf die du reagieren kannst. Installiere es, hinterlege deinen MaxMind-Schlüssel und verbringe zehn Minuten in der Aktivitätsansicht – vielleicht überrascht dich, was du findest.

Mehr Details findest du auf der Produktseite, im Leitfaden und im Changelog. Wenn etwas nicht funktioniert, sind die Wissensdatenbank und die FAQ die nächsten guten Anlaufstellen, oder kontaktiere uns.

Dieser Beitrag wurde mit KI-Unterstützung auf Grundlage unserer Produktdokumentation oder der aufgeführten Quellen verfasst und vor der Veröffentlichung automatisch geprüft.

Als Nächstes lesen

Du betreibst Emby, Jellyfin oder Nextcloud?

Unsere Plugins und Apps bringen Live-TV, Untertitel, Registrierung und Sicherheit auf deinen eigenen Server, mit kostenlosem Testzeitraum.