Server RADIUS
RADIUS é un protocollo che definisce un insieme di regole per far comunicare dispositivi all’interno di una rete. É conosciuto come ”server tripla A” o AAA per via delle tre funzioni principali che svolge:
- Autenticazione: autentica gli utenti prima che accedano al servizio
- Autorizzazione: autorizza gli utenti ad utilizzare specifici servizi
- Accounting: traccia l’utilizzo che ne fanno
É utilizzato soprattutto su grandi reti aziendali o per la ricerca (eduroam), ma anche nell’ambito dell’accesso remoto.
FreeRADIUS
FreeRADIUS é il piú grande server RADIUS open source al mondo, utilizzato da grandissime organizzazioni (tra le quali proprio Eduroam). É stato sviluppato in maniera modulare.
Ha queste caratteristiche:
- supporta EAP
- supporta server virtuali
- é modulare: se un componente non serve piú, viene rimosso senza compromettere l’architettura
AAA
AAA sta per Autenticazione, Autorizazzione e Accounting.
É un modello che definisce come gli utenti devono autenticarsi ed essere autorizzati per l’utilizzo di un certo servizio. Bisogna che ci sia la parte di autenticazione per capire come fare accounting (tracciare l’utilizzo), altrimenti tutti farebbero tutto senza restrizioni.
- Autenticazione: capire se l’utente é chi si dichiara di essere
- Authorization: capire quali permessi ha (es. usare o meno una certa rete)
- Accounting: registrare il consumo delle risorse da parte di quell’utente: dati inviati, dati ricevuti, tempo di utilizzo
Auditing
Analisi fondamentale della parte di accounting e serve per evidenziare potenziali vulnerabilitá o utenti indesiderati.
Per esempio: se un utente cerca di accedere in una rete dove il suo accesso é proibito, questa cosa verrá segnalata (meme qui)_.
Soggetti
Sono quattro:
- NAS: fa da tramite tra il server radius e gli utenti
- RADIUS: controlla i permessi che hanno gli utenti, e il suo unico compito e scopo é rispondere al NAS
- Data store: il “data store” (es. database) memorizza i dati degli utenti, fa accounting
- I client
Sessione (AS)
AS sta per Authentication Session.
Come avviene una sessione (AS)
- I client fanno richiesta al NAS di autenticazione a un certo servizio, usando LDAP, Active Directory, KerberOS, Database o altro.
- Il NAS invia la richiesta al server RADIUS.
- Il RADIUS determina le proprietá che l’utente ha, incluso se ha accesso o meno alla rete (permessi). Risponde al NAS inviandogli queste informazioni (es.
user name: Bob ip address: 192.0.2.78
) - se tutto il processo é andato a buon fine, parte in funzione il database grazie al NAS che richiede l’”Accounting-Request (start) message”. Il database svolge la funzione di accounting, quindi registra dati inviati, dati ricevuti, tempo di utilizzo
NOTA
- il server RADIUS NON PUÓ richiedere ulteriori informazioni
- il server RADIUS NON ha controllo su quello che fa il NAS. Il suo unico scopo é rispondere.
Attributi e dizionari
Ogni “accounting message” ha al suo interno una lista di AVP (Attribute Value Pairs (AVPs)), chiamati semplicemente attributi che includono dati sul client, come username, password, indirizzo ip ma anche indirizzo del nas.
Ne esistono circa 5000.
Esistono anche i dizionari che mappano il file binario del NAS con il nome “comune” dei file nel sistema operativo. Ad oggi non esiste uno standard.
Gli attributi “lato server” controllano il comportamento del server, e non devono essere inclusi nei messaggi RADIUS.