Remote Authentication Dial-in Service
È stato sviluppato da Livingston Enterprises Inc., nel 1991, come server di accesso di autenticazione e come protocollo di accounting, dotato di un ampio supporto, è spesso utilizzato dagli ISP e dalle aziende per gestire l’accesso a Internet o reti interne, reti wireless e servizi integrati di posta elettronica. Queste reti possono incorporare modem, DSL, punti di accesso, VPN, porte di rete, server web, etc
RADIUS è un protocollo che utilizza pacchetti UDP per trasportare informazioni di autenticazione e configurazione tra l’autenticatore e il server RADIUS. L’autenticazione è basata su username, password e, opzionalmente, una risposta a una richiesta di riconoscimento (una sorta di “parola d’ordine”). Se l’autenticazione ha successo, il server RADIUS invia le informazioni di configurazione al client, inclusi i valori necessari a soddisfare il servizio richiesto, come un indirizzo IP e una maschera di sottorete per PPP o un numero di porta TCP per telnet.
L’access point, ad esempio, agisce da traduttore EAP-RADIUS tra il client wireless e il RADIUS server, utilizzando il protocollo EAP per la comunicazione con il client e il protocollo RADIUS per la comunicazione con il server RADIUS. L’access point incapsula quindi le informazioni (come lo username o la chiave pubblica) in un pacchetto RADIUS che inoltra al server RADIUS. Quando il server rimanda una delle possibili risposte (Access-Accept/Reject/Challenge), l’access point spacchetta il pacchetto RADIUS e inoltra la risposta al client in un pacchetto EAP.
Funzionamento – Autorizzazione e Autenticazione
L’intero processo ha inizio quando un client crea un pacchetto RADIUS ‘Access-Request’, includendo almeno gli attributi User-Name e User-Password, e generando il contenuto del campo identificatore. Il processo di generazione del campo identificatore non è specificato nel protocollo RADIUS, ma è solitamente implementato come un semplice contatore incrementato ad ogni richiesta.
L’utente invia una richiesta a un Network Access Server (NAS) per ottenere l’accesso a una particolare risorsa di rete utilizzando le credenziali di accesso. Le credenziali vengono passate al dispositivo NAS tramite il protocollo del livello di collegamento (link-layer) per esempio nel caso di molti fornitori di dialup o DSL viene utilizzato il Point-to-Point Protocol (PPP), oppure viene pubblicato in forma web HTTPS.
A sua volta, il NAS invia un messaggio di richiesta di accesso al server RADIUS, richiedendo l’autorizzazione che consente l’accesso tramite il protocollo RADIUS.
Questa richiesta include le credenziali di accesso, in genere sotto forma di username e password o certificato di sicurezza fornito dall’utente. La richiesta inoltre, può contenere ulteriori informazioni che il NAS conosce riguardo l’utente, come ad esempio l’indirizzo di rete o il numero di telefono, e le informazioni riguardanti il punto fisico di collegamento dell’utente al NAS.
Il server verifica che le informazioni siano corrette utilizzando schemi di autenticazione come il PAP, CHAP o EAP. L’identificazione dell’utente è verificata, insieme, eventualmente, ad altre informazioni relative alla richiesta. Storicamente, il server controllava le informazioni dell’utente in un database memorizzato localmente, attualmente i server sono in grado inoltre di far riferimento a risorse esterne, come SQL, Kerberos, LDAP al fine di verificare le credenziali inviate dal client.
Il server riceve il pacchetto Access-Request e verifica di possedere la chiave segreta per il client. In caso negativo, il pacchetto viene silenziosamente ignorato. Poiché anche il server è in possesso della chiave condivisa, è possibile utilizzare una versione modificata del processo di protezione del client per ottenere la password in chiaro. Quindi il server RADIUS consulta il database per convalidare username e password e restituisce una delle tre seguenti risposte al NAS:
RADIUS Authentication and Authorization Flow
Access Reject – All’utente viene negato l’accesso a tutte le risorse di rete richieste, ciò è dovuto nel momento in cui vengono forniti dati di autenticazione errati o se viene fatto riferimento a un account sconosciuto o inattivo.
Access Challenge – Sollecita informazioni da parte dell’utente come una password, PIN o token. Access Challenge è anche utilizzato nelle finestre di dialogo di autenticazione più complesse in cui è stabilita una connessione sicura tra la macchina utente e il server RADIUS in modo che le credenziali di accesso siano nascoste dal NAS.
Access Accept – Viene concesso l’accesso all’utente, una volta autenticato il server RADIUS verifica che il client è autorizzato ad utilizzare il servizio di rete richiesto. Ad esempio può succedere che un utente è autorizzato ad accedere alla rete wireless di un’azienda ma non al suo servizio VPN. Di nuovo queste informazioni possono essere salvate localmente su un server RADIUS oppure in una risorsa esterna come LDAP.
Ciascuna di queste tre risposte può includere un attributo Reply-Message che giustifica il tipo di messaggio di ritorno, il testo nell’attributo può essere trasmesso all’utente in una pagina web. Gli attributi di autorizzazione vengono convogliati al NAS stabilendo le condizioni di accesso da concedere.
Accounting
Quando l’accesso alla rete viene concesso all’utente da parte del NAS un Accounting Start (un pacchetto contenente un attributo Acct-Status-Type con il valore ” start” ) viene inviato dal NAS al server RADIUS per segnalare l’inizio di accesso di rete dell’utente. Tipicamente i record “Start” contengono l’identificazione dell’utente, un indirizzo di rete e un unico session identifier.
Periodicamente, aggiornare i record intermedi (un pacchetto contenente un attributo Acct-Status-Type con il valore “interim – update”) possono essere inviati dal NAS al server RADIUS, per aggiornarlo sullo stato di una sessione attiva. In genere questi record trasmettono la durata della sessione corrente e informazioni sull’utilizzo di dati corrente.
Infine, quando l’accesso alla rete è chiuso, il NAS emette un record finale di Accounting Stop (un pacchetto di richiesta contenente un attributo Acct-Status-Type con il valore ” stop”) al server RADIUS , che fornisce informazioni sull’uso finale in termini di tempo, i pacchetti trasmessi, i dati trasferiti e altre informazioni relative all’accesso di rete dell’utente.
In genere, il client invia pacchetti di tipo Accounting-Request fino a quando non riceve un ack Accounting-Response, utilizzando un certo intervallo di tentativi. Lo scopo principale di questi dati è che l’utente può essere di conseguenza messo in programma; il dato è anche comunemente usato per fini statistici e per il monitoraggio di rete generale.
Esempio
Se ti piace è piaciuto quest’articolo fallo sapere agli altri condividendolo attraverso il tuo social network preferito.
Lascia la tua stella 🙂