Cine intră pe serverul tău Emby? Jurnal de acces cu IP, dispozitiv și locație

Instalează Access Log pe Emby Server 4.10.1 sau mai nou și înregistrează fiecare autentificare și încercare eșuată cu IP, aplicație, dispozitiv și locație GeoLite2 locală; filtrează și exportă CSV.

Emby îți arată cine se uită, dar nu prea îți spune cine bate la ușă. Dacă administrezi un server pentru familie, prieteni sau o comunitate mică, întrebarea care apare mai devreme sau mai târziu e simplă: cine s-a autentificat, de unde, cu ce aplicație și dispozitiv și a încercat cineva să ghicească o parolă? Access Log răspunde la asta din interiorul serverului tău, fără niciun serviciu extern de geolocalizare implicat.

Access Log este un plugin care ține istoricul autentificărilor serverului tău Emby. Înregistrează fiecare autentificare și încercare eșuată și le afișează într-un tabel: utilizator, moment, adresă IP, dispozitiv, aplicație și țara și orașul aproximative dintr-o bază GeoLite2 locală. Ultima parte este chiar miezul acestui tutorial: căutarea se face pe mașina ta, așa că adresele IP nu o părăsesc niciodată.

Ce arată Emby și ce îi scapă

Emby are propriile vizualizări de activitate și sunt potrivite pentru utilizarea de zi cu zi. Ce nu sunt făcute să facă este auditul. Nu poți filtra ușor după țară, nu ai un istoric stabil pe utilizator cu dispozitivul și versiunea aplicației alăturate și încercările eșuate sunt greu de urmărit ca tipar în timp.

Access Log acoperă acest gol fără să schimbe modul în care cineva folosește serverul. Captarea se face pe server (evenimentele de autentificare și sesiune ale serverului), așa că funcționează cu orice client: Emby Web, aplicații native pe Android, iOS, Android TV, Samsung, LG, Roku, Apple TV și browsere de pe televizoare. Numele aplicației și al dispozitivului afișat este cel raportat de client. Pluginul citește și jurnalul local embyserver.txt pentru anteturile cererilor, astfel încât poate spune dacă o sesiune a venit direct sau prin Cloudflare.

Cerințe preliminare

  • Emby Server 4.10.1 sau mai nou.
  • Un cont MediaLab Works cu licență (lunară, anuală, pe viață sau pachetul Emby) sau perioada de probă gratuită de 30 de zile.
  • Opțional, dar recomandat: un cont MaxMind gratuit, pentru bazele de date GeoLite2 City și ASN. Fără el nu se descarcă nicio bază de date și nu primești date de localizare.
  • Acces la folderul de pluginuri Emby și permisiunea de a reporni serverul.

Pasul 1: Instalează pluginul

  1. Autentifică-te în contul MediaLab Works, deschide Licenses și descarcă DLL-ul pluginului.
  2. Copiază DLL-ul în folderul de pluginuri Emby și repornește Emby Server:
    • Linux (pachet): /var/lib/emby/plugins/
    • Docker: folderul plugins din volumul de configurare Emby
    • Windows: %AppData%\Emby-Server\programdata\plugins\
  3. Deschide Emby Dashboard → Plugins, apasă pe plugin, lipește cheia de licență și salvează. Pluginul contactează serverul de licențe, leagă cheia de acest server Emby și afișează licența ca Active.

Licența este verificată o dată pe zi și la fiecare pornire a Emby. Fără internet, pluginul funcționează în continuare 7 zile după ultima verificare reușită; după aceea este oprit până când poate verifica din nou. Cât timp este oprit, nu se înregistrează autentificări noi, dar jurnalul existent este păstrat și totul reia cursul odată ce licența este din nou validă.

Pasul 2: Adaugă baza de date GeoLite2

Deschide Dashboard → Plugins → Access Log.

La secțiunea GeoLite2, introdu cheia de licență MaxMind (cont gratuit) pentru ca pluginul să descarce și să actualizeze baza de date City, sau încarcă manual fișierul .mmdb. Account ID-ul MaxMind se pune în configurația pluginului; cheia de licență este criptată în repaus în secrets.enc.json în folderul de date al pluginului și nu este trimisă niciodată către browser — pagina arată doar „set ✓”.

Descărcarea este opțională și dezactivată implicit. Dacă o activezi, pluginul preia bazele de date GeoLite2 City și ASN de la download.maxmind.com, autentificându-se cu propriul tău cont. Nu sunt trimise adrese IP sau date de utilizator. Bazele de date sunt reîmprospătate când au mai mult de 7 zile (configurabil). După aceea, geolocalizarea se face local, în baza de date descărcată; adresele private și locale nu sunt căutate.

Pasul 3: Configurează retenția și tratarea încercărilor eșuate

Tot în Dashboard → Plugins → Access Log:

  • Retention: câte zile se păstrează intrările. Valoarea implicită este 365. Fișierele lunare întregi sunt șterse, așa că pe disc poate rămâne până la aproximativ o lună în plus.
  • Failed attempts: înregistrate implicit. Opțional, poți fi notificat după N eșecuri de pe un singur IP. Alertele ajung doar în jurnalul de activitate local al serverului.

Gândește-te la retenție înainte să strângi luni de date. Un an este o valoare implicită rezonabilă pentru un server de acasă; redu-o dacă spațiul pe disc sau propriile așteptări de confidențialitate o cer.

Pasul 4: Citește jurnalul

Pagina pluginului listează autentificările, cele mai noi primele. Fiecare rând îți dă utilizatorul, momentul, adresa IP, aplicația, numele și versiunea dispozitivului și locația aproximativă din GeoLite2. Apasă pe un utilizator pentru a vedea doar istoricul lui.

Folosește filtrele — după utilizator, perioadă, țară și dispozitiv — pentru a restrânge rezultatele. Filtrarea după țară este cea mai rapidă cale de a observa autentificări din locuri la care nu te aștepți. Când ai nevoie de o evidență în afara interfeței, exportă în CSV; exportul este inițiat de administrator.

În spate, totul este stocat în folderul de date al pluginului:

  • events/events-YYYY-MM.jsonl: fiecare autentificare, eșec, redare și schimbare de adresă, cu moment, utilizator, IP, locație (țară, regiune, oraș, coordonate aproximative, ASN/ISP), cale de acces (direct sau prin Cloudflare, Host, User-Agent, lanț X-Forwarded-For), aplicație, versiune, dispozitiv și sesiune. Parola încercată nu este stocată niciodată.
  • events/known.json: dispozitivele și țările cunoscute pentru fiecare utilizator, fără expirare.
  • geoip/*.mmdb: bazele de date MaxMind.

Pasul 5: Caută semnalele de alarmă

Cu câteva săptămâni de istoric, tiparele devin vizibile:

  • Serii de autentificări eșuate de pe un singur IP. O suită de eșecuri împotriva unuia sau mai multor utilizatori este tiparul clasic de ghicire. Dacă ai activat notificarea, jurnalul de activitate îți spune când se depășește pragul.
  • Țări noi. Un utilizator care se autentifică de obicei dintr-o țară și apare brusc în alta merită o întrebare prietenoasă. Fișierul țărilor cunoscute pe utilizator face acest lucru ușor de verificat.
  • Dispozitive necunoscute. Un nume de dispozitiv pe care nu l-ai mai văzut atașat unui cont poate însemna o parolă partajată sau scursă.
  • Parole partajate. Aceeași parolă dată mai departe apare ca un utilizator care se autentifică din mai multe țări și dispozitive fără legătură într-un interval scurt. Vizualizarea pe utilizator și filtrul de țară fac asta vizibil fără presupuneri.
  • Anteturi falsificate. Emby acceptă X-Forwarded-For de la oricine; pluginul semnalează anteturile falsificate, așa că o linie „via Cloudflare” prefăcută nu te păcălește.

Sfaturi și depanare

  • Fără locații? Verifică dacă baza de date GeoLite2 a fost descărcată sau încărcată. Fără un cont MaxMind și fără un .mmdb manual, pluginul nu are ce căuta.
  • Adresele private nu arată nicio locație. Este intenționat; IP-urile locale și private nu sunt căutate.
  • Nume greșit de aplicație sau dispozitiv. Pluginul afișează ce raportează clientul. Captarea în sine nu depinde de client.
  • Detecția Cloudflare pare greșită. „Via Cloudflare / direct” depinde de liniile pe care Emby le scrie în embyserver.txt. Dacă configurația reverse proxy se schimbă, reverifică câteva intrări recente.
  • Pluginul este oprit. Paginile și API-ul lui răspund cu motivul, iar doar pagina License continuă să funcționeze. Remediază licența acolo; nimic nu este șters.
  • Spațiu pe disc. Fișierele lunare plus retenția înseamnă o creștere previzibilă. Exportă în CSV și reduce retenția dacă vrei o amprentă mai mică.

Confidențialitate într-un paragraf

Locația vine din baza de date GeoLite2 stocată pe serverul tău. Adresele IP nu sunt trimise niciodată către vreun serviciu extern. Alertele ajung doar în jurnalul de activitate local al serverului. Paginile nu încarcă scripturi CDN sau fonturi externe. Singurul trafic către exterior este descărcarea opțională MaxMind cu propriul tău cont și clientul de licențiere comun tuturor pluginurilor noastre; vezi Licențiere și confidențialitate în pluginurile noastre.

Concluzie

Access Log transformă fluxul de autentificări din Emby într-o urmă de audit care îți aparține cu adevărat: fiecare autentificare și încercare eșuată, cu IP, aplicație, dispozitiv și o locație GeoLite2 locală, filtrabilă după utilizator, perioadă, țară și dispozitiv și exportabilă în CSV. Instalează-l, îndreaptă-l către o bază de date MaxMind gratuită, setează retenția și verifică din când în când semnalele de alarmă. Pentru detalii de configurare și referința completă, vezi pagina produsului și ghidul utilizatorului; changelog-ul urmărește ce s-a schimbat, iar Bază de cunoștințe și FAQ acoperă restul.

Postarea a fost scrisă cu ajutorul AI pe baza documentației produselor noastre sau a surselor indicate și verificată automat înainte de publicare.

Citește și

Ai un server Emby, Jellyfin sau Nextcloud?

Plugin-urile și aplicațiile noastre adaugă Live TV, subtitrări, înregistrare și securitate pe serverul tău, cu probă gratuită.