RAZĂ

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea altor semnificații, consultați Raza .
Arhitectura rețelei cu RADIUS

RADIUS ( Remote Authentication Dial-In User Service ), în IT și telecomunicații , este un protocol AAA ( autentificare , autorizare , contabilitate ) utilizat în accesul la rețea sau în aplicațiile de mobilitate IP .

Dezvoltat de Livingston Enterprises Inc., în 1991, ca server de acces de autentificare și protocol de contabilitate, raportat ulterior în standardele Internet Engineering Task Force (IETF), protocolul acceptat pe scară largă este adesea folosit de furnizorii de servicii Internet și de companii pentru a gestiona accesul la Internet sau rețele interne, rețele fără fir și servicii integrate de e-mail . Aceste rețele pot încorpora modemuri , DSL-uri , puncte de acces , VPN-uri , porturi de rețea , servere web etc.

Se execută în stratul de aplicație și poate utiliza fie protocolul TCP, fie UDP . Serverele de acces la rețea și gateway-urile care controlează accesul la o rețea conțin de obicei o componentă client RADIUS care comunică cu serverul RADIUS, care este de obicei un proces de fundal care rulează pe un server UNIX sau Microsoft Windows . În prezent este standardul de facto pentru autentificarea la distanță, prevalând atât în ​​sistemele noi, cât și în cele existente și este implementat în servere de autentificare speciale, într-o comunicare cu un client care dorește să se autentifice (protocol client-server ).

Descriere

RADIUS este un protocol care utilizează pachete UDP pentru a transporta informații de autentificare și configurare între autentificator și serverul RADIUS. Autentificarea se bazează pe numele de utilizator , parola și, opțional, un răspuns la o cerere de confirmare (un fel de „parolă”). Dacă autentificarea are succes, serverul RADIUS trimite informații de configurare către client, inclusiv valorile necesare pentru a satisface serviciul solicitat, cum ar fi o adresă IP și o mască de subrețea pentru PPP sau un număr de port TCP pentru telnet .

Una dintre limitările protocolului RADIUS este autentificarea numai prin parolă: parola este transmisă fie sub formă de hash (utilizând algoritmul de hash MD5 ), fie sub forma unui răspuns la o cerere de identificare (parola CHAP ). Protocolul de autentificare extensibil (EAP) face RADIUS capabil să funcționeze cu o varietate de scheme de autentificare, inclusiv cheie publică , Kerberos și carduri inteligente .

De exemplu, punctul de acces acționează ca un traducător EAP-RADIUS între clientul wireless și serverul RADIUS, utilizând protocolul EAP pentru comunicarea cu clientul și protocolul RADIUS pentru comunicarea cu serverul RADIUS. Punctul de acces încapsulează apoi informațiile (cum ar fi numele de utilizator sau cheia publică) într-un pachet RADIUS pe care îl transmite către serverul RADIUS. Când serverul returnează unul dintre răspunsurile posibile (Access-Accept / Reject / Challenge), punctul de acces despachetează pachetul RADIUS și transmite răspunsul către client într-un pachet EAP.

RFC 2869 (Extensii RADIUS) specifică atributele opționale care trebuie setate pe pachetele RADIUS pentru a spune serverului RADIUS că se folosește EAP. Deoarece pachetul EAP include un câmp pentru a specifica ce metodă de autentificare este utilizată, serverul RADIUS implementează autentificarea prin invocarea unei proceduri.

Detalii protocol

Format de date de pachete RADIUS.

Un pachet RADIUS este format după cum urmează (conform RFC respectiv):

 0 1 2 3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Cod | Identificator | Lungime |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| |
| Autentificator |
| |
| |
+ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
| Atribute ...
+ - + - + - + - + - + - + - + - + - + - + - + - + -

Codul determină tipul pachetului RADIUS. Codurile sunt:

  • 1 = Cerere de acces
  • 2 = Acces-Accept
  • 3 = Acces-Respingere
  • 4 = Cerere de contabilitate
  • 5 = Contabilitate-Răspuns
  • 11 = Acces-Provocare
  • 12 = Status-Server (experimental)
  • 13 = Status-Client (experimental)
  • 255 = rezervat

Identificatorul este un octet care permite clientului RADIUS să asocieze un răspuns RADIUS la solicitarea sa. Semnificația șirului de autentificare , de 16 octeți, va fi clarificată ulterior. În cele din urmă, un număr arbitrar de câmpuri este stocat în secțiunea atribute .

Componentele protocolului

RADIUS este un protocol AAA care gestionează accesul la rețea în următorul proces în doi pași, cunoscut și sub numele de tranzacție AAA, sinonim cu autentificare, autorizare și contabilitate. Autentificarea și autorizarea sunt descrise în RFC 2865 , în timp ce contabilitatea este descrisă în RFC 2866 .

Funcționare - Autorizare și autentificare

Diagrama de funcționare RADIUS

Întregul proces începe atunci când un client creează un pachet RADIUS „Cerere de acces” , incluzând cel puțin atributele Nume utilizator și Parolă utilizator și generând conținutul câmpului identificator. Procesul de generare a câmpului de identificare nu este specificat în protocolul RADIUS, dar este de obicei implementat ca un contor simplu incrementat cu fiecare cerere.

Câmpul de autentificare conține un Solicitare-autentificare, care este un șir de 16 octeți ales aleatoriu. Întregul pachet este transmis în clar, în afară de atributul User-Password, care este protejat după cum urmează: Clientul și serverul partajează o cheie secretă . Această cheie este îmbinată cu solicitarea autentificatorului, iar întregul șir este supus unei funcții hash MD5 pentru crearea unei valori de 16 octeți, la rândul său supusă unui XOR cu parola introdusă de utilizator (și dacă această parolă este mai lungă mai mult de 16 octeți, există un calcul suplimentar MD5, folosind textul cifrat în locul Autentificatorului de solicitare).

Utilizatorul trimite o cerere către un server de acces la rețea (NAS) pentru a obține acces la o anumită resursă de rețea folosind acreditările de conectare. Acreditările sunt transmise dispozitivului NAS prin intermediul protocolului de strat de legătură, de exemplu, în cazul multor furnizori dial-up sau DSL, se utilizează Protocolul de la punct la punct (PPP) sau este publicat în formularul web HTTPS.

La rândul său, NAS trimite un mesaj de solicitare de acces către serverul RADIUS, solicitând autorizarea pentru a permite accesul prin protocolul RADIUS.

Această solicitare include acreditări de autentificare, de obicei sub forma unui nume de utilizator și a unei parole sau a unui certificat de securitate furnizat de utilizator. Solicitarea poate conține, de asemenea, informații suplimentare pe care NAS le cunoaște despre utilizator, cum ar fi adresa de rețea sau numărul de telefon și informații referitoare la punctul de conexiune fizică a utilizatorului la NAS.

Serverul verifică dacă informațiile sunt corecte folosind scheme de autentificare precum PAP, CHAP sau EAP. Identificarea utilizatorului este verificată, împreună, dacă este necesar, cu alte informații referitoare la cerere. Din punct de vedere istoric, serverul verifica informațiile utilizatorului într-o bază de date stocată local, în prezent serverele pot face referire și la resurse externe, cum ar fi SQL, Kerberos, LDAP pentru a verifica acreditările trimise de client.

Serverul primește pachetul Access-Request și verifică dacă are cheia secretă pentru client. Dacă nu, pachetul este ignorat în tăcere. Deoarece serverul are și secretul partajat, o versiune modificată a procesului de securitate a clientului poate fi utilizată pentru a obține parola în text clar. Serverul RADIUS consultă apoi baza de date pentru a valida numele de utilizator și parola și returnează unul dintre următoarele trei răspunsuri la NAS:

Flux de autentificare și autorizare RADIUS
  • Respingere acces - Utilizatorului i se refuză accesul la toate resursele de rețea necesare, acest lucru se întâmplă atunci când sunt furnizate date de autentificare incorecte sau dacă se încearcă utilizarea unui cont necunoscut sau inactiv.
  • Access Challenge - Solicită informații de la utilizator, cum ar fi o parolă, un PIN sau un simbol. Access Challenge este, de asemenea, utilizat în scheme de autentificare mai complexe, în care este stabilită o conexiune sigură între computerul utilizatorului și serverul RADIUS, astfel încât datele de conectare să fie ascunse de NAS.
  • Acces Accept - Accesul este acordat utilizatorului, odată autentificat, serverul RADIUS verifică dacă clientul este autorizat să utilizeze serviciul de rețea solicitat. De exemplu, se poate întâmpla ca un utilizator să fie autorizat să acceseze rețeaua fără fir a unei companii, dar nu serviciul VPN al acesteia. Din nou, aceste informații pot fi salvate local pe un server RADIUS sau într-o resursă externă, cum ar fi LDAP.

Fiecare dintre aceste trei răspunsuri poate include un atribut Răspuns-mesaj care justifică tipul mesajului de returnare, textul din atribut poate fi transmis utilizatorului pe o pagină web. Atributele de autorizare sunt trimise către NAS prin stabilirea condițiilor de acces care urmează să fie acordate.

De exemplu, următoarele atribute de autorizare pot fi incluse într-un Access Accept:

  • Adresa IP de atribuit utilizatorului
  • Timpul maxim în care clientul poate rămâne conectat
  • O listă de acces, prioritate la coadă sau alte restricții de acces
  • Parametrii L2TP
  • Parametrii VLAN
  • Parametrii calității serviciului (QoS)

Când clientul primește un pachet de răspuns, se asigură că se potrivește cu o solicitare anterioară utilizând câmpul de identificare. Dacă nu există nicio cerere cu același identificator, răspunsul este ignorat în tăcere. Apoi, clientul verifică Response Authenticator utilizând același calcul făcut de server și, în final, comparând rezultatul cu câmpul Authenticator. Dacă Autenticatorul de răspuns nu se potrivește, pachetul este ignorat în tăcere.

Dacă clientul primește un pachet de acces-accept verificat, numele de utilizator și parola sunt considerate corecte, iar utilizatorul este autentificat. Pe de altă parte, dacă primește un pachet de acces-respingere verificat, numele de utilizator și parola sunt incorecte și, în consecință, utilizatorul nu este autentificat.

Fluxul contabil RADIUS

Contabilitate

Când accesul la rețea este acordat utilizatorului de către NAS, un Start de contabilitate (un pachet care conține un atribut Acct-Status-Type cu valoarea „start”) este trimis de pe NAS către serverul RADIUS pentru a semnaliza începutul rețelei de acces a utilizatorul. De obicei, înregistrările „Start” conțin identificarea utilizatorului, o adresă de rețea și un singur identificator de sesiune.

Periodic, actualizările înregistrărilor intermediare (un pachet care conține un atribut Acct-Status-Type cu valoarea „interim - update”) pot fi trimise de pe NAS către serverul RADIUS, pentru a-l actualiza cu privire la starea unei sesiuni active. De obicei, aceste înregistrări transmit durata sesiunii curente și informații despre utilizarea curentă a datelor.

În cele din urmă, când accesul la rețea este închis, NAS emite o înregistrare finală de oprire a contabilității (un pachet de solicitare care conține un atribut Acct-Status-Type cu valoarea „stop”) către serverul RADIUS, care oferă informații de utilizare finale în termeni de timp, pachete transmise, date transferate și alte informații legate de accesul la rețea al utilizatorului.

De obicei, clientul trimite pachete Contabilitate-Solicitare până când primește un ack Contabilitate-Răspuns, utilizând un anumit interval de reîncercare. Scopul principal al acestor date este ca utilizatorul să poată fi programat în consecință; datele sunt, de asemenea, utilizate în mod obișnuit în scopuri statistice și pentru monitorizarea generală a rețelei.

Siguranță

Protocolul RADIUS transmite parole folosind algoritmul de hash MD5, deoarece această implementare specială oferă o protecție slabă pentru acreditările utilizatorului, ar trebui utilizată o protecție suplimentară, cum ar fi tunelurile IPsec sau rețelele fizice din centrul de date protejate, pentru a proteja traficul RADIUS între dispozitivul NAS și Server RADIUS. În plus, acreditările utilizatorului sunt singura parte protejată de RADIUS însuși, deși alte atribute specifice utilizatorului pot fi considerate informații sensibile (utile unui atacator) sau informații similare private (suficiente pentru a identifica utilizatorul individual). Protocolul RadSec se ocupă de rezolvarea problemelor de securitate menționate anterior.

Roaming

Roaming folosind un server proxy RADIUS AAA.

RADIUS este utilizat în mod obișnuit pentru a facilita roamingul între furnizorii de servicii Internet, de exemplu:

  • De către întreprinderi care oferă un singur set global de acreditări care pot fi utilizate pe multe rețele publice;
  • De către instituțiile care emit acreditările utilizatorilor lor, care permit vizitatorilor să fie autentificați de instituția de origine, cum ar fi în Eduroam.

Radius facilitează acest lucru cu utilizarea tărâmurilor, care identifică locul în care serverul RADIUS ar trebui să transmită cererile AAA pentru procesare.

Tărâmuri

Un tărâm este în mod obișnuit atașat la numele de utilizator al unui utilizator și delimitat cu simbolul „@” care seamănă cu o adresă de e-mail a unui nume de domeniu, aceasta fiind cunoscută sub numele de notare postfix pentru tărâm. O altă opțiune disponibilă este notația de prefix, în care tărâmul este precedat de numele de utilizator folosind „\” ca delimitator. Serverele moderne RADIUS vă permit să utilizați orice caracter ca semn delimitator, deși simbolurile „@” și „\” sunt de obicei utilizate.

Tărâmurile pot fi, de asemenea, compuse folosind atât notația prefix, cât și cea postfix, pentru a permite scenarii de roaming complicate; de exemplu somedomain.com \ [email protected] ar putea fi un nume de utilizator valid pentru două tărâmuri.

Deși tărâmurile seamănă adesea cu domeniile, este important să rețineți că tărâmurile sunt un text arbitrar și nu trebuie să conțină nume de domenii reale. Formatele unui tărâm sunt standardizate în RFC 4282 , care definește un identificator de acces la rețea (NAI) sub forma „utilizator @ tărâm”. În această specificație, porțiunea „tărâm” trebuie să fie un nume de domeniu, cu toate acestea, această practică nu este întotdeauna urmată.

RFC 7542 înlocuiește RFC 4282 în mai 2015.

Operații proxy

Când un server RADIUS primește o cerere AAA pentru un nume de utilizator care conține un tărâm, serverul va raporta un tabel de tărâmuri configurate. Dacă domeniul este cunoscut, Serverul va delega cererea către serverul principal configurat pentru domeniu. Comportamentul serverului proxy în ceea ce privește eliminarea tărâmului de la cerere („stripping”) depinde de configurație de majoritatea serverelor. În plus, serverul proxy poate fi configurat pentru a adăuga, elimina sau rescrie cereri AAA pe măsură ce sunt trimise în timp.

În RADIUS este posibil să utilizați Proxy Chaining, iar pachetele de autentificare-autorizare și contabilitate sunt de obicei direcționate între un dispozitiv NAS și un server de acasă printr-o serie de delegații. Unele avantaje ale utilizării lanțurilor Proxy includ îmbunătățiri în scalabilitate, proceduri operaționale și modificări de capacitate, dar în scenarii de roaming, NAS, Proxy și Home Server pot fi de obicei gestionate de diferite entități administrative; prin urmare, factorul de încredere dintre proxy câștigă mai multă importanță în astfel de aplicații între domenii. În plus, absența securității end-to-end în RADIUS adaugă probleme de încredere între proxy-urile implicate.

Lanțurile proxy sunt explicate în RFC 2607 .

Siguranță

Roamingul cu RADIUS expune utilizatorii la diverse probleme de securitate și confidențialitate. Mai general, unii parteneri de roaming stabilesc un canal de conexiune sigur între serverele RADIUS pentru a se asigura că acreditările utilizatorului nu pot fi interceptate în timp ce sunt delegate pe Internet. Aceasta este o problemă, deoarece hash-ul MD5 încorporat în RADIUS este considerat nesigur.

Aplicații RADIUS

RADIUS este un protocol utilizat pe scară largă în medii distribuite. Este utilizat în mod obișnuit pentru dispozitive de rețea integrate, cum ar fi routere , servere modem , switch-uri etc., din diverse motive:

  • Sistemele integrate nu pot gestiona în general un număr mare de utilizatori cu informații de autentificare distincte, deoarece acest lucru ar necesita mult mai multă memorie de masă decât au majoritatea dintre ei.
  • RADIUS facilitează administrarea centralizată a utilizatorilor, ceea ce este important pentru mai multe aplicații. Mulți furnizori de servicii Internet au zeci de mii, sute de mii sau chiar milioane de utilizatori, adăugați și șterși continuu pe parcursul unei zile, iar informațiile de autentificare ale acestora se schimbă constant. Administrarea centralizată a utilizatorilor este o cerință operațională.
  • RADIUS oferă unele niveluri de protecție împotriva atacurilor active și a mirosului . Alte protocoale de autentificare la distanță oferă securitate intermitentă, inadecvată sau chiar inexistentă.
  • Suportul RADIUS este aproape omniprezent. Alte protocoale de autentificare la distanță nu au suport consistent de la furnizorii de hardware atunci când RADIUS este acceptat în mod uniform. Deoarece platformele pe care este implementat RADIUS sunt adesea sisteme integrate, există posibilități limitate de a susține protocoale suplimentare. Orice modificare a protocolului RADIUS ar trebui să aibă cel puțin o compatibilitate minimă cu clienții și serverele RADIUS vechi (și nemodificate).

În ciuda acestui fapt, a fost dezvoltat un nou protocol, DIAMETER , un candidat pentru a înlocui RADIUS: folosește TCP în loc de UDP și, în consecință, este considerat mai sigur și mai fiabil.

RADIUS pentru autentificare web

RADIUS oferă posibilitatea de a autentifica utilizatorii la distanță chiar și pentru anumite site-uri web care necesită protecție împotriva accesului publicului general. În special, există un modul care asigură integrarea cu serverul web Apache , evitând utilizarea fișierelor .htaccess și .htpasswd cu instrucțiunile Permite și refuza , care face accesul la resursele web protejate cu caracteristicile AAA văzute anterior.

Modulul a fost dezvoltat pentru Apache și se numește mod_auth_radius . În acest fel Apache devine client al serverului RADIUS, înlocuind NAS în schema obișnuită de autentificare și externalizând autorizarea și gestionarea contabilității.

Standard

Protocolul RADIUS este definit în:

  • RFC 2865 Apelare de autentificare la distanță în serviciul utilizator (RADIUS)
  • RFC 2866 Contabilitate RADIUS

Alte RFC relevante sunt:

  • RFC 2548 Atribute RADIUS specifice vânzătorului Microsoft
  • RFC 2607 Înlănțuire proxy și implementarea politicii în roaming
  • RFC 2618 Client de autentificare RADIUS MIB
  • RFC 2619 Server de autentificare RADIUS MIB
  • RFC 2620 RADIUS Accounting Client MIB
  • RFC 2621 Server de contabilitate RADIUS MIB
  • RFC 2809 Implementarea tunelurilor obligatorii L2TP prin RADIUS
  • RFC 2867 Modificări contabile RADIUS pentru suportul protocolului tunel
  • Atribute RFC 2868 RADIUS pentru suport pentru protocolul de tunel
  • RFC 2869 Extensii RADIUS
  • Cerințe pentru servere de acces la rețea RFC 2882 : Practici extinse RADIUS
  • RFC 3162 RADIUS și IPv6
  • RFC 3575 IANA Considerații pentru RADIUS
  • RFC 3576 Extensii de autorizare dinamică la RADIUS
  • Suport RFC 3579 RADIUS pentru EAP
  • Instrucțiuni de utilizare RFC 3580 IEEE 802.1X RADIUS
  • RFC 4014 RADIUS Attributes Suboption pentru opțiunea de informații a agentului de releu DHCP

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității LCCN (EN) sh2003003477 · GND (DE) 4708071-1