Autorizare X Window - X Window authorization

În sistemul X Window , programele rulează ca clienți X și, ca atare, se conectează la serverul de afișare X , posibil printr-o rețea de calculatoare . Deoarece rețeaua poate fi accesibilă altor utilizatori , este necesară o metodă de interzicere a accesului la programele rulate de utilizatori diferită de cea conectată.

Există cinci mecanisme standard de control al accesului care controlează dacă o aplicație client se poate conecta la un server de afișare X. Acestea pot fi grupate în trei categorii:

  1. acces bazat pe gazdă
  2. acces bazat pe cookie
  3. acces bazat pe utilizator

În plus, la fel ca orice altă conexiune de rețea, tunelarea poate fi utilizată.

Acces bazat pe gazdă

Metoda de acces bazată pe gazdă constă în specificarea unui set de gazde autorizate să se conecteze la serverul de afișare X. Acest sistem are o securitate inferioară, deoarece permite fiecărui utilizator care are acces la o astfel de gazdă să se conecteze la afișaj. xhost Trei program și X Window System protocol de bază cererile sunt folosite pentru a activa acest mecanism și pentru a afișa și modifica lista de gazde autorizate. Utilizarea necorespunzătoare a acestuia xhost poate oferi în mod accidental fiecărei gazde de pe Internet acces complet la un server de afișare X.

Acces pe bază de cookie-uri

Metodele de autorizare bazate pe cookie se bazează pe alegerea unui cookie magic (o bucată de date arbitrară) și trecerea acestuia la serverul de afișare X când este pornit; fiecare client care poate dovedi că are cunoștințe despre acest cookie este apoi autorizat să se conecteze la server.

Aceste cookie-uri sunt create de un program separat și stocate în fișier .Xauthority în directorul principal al utilizatorului, în mod implicit. Ca urmare, fiecare program rulat de client pe computerul local poate accesa acest fișier și, prin urmare, cookie-ul necesar pentru a fi autorizat de server. Dacă utilizatorul dorește să ruleze un program de pe un alt computer din rețea, cookie-ul trebuie copiat pe acel alt computer. Modul în care este copiat cookie-ul este o problemă dependentă de sistem: de exemplu, pe platformele de tip Unix , scp poate fi utilizat pentru a copia cookie-ul.

Cele două sisteme care utilizează această metodă sunt MIT-MAGIC-COOKIE-1 și XDM-AUTHORIZATION-1 . În prima metodă, clientul trimite pur și simplu cookie-ul atunci când i se solicită autentificarea. În a doua metodă, o cheie secretă este, de asemenea, stocată în .Xauthority fișier. Clientul creează un șir concatenând ora curentă, un identificator dependent de transport și cookie-ul, criptează șirul rezultat și îl trimite la server.

Aplicația xauth este un utilitar pentru accesarea .Xauthority fișierului. Variabila de mediu XAUTHORITY poate fi definită pentru a suprascrie numele și locația acelui fișier cookie.

Exchange Inter-Client (ICE) Protocolul implementat de Inter-Client Exchange Biblioteca pentru comunicarea directă între clienții X11 folosește aceeași MIT-MAGIC-COOKIE-1 metodă de autentificare, dar are propria iceauth utilitate pentru accesarea propriul .ICEauthority fișier, locația care poate fi înlocuită cu variabila de mediu ICEAUTHORITY . ICE este utilizat, de exemplu, de DCOP și de protocolul X Session Management (XSMP).

Acces bazat pe utilizatori

Metodele de acces bazate pe utilizatori funcționează prin autorizarea anumitor utilizatori să se conecteze la server. Atunci când un client stabilește o conexiune la un server, acesta trebuie să dovedească că este controlat de un utilizator autorizat.

Cele două metode bazate pe autentificarea utilizatorilor utilizând sisteme de gestionare a identității în rețea sunt SUN-DES-1 și MIT-KERBEROS-5 . Primul sistem se bazează pe un mecanism sigur al sistemului de apel de procedură la distanță ONC dezvoltat în SunOS . Al doilea mecanism se bazează pe încrederea clientului și a serverului într-un server Kerberos .

O a treia metodă este limitată la conexiunile locale, folosind apeluri de sistem pentru a întreba nucleul ce utilizator este la celălalt capăt al unui socket local. xhost Programul poate fi folosit pentru a adăuga sau a elimina localuser și localgroup intrările cu această metodă.

Tunelare

SSH utilitate (când este invocată cu opțiune -X sau opțiunea ForwardX11 ) tuneluri rutiere X11 de la clienți la distanță invocate la serverul local. Face acest lucru setând la site-ul îndepărtat DISPLAY variabila de mediu pentru a indica un socket TCP local deschis acolo de sshd, care apoi tunelează comunicația X11 înapoi la ssh. Apoi, Sshd apelează și xauth pentru a adăuga pe site-ul la distanță un șir MIT-MAGIC-COOKIE-1 .Xauthority acolo, care apoi autorizează clienții X11 de acolo să acceseze serverul X local al utilizatorului ssh.

Conexiunile X11 între client și server pe o rețea pot fi, de asemenea, protejate folosind alte protocoale cu canale securizate, cum ar fi Kerberos / GSSAPI sau TLS , deși astfel de opțiuni sunt acum mult mai rar utilizate decât SSH.

Referințe

linkuri externe