| rpc.gssd(8) | System Manager's Manual | rpc.gssd(8) |
rpc.gssd - demon RPCSEC_GSS
rpc.gssd [-DfMnlvrHC] [-k tabel-chei] [-p ruta-director-pipefs] [-d director-stocare-acreditări] [-t timp-așteptare] [-T timp-așteptare] [-U timp-așteptare] [-R domeniu]
Protocolul RPCSEC_GSS, definit în RFC 5403, este utilizat pentru a asigura o securitate puternică pentru protocoalele bazate pe RPC, cum ar fi NFS.
Înainte de a face schimb de cereri RPC utilizând RPCSEC_GSS, un client RPC trebuie să stabilească un context de securitate GSS. Un context de securitate este o stare partajată la fiecare capăt al unei rețele de transport care permite servicii de securitate GSS-API.
Contextele de securitate se stabilesc folosind acreditări de securitate (security credentials). O acreditare acordă acces temporar la un serviciu de rețea securizat, la fel cum un bilet de tren acordă acces temporar pentru utilizarea unui serviciu feroviar.
De obicei, un utilizator obține o acreditare furnizând o parolă la comanda kinit(1) sau prin intermediul unei biblioteci PAM în momentul conectării. O acreditare obținută cu un utilizator principal este cunoscută sub numele de acreditare de utilizator (a se vedea kerberos(1) pentru mai multe informații despre principali).
Anumite operații necesită o acreditare care nu reprezintă un anumit utilizator sau care reprezintă gazda însăși. Acest tip de acreditare se numește acreditare mașină.
O gazdă își stabilește acreditarea mașinii utilizând un service principal a cărui parolă criptată este stocată într-un fișier local cunoscut sub numele de tabel-chei (keytab). O acreditare de mașină rămâne eficientă fără intervenția utilizatorului atât timp cât gazda o poate reînnoi.
Odată obținute, acreditările sunt stocate de obicei în fișiere temporare locale cu nume de rută bine cunoscute.
Pentru a stabili contexte de securitate GSS utilizând aceste fișiere de acreditare, clientul RPC din nucleul Linux depinde de un demon din spațiul utilizatorului numit rpc.gssd. Demonul rpc.gssd utilizează sistemul de fișiere rpc_pipefs pentru a comunica cu nucleul.
Atunci când un utilizator se autentifică folosind o comandă precum kinit(1), acreditarea rezultată este stocată într-un fișier cu un nume bine cunoscut, construit folosind UID-ul utilizatorului.
Pentru a interacționa cu un server NFS în numele unui anumit utilizator autentificat Kerberos, clientul RPC al nucleului Linux solicită ca rpc.gssd să inițializeze un context de securitate cu acreditarea din fișierul de acreditare al utilizatorului respectiv.
De obicei, fișierele de acreditare sunt plasate în /tmp. Cu toate acestea, rpc.gssd poate căuta fișiere de acreditare în mai multe directoare. Pentru detalii, consultați descrierea opțiunii -d.
rpc.gssd caută în tabelul de chei implicit, /etc/krb5.keytab, în următoarea ordine pentru un principal și o parolă care să fie utilizate la stabilirea acreditării mașinii. Pentru căutare, rpc.gssd înlocuiește <nume-gazdă> și <DOMENIU> cu numele de gazdă și domeniul Kerberos ale sistemului local.
<NUME_GAZDĂ>$@<DOMENIU>
root/<nume-gazdă>@<DOMENIU>
nfs/<nume-gazdă>@<DOMENIU>
host/<nume-gazdă>@<DOMENIU>
root/<orice-nume>@<DOMENIU>
nfs/<orice-nume>@<DOMENIU>
host/<orice-nume>@<DOMENIU>
rpc.gssd selectează una dintre intrările <orice-nume> dacă nu găsește un principal de serviciu care să se potrivească cu numele gazdei locale, de exemplu, dacă DHCP atribuie numele gazdei locale în mod dinamic. Facilitatea <orice-nume> permite utilizarea aceluiași tabel de chei (keytab) pe mai multe sisteme. Cu toate acestea, utilizarea aceluiași principal de serviciu pentru a stabili o acreditare de mașină pe mai multe gazde poate crea expuneri nedorite de securitate și, prin urmare, nu este recomandată.
Rețineți că <NUME_GAZDĂ>$@<DOMENIU> este un principal de utilizator care permite NFS Kerberizat atunci când sistemul local este conectat la un domeniu Active Directory folosind Samba. Tabelul de chei furnizează parola pentru acest principal.
Puteți specifica un tabel de chei diferit utilizând opțiunea -k dacă /etc/krb5.keytab nu există sau nu oferă unul dintre acești principali.
UID 0 este un caz special. În mod implicit, rpc.gssd utilizează acreditările mașinii sistemului pentru accesările UID 0 care necesită autentificare GSS. Acest lucru limitează privilegiile utilizatorului root atunci când accesează resursele de rețea care necesită autentificare.
Specificați opțiunea -n atunci când porniți rpc.gssd dacă doriți să forțați utilizatorul root să obțină o acreditare de utilizator în loc să utilizați acreditarea mașinii sistemului local.
Atunci când este specificată -n, nucleul continuă să solicite un context GSS stabilit cu o acreditare a mașinii pentru operațiile NFSv4, cum ar fi SETCLIENTID sau RENEW, care gestionează starea. Dacă rpc.gssd nu poate obține o acreditare de mașină (de exemplu, sistemul local nu are un tabel de chei), operațiile NFSv4 care necesită acreditări de mașină vor eșua.
Un administrator de domeniu poate alege să adauge la tabelul de chei al sistemului local chei codificate în mai multe tipuri de criptare diferite. De exemplu, o gazdă/principal poate avea chei pentru tipurile de criptare aes256-cts-hmac-sha1-96, aes128-cts-hmac-sha1-96, des3-cbc-sha1 și arcfour-hmac. Acest lucru permite lui rpc.gssd să aleagă un tip de criptare adecvat pe care serverul NFS țintă îl acceptă.
Aceste tipuri de criptare sunt mai puternice decât tipurile tradiționale de criptare single-DES. Pentru a interopera în mediile în care serverele acceptă numai tipuri de criptare slabe, puteți restricționa clientul pentru a utiliza numai tipuri de criptare single-DES prin specificarea opțiunii -l atunci când porniți rpc.gssd.
Dacă -D este prezentă, se va utiliza întotdeauna o căutare DNS inversă, chiar dacă numele serverului arată ca un nume canonic. Prin urmare, este necesară dacă se utilizează în mod regulat nume parțial calificate sau nume necanonice.
Utilizarea opțiunii -D poate introduce o vulnerabilitate de securitate, astfel încât se recomandă să nu se utilizeze -D și să se utilizeze întotdeauna nume canonice atunci când se solicită servicii.
Dacă -H nu este definită, rpc.gssd va utiliza prima potrivire găsită în /var/kerberos/krb5/user/$EUID/client.keytab și nu va utiliza un principal bazat pe parametrii de gazdă și/sau de serviciu enumerați în $HOME/.k5identity.
Multe dintre opțiunile care pot fi definite în linia de comandă pot fi controlate și prin intermediul valorilor stabilite în secțiunea [gssd] din fișierul de configurare /etc/nfs.conf. Valorile recunoscute includ:
În plus, următoarea valoare este recunoscută din secțiunea [general]:
rpc.svcgssd(8), kerberos(1), kinit(1), krb5.conf(5), gssproxy(8)
Dug Song <dugsong@umich.edu>
Andy Adamson <andros@umich.edu>
Marius Aamodt Eriksen <marius@umich.edu>
J. Bruce Fields <bfields@umich.edu>
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
| 20 februarie 2013 |