RADIUS è l’acronimo di Remote Authentication Dial-In User Service, un termine con cui si fa riferimento al protocollo utilizzato per l’autenticazione e l’autorizzazione utilizzato per l’accesso a una rete.
Viene comunemente utilizzato dai provider Internet per autenticare gli abbonati attraverso l’utilizzo del protocollo PPPoE (PPPoE: cos’è, come funziona e a che cosa serve) ma può essere ad esempio sfruttato per effettuare un’autenticazione su server NAS o su specifici servizi.
Per rafforzare il livello di protezione delle reti WiFi aziende e professionisti possono però usare RADIUS per attivare l’autenticazione mediante i protocolli WPA2/WPA3 Enterprise.
Con WPA2/WPA3 PSK (Pre Shared Key) i client si collegano alla rete WiFi usando una chiave precedentemente condivisa. Con WPA2/WPA3 Enterprise, invece, gli utenti che intendono collegarsi alla WiFi vengono autenticati mediante username, password e certificato digitale.
Una delle caratteristiche più interessanti di RADIUS, che per default effettua l’autenticazione sulla porta UDP 1812, è che permette di esercitare un’azione di controllo sulle sessioni con la registrazione del momento in cui avviene l’autenticazione e quando l’utente si disconnette.
Cos’è e come funziona FreeRADIUS
FreeRADIUS è un software che permette di configurare un server RADIUS con relativa semplicità tanto che costituisce oggi la base di un buon numero di prodotti commerciali.
Supporta tutti i principali protocolli di autenticazione e offre molteplici moduli utili per personalizzarne il comportamento.
Uno dei modi migliori per impostare il funzionamento di FreeRADIUS consiste nel ricorrere al noto firewall opensource pfSense del quale abbiamo spesso parlato in passato (vedere ad esempio pfSense, firewall e VPN tutto in uno: come provarli con Virtualbox e Come proteggere con un firewall i server cloud e gestirli via VPN).
Una volta installato FreeRADIUS su pfSense basterà modificare di conseguenza la configurazione del router o dell’access point WiFi fornendo i seguenti tre parametri:
- IP del server RADIUS ovvero, nel nostro caso, quello corrispondente alla macchina che ospita pfSense
- Porta del server RADIUS, di default UDP 1812
- Chiave di autenticazione del router o dell’access point per utilizzare il server RADIUS
Quando un client avvia la procedura di autenticazione questo trasmesso al router o all’access point WiFi le credenziali dell’utente (nome utente e password) nonché il certificato digitale. In questo modo, grazie alla crittografia a chiave asimmetrica, lo scambio dei dati sarà del tutto sicuro e ci si proteggerà da eventuali tentativi di attacco man-in-the-middle (MITM).
Il router o l’access point WiFi invieranno le credenziali al server RADIUS precedentemente configurato all’interno di pfSense. Nel caso in cui venissero rilevate credenziali valide sarà assegnato un indirizzo via DHCP e il cliente potrà accedere a tutte le risorse a disposizione sulla WiFi.
Come installare e configurare FreeRADIUS con pfSense
Dando per scontato di aver già correttamente installato e configurato pfSense (si può fare un test anche da una macchina virtuale Virtualbox), per caricare e impostare FreeRADIUS basta cliccare sul menu System, Package manager, Available packages e cercare il pacchetto freeradius3
.
Cliccando sul pulsante verde Install quindi su Confirm il pacchetto verrà automaticamente scaricato e installato in pfSense.
Con un clic sul menu Services, FreeRADIUS si potrà avviare immediatamente la configurazione del RADIUS server impostando gli access point, registrando i vari utenti, configurando la porta di ascolto del server e il meccanismo di autenticazione.
Nella scheda NAS/Client bisogna innanzi tutto indicare il router o access point WiFi che offrono la connessione di rete (uno o più dispositivi): è sufficiente indicarne gli indirizzi IP, specificare un nome identificativo per ciascuno di essi e impostare una password segreta a protezione del collegamento (Client shared secret; specificarne una sufficientemente lunga e complessa).
Dopo aver salvato la configurazione bisognerà fare clic su Interfaces per verificare l’interfaccia e la porta sulla quale il server RADIUS si porrà in ascolto.
Impostando * in corrispondenza di Interface IP Address, FreeRADIUS attenderà le richieste di connessione su tutte le interfacce configurate in pfSense. Diversamente si potrà specificare solo quella o quelle di proprio interesse. Aggiungere una descrizione in corrispondenza di Description quindi salvare tutte le modifiche.
Come ultimo passo, cliccando sulla scheda Users, si possono aggiungere i vari utenti che dovranno poter autenticarsi attraverso il server RADIUS per l’accesso alla rete WiFi.
Con un clic su Add bisognerà procedere con l’inserimento delle seguenti informazioni:
- Nome utente senza spazi
- Password di accesso
- Selezionare Cleartext-Password in corrispondenza di Password-Encryption
FreeRADIUS consente di attivare eventualmente l’autenticazione a due fattori (opzionale), di effettuare un reindirizzamento automatico verso un URL specifico una volta conclusa l’autenticazione, fornire sempre lo stesso IP all’utente, usare un ID VLAN, impostare larghezza di banda massima e il traffico autorizzato, la lunghezza massima della sessione insieme con altri parametri avanzati.
A questo punto, cliccando su System, Cert. manager, Add si dovrà creare una nuova autorità di certificazione (CA) perché FreeRADIUS possa autenticare i client WiFi via EAP-TTLS o PEAP. Impostare FreeRADIUS-CA come nome, selezionare Create an internal Certificate Authority quindi scegliere, poco sotto, RSA 2048 o 4096 bit come chiave crittografica.
Cliccando sulla sezione Certificati si dovrà usare il pulsante Add/Sign quindi scegliere FreeRADIUS-CA come autorità di certificazione dal menu a tendina Certificate authority. Compilare anche i campi Descriptive name e Common name.
Dal menu Services, FreeRADIUS, EAP si dovrà spuntare la casella Disable Weak EAP Type, scegliere TTLS o PEAP in corrispondenza di Default EAP Type quindi selezionare 1.2, più sotto, da Minimum TLS version.
Sotto Certificates for TLS si dovrà definire la CA creata in precedenza nella sezione di gestione dei certificati; accanto a SSL Server Certificate il certificato del server che associato alla CA. Attivare quindi le caselle Check Cert Issuer e Check Client Certificate CN.
In corrispondenza di Default EAP Type impostare MSCHAPv2.
Configurazione del router e degli access point WiFi per il collegamento al server RADIUS
Come ultimo passo si dovrà aprire il pannello di amministrazione del router WiFi e accedere alle impostazioni wireless.
Qui bisognerà selezionare WPA2/WPA3 Enterprise, specificare l’utilizzo della crittografia AES, indicare l’indirizzo IP statico assegnato al server FreeRADIUS basato su pfSense quindi la password impostata in precedenza (Client shared secret).
Impostare la connessione WiFi dai client
Dall’interfaccia di FreeRADIUS si deve fare clic su System, Cert. Manager quindi sull’icona Export CA.
Il file .crt che si otterrà dovrà essere copiato sui dispositivi client e aggiunto alla lista dei certificati digitali presenti.
Per aggiungerlo in Windows basterà farvi doppio clic (clic su Installa certificato) in modo che sia preso in carico dal gestore certificati.
A questo punto, trattandosi di una rete WiFi aziendale, verrà chiesto l’inserimento di nome utente e password con l’accesso attraverso il certificato digitale precedentemente esportato.
La stessa operazione può essere effettuata con qualunque altro dispositivo: su Android basterà specificare sempre il certificato digitale corretto.