Configura il server FreeRADIUS in pfSense e usa WPA2 / WPA3 Enterprise

WiFi le reti di solito utilizzano un tipo di crittografia WPA2 o WPA3 Personal, o anche noto come PSK (Pre-Shared Key), dove avremo una password per accedere alla rete wireless e tutti i client WiFi devono utilizzare questa chiave per accedere e crittografare / decifrare le informazioni che viaggiano nell'aria. FreeRADIUS è il software per eccellenza per configurare un server RADIUS e autenticare client con username, password e certificato digitale, al fine di configurare reti WiFi con WPA2 o WPA3-Enterprise, utilizzando diversi protocolli come PEAP, TLS, TTLS e MSCHAPv2 tra altri. Oggi in questo articolo spiegheremo come possiamo configurare un server RADIUS con FreeRADIUS in un pfSense per autenticare i client wireless.

Cos'è un server RADIUS?

RADIUS deriva dall'acronimo in inglese Remote Authentication Dial-In User Service, è un protocollo di autenticazione e autorizzazione per l'accesso alla rete, per impostazione predefinita utilizza il protocollo UDP 1812 per stabilire connessioni tra computer per l'autenticazione. I server RADIUS consentono sia di autenticare gli utenti delle connessioni Internet, facendo uso di PPPoE, ma consentono anche di autenticare gli utenti cablati, gli utenti che vogliono autenticarsi su un server NAS o un servizio, e permette anche di autenticare i client WiFi wireless, utilizzando WPA2 / WPA3 Enterprise.

Configura il server FreeRADIUS in pfSense

I server RADIUS di solito fanno uso di diversi protocolli di autenticazione, PAP, CHAP ed EAP sono alcuni di loro. Una delle caratteristiche più interessanti è che ci permette di controllare le sessioni, quando inizia l'autenticazione, quando termina la connessione e molti altri parametri. A seconda dell'utilizzo del server RADIUS, sarà configurato per fornire un servizio o un altro.

Cos'è FreeRADIUS?

FreeRADIUS è il software per eccellenza per montare un server RADIUS, è modulare, gratuito e garantisce alte prestazioni e grande sicurezza. FreeRADIUS supporta tutti i protocolli di autenticazione comuni, infatti è la base di molti prodotti e servizi RADIUS commerciali, inoltre abbiamo un gran numero di moduli inclusi e altri che possono essere incorporati. Ad esempio, i moduli inclusi consentono LDAP, MySQL, PostgreSQL e persino Oracle e altri database, per quanto riguarda i tipi di autenticazione, supporta EAP, inclusi PEAP, EAP-TTLS e anche EAP-TLS.

FreeRADIUS permette di gestirlo tramite strumenti aggiuntivi, in modo da non doverlo configurare manualmente modificando file di testo complessi e caricando successivamente la configurazione. pfSense dispone di una completa interfaccia grafica utente che ci permetterà di configurare in dettaglio tutti i parametri, inoltre, avremo la possibilità di vedere i file di testo della configurazione grezza, nel caso dovessimo apportare noi stessi delle modifiche.

A che serve configurare un server RADIUS per il WiFi?

Quando parliamo di reti WiFi, di solito usiamo WPA2 o WPA3-Personal, dove usiamo la stessa password per ogni dispositivo. Questa chiave è precondivisa, cioè tutti i client WiFi che vogliono connettersi devono conoscerla. Questi tipi di reti vengono solitamente attaccati dalla forza bruta o dal dizionario, sebbene logicamente le reti WPA3 siano più sicure e resistano meglio a diversi attacchi. Se montiamo un server RADIUS, possiamo configurare il nostro router WiFi o punto di accesso WiFi per utilizzare l'autenticazione WPA2 / WPA3-Enterprise, dove non avremo una chiave precondivisa per tutti gli utenti, ma ogni utente avrà il proprio nome utente e password per accedere alla rete WiFi.

Un server RADIUS fa uso di un'autorità di certificazione (CA), perché ci sono alcuni protocolli di autenticazione che fanno uso di un'infrastruttura a chiave pubblica per l'autenticazione del client, inoltre, questo è molto importante perché tutti i client dovrebbero sempre avere il certificato CA per verificarlo ci stiamo effettivamente connettendo a una rete WiFi legittima. Alcuni attacchi alle reti WiFi consistono nel impersonare il punto di accesso legittimo, in questo modo, la vittima potrebbe inviare le proprie credenziali a un criminale informatico. Per questo motivo, si consiglia vivamente di non solo avere il nome utente e la password della rete WiFi, ma di utilizzare questo certificato della CA per verificare che la rete WiFi a cui ci stiamo connettendo sia legittima.

Lo schema operativo di un server RADIUS, situato su un server NAS QNAP o qualsiasi altro produttore, sarebbe il seguente:

Nel nostro caso, abbiamo installato FreeRADIUS nel sistema operativo pfSense stesso e autenticheremo i client wireless che si connettono all'AP direttamente da qui. La configurazione dei punti di accesso è diversa con ogni produttore, ma l'unica cosa che dovremo prendere in considerazione sono tre parametri:

  • IP del server RADIUS, in questo caso, pfSense stesso
  • Porta di ascolto del server RADIUS, configurabile, ma per impostazione predefinita è 1812.
  • Chiave di autenticazione del punto di accesso con il server RADIUS.

Il processo di autenticazione di un client WiFi con WPA2 o WPA3-Enterprise è il seguente:

  1. Un client WiFi si connette alla rete WiFi tramite un punto di accesso. Ti verrà chiesto di inserire alcune credenziali utente (nome utente e password) e anche di caricare il certificato CA, per proteggerti da possibili attacchi MitM.
  2. Il punto di accesso WiFi invierà le credenziali al server RADIUS in pfSense, che abbiamo precedentemente configurato. Se le credenziali sono valide, puoi connetterti a Internet, se le credenziali non sono valide l'autenticazione fallirà e ci darà un errore nel client WiFi.

Ovviamente, non appena ti sarà permesso di entrare in rete perché le credenziali sono valide, ti verrà fornito un indirizzo IP da DHCP e accederai a tutte le risorse sulla rete WiFi.

Una volta che sappiamo un po 'cos'è un server RADIUS e cosa ci permette di fare FreeRADIUS, inizieremo con la configurazione del server FreeRADIUS in pfSense.

Installazione di FreeRADIUS su pfSense

Il software FreeRADIUS non è installato di default in pfSense, per installarlo dobbiamo andare nella sezione “System / Package Manager”, e cercare il software freeradius3 che abbiamo nella lista dei pacchetti disponibili. Clicchiamo su «Installa» e confermiamo l'azione, una volta installato e pronto per iniziare a lavorare, avremo la tipica barra verde, indicante che tutto ha funzionato correttamente.

Appena installato, possiamo vedere che nella sezione "Servizi" lo abbiamo a disposizione, per iniziare a configurarlo:

Ora è il momento di configurarlo, registrare gli utenti e anche i diversi punti di accesso WiFi per autenticarsi con il server RADIUS.

Opzioni di configurazione disponibili in pfSense

Se entriamo nella configurazione «FreeRADIUS» nella sezione «Servizi», possiamo vedere l'interfaccia utente grafica per configurare in dettaglio il server RADIUS. In questo menu troveremo diverse schede per configurare diversi aspetti:

  • Utenti : configureremo gli utenti che verranno autenticati via WiFi, potremo definire user / password e tanti altri parametri avanzati.
  • MAC : possiamo definire il comportamento del RADIUS se trova un MAC specifico, fornendo lo stesso indirizzo IP, un ID VLAN specifico, limitando la larghezza di banda, il tempo di scadenza e altre impostazioni avanzate.
  • NAS / client : è qui che dovremo configurare uno o più punti di accesso che si autenticheranno sul server RADIUS. Se abbiamo un totale di 4 punti di accesso WiFi professionali che consentono WPA2 / WPA3-Enterprise, è qui che dovremo inserire il loro indirizzo IP e anche la chiave PSK.
  • interfacce : possiamo definire l'interfaccia fisica o logica dove il server RADIUS ascolterà, e anche definire la porta di ascolto, utilizzerà sempre il protocollo UDP.
  • Impostazioni profilo : possiamo configurare le opzioni del server globale, inclusa la registrazione di diversi utenti e i log completi del server.
  • EAP : parametri globali del protocollo di autenticazione EAP, si consiglia di disabilitare i tipi EAP deboli suscettibili agli attacchi. Qui è dove dovremo caricare la CA per TTLS e TLS.
  • SQL e LDAP : consente l'integrazione del software in un database e anche nell'LDAP dell'organizzazione.

Nella sezione "Visualizza configurazione" possiamo vedere i diversi file di testo con la configurazione grezza del server FreeRADIUS, se sei abituato a configurarlo tramite la modifica del file di testo, questo ti permetterà di verificare che la configurazione sia corretta. Infine, possiamo anche vedere la configurazione di XMLRPC Sync, nel caso in cui ne facciamo uso.

Una volta viste le configurazioni che l'interfaccia utente grafica ci consente, la configureremo in dettaglio.

Configurazione del server FreeRADIUS in pfSense

Per configurare correttamente il server FreeRADIUS, dovremo registrare gli AP, registrare i diversi utenti, configurare l'interfaccia di ascolto del server e, infine, configurare l'autenticazione EAP.

Configurare NAS / client

La prima cosa che dobbiamo fare è registrare i diversi AP in modo che si autenticino correttamente con il server. Dobbiamo andare alla sezione "NAS / Client" per registrare i diversi AP che il server RADIUS utilizzerà per autenticare gli utenti wireless. Nella seguente galleria puoi vedere tutte le opzioni disponibili che abbiamo:

Dovremo inserire le seguenti informazioni:

  • Indirizzo IP : l'indirizzo IP che il punto di accesso professionale ha sulla rete, normalmente abbiamo una sottorete di gestione dove si trovano tutti questi computer.
  • Versione IP client : IPv4 normalmente, ma consente anche IPv6.
  • Nome abbreviato client : un identificativo del punto di accesso che abbiamo registrato
  • Segreto condiviso del client : la password condivisa, sia l'AP che questo «NAS / Client» devono avere esattamente la stessa password di autenticazione. Consente fino a 31 caratteri.

Se ti trovi in ​​un'organizzazione in cui hai un controller WiFi e gestisci, ad esempio, 4 punti di accesso WiFi, devi configurarlo come segue:

  • Registra tutti gli AP con i rispettivi IP privati
  • Inserisci tutti gli AP registrati qui, esattamente la stessa password.
  • Inserisci la stessa password nel controller WiFi e tutti gli AP si autenticheranno sul server RADIUS con questa password.

Il resto delle opzioni può essere lasciato per impostazione predefinita:

Nel nostro caso, abbiamo configurato un totale di 4 access point WiFi, tutti controllati dal controller Nuclias Connect.

Una volta registrati, configureremo la sezione «Interfacce», dove ascolterai.

Configura le «Interfacce» dove ascolterai

Nella sezione Interfacce è dove possiamo configurare l'indirizzo IP di ascolto del server, se mettiamo * significa che ascolterà su tutte le interfacce. Dobbiamo anche indicare la porta di ascolto, il tipo di interfaccia (autenticazione, autorizzazione, ecc.), La versione IPv4 e una breve descrizione.

Nel nostro caso ci interessa solo ascoltare l'indirizzo IP della rete di gestione, nel resto delle interfacce non ci interessa avere il server RADIUS in ascolto.

Possiamo aggiungere manualmente diverse interfacce e non solo una. Nel menu principale di «Interfacce» possiamo vedere il riepilogo della configurazione.

Una volta definito ciò, procediamo con la configurazione degli utenti da autenticare.

Registrare i diversi utenti per l'autenticazione

Per registrare i diversi utenti, dobbiamo andare alla sezione «Utenti». In questo menu avremo molte opzioni di configurazione, ma se vogliamo eseguire solo l'autenticazione tramite WiFi con WPA2 / WPA3-Enterprise, dobbiamo compilare questo:

  • Nome utente: il nome utente, si sconsiglia di inserire spazi.
  • Password: la password di accesso che avrà questo utente.
  • Crittografia password: inseriamo una password in chiaro.

Altre opzioni di configurazione sono la possibilità di abilitare l'autenticazione a più fattori, definire un URL di reindirizzamento dopo l'autenticazione, fornire sempre un IP, un ID VLAN specifico, configurare la larghezza di banda e il traffico massimi e l'ora di scadenza della sessione e altri parametri avanzati.

Per le reti WiFi aziendali, inserisci semplicemente nome utente e password:

Successivamente, nella sezione «Utenti» li vedremo tutti registrati, in ogni momento potremo modificare la loro configurazione.

Crea una CA da assegnare al server

A questo punto, poiché autenticeremo i client WiFi tramite EAP-TTLS o PEAP, è necessario creare una nuova CA per FreeRADIUS, per crearla, dobbiamo semplicemente andare al " Gestore di sistema / certificati "Sezione e crea una nuova CA interna, con RSA di 2048 o 4096 bit, con SHA256 e la durata che vogliamo:

Una volta creato, apparirà nell'elenco CA, come puoi vedere qui:

Esistono alcuni tipi di autenticazione che devono utilizzare i certificati per il client, creeremo un certificato SSL aggiuntivo per il server FreeRADIUS e un altro per il client. Per farlo, dobbiamo andare nella sezione “Certificati”, e crearne uno nuovo, prendendo come CA l'Autorità di certificazione precedentemente creata, in questo modo creeremo e firmeremo un certificato per il server.

Una volta che abbiamo creato la CA e il certificato del server (il client sarebbe facoltativo, ci sono alcuni tipi di autenticazione che non necessitano di un certificato SSL del client), procediamo con « Servizi / FreeRADIUS / EAP «, E modificheremo le seguenti opzioni:

  • Disabilita tipo EAP debole: abilitiamo l'opzione per disabilitare i protocolli non protetti.
  • Tipo EAP predefinito: scegliamo una qualsiasi delle assicurazioni, si consiglia di utilizzare TTLS o PEAP.
  • Versione TLS minima: 1.2

Nel " Certificati per TLS «Sezione, dovremo mettere:

  • Certificato SSL CA: la CA creata nella sezione di gestione dei certificati.
  • Certificato server SSL: il certificato del server che abbiamo creato dalla CA.

Nel " EAP-TLS "Possiamo lasciarlo per impostazione predefinita, non useremo questo tipo di autenticazione, ma se lo usi, dovrai mettere:

  • Verifica emittente certificato: abilitato
  • Oggetto CA: inseriamo le informazioni del certificato CA creato, deve corrispondere.
  • Controllare il certificato client CN

Nel " EAP-TTLS "Definiamo le seguenti configurazioni:

  • Tipo EAP predefinito: MSCHAPv2

Nel " EAP-PEAP "Definiamo le seguenti configurazioni:

  • Tipo EAP predefinito: MSCHAPv2

Nella seguente galleria puoi vedere la nostra configurazione attuale:

Una volta terminato, fai clic su "Salva" e lo avremo pronto. Ora andremo al punto di accesso o al controller WiFi e configureremo:

  • SSID: nome della rete WiFi
  • Sicurezza: WPA2-Enterprise
  • Crittografia: AES
  • Impostazioni del server RADIUS primario: l'IP del server RADIUS, la chiave PSK configurata nei punti di accesso nella sezione NAS / Client e la porta utilizzata.

Salviamo le modifiche, propaghiamo tutte le modifiche apportate al controller WiFi a tutti i punti di accesso WiFi e avremo l'intero sistema configurato per avviare l'autenticazione dei client WiFi.

Connetti Windows 10 alla rete WiFi con WPA2 o WPA3-Enterprise

La prima cosa che dobbiamo fare per connetterci Windows 10, è esportare la chiave pubblica della CA in pfSense, per fare ciò dobbiamo semplicemente andare nella sezione “System / Certificate Manager” e cliccare su “Esporta CA”, non dobbiamo esportare la «chiave» , solo «Esporta CA». Una volta esportato ed è sul nostro PC, facciamo doppio clic sul certificato per installarlo nel nostro sistema operativo Windows, nell'archivio certificati.

Successivamente, cerchiamo la rete WiFi a cui connetterci, Windows 10 riconoscerà automaticamente che stiamo tentando di connetterci a una rete WiFi aziendale, inseriamo il nome utente e la password e Windows 10 ci chiederà se siamo ancora connessi alla rete , perché non abbiamo in uso il certificato CA. Se clicchiamo su "Mostra dettagli certificato" potremo vedere l'impronta digitale di detto certificato.

Nello stato della rete WiFi, possiamo cliccare su "Proprietà Wireless", andiamo alla sezione "Configurazione" dove si dice PEAP, e mettiamo la seguente configurazione:

  • Convalida l'identità del server convalidando il certificato.
  • Scegliamo il certificato FreeRADIUS-CA che abbiamo esportato

Possiamo anche configurare il criterio di notifica prima della connessione e persino il metodo di autenticazione, che selezioniamo EAP-MSCHAPv2, come puoi vedere qui:

Il resto delle opzioni di configurazione può essere lasciato per impostazione predefinita.

Facciamo clic su accetta e usciamo, ora saremo in grado di autenticarci nella rete WiFi WPA2-Enterprise con sicurezza, poiché abbiamo caricato correttamente la CA per confermare che ci stiamo effettivamente connettendo a un AP legittimo.

Connetti Android alla rete WiFi con WPA2 o WPA3-Enterprise

Nel caso di Android, dovremo anche installare il certificato CA sul dispositivo mobile, passiamo questo certificato al cellulare con qualsiasi metodo (via cavo, WiFi, via FTP, ecc.), e con qualsiasi file explorer lo installiamo sul sistema operativo come AC per WiFi.

Scegliamo la rete WiFi con WPA2-Enterprise a cui connetterci e configuriamo tutto come segue:

  • Metodo EAP: TTLS
  • Autenticazione di fase 2: MSCHAPv2
  • Certificato CA: scegliamo il certificato che abbiamo installato
  • Identità: il nome utente registrato in «Utenti»
  • Password: la password associata al nome utente che abbiamo registrato in «Utenti».

Una volta fatto, il cellulare si autenticherà correttamente con il server RADIUS configurato e avremo una connessione Internet senza problemi.

Come hai visto, la configurazione di un server RADIUS per l'autenticazione di client WiFi wireless tramite WPA2 o WPA3-Enterprise è molto più complessa rispetto all'impostazione della tipica password di accesso, ma è anche molto più sicura. Questo tipo di autenticazione è ampiamente utilizzato nelle reti aziendali, nelle università e persino in alcuni hotel.

Ci auguriamo che questo tutorial ti abbia aiutato a configurare FreeRADIUS nel sistema operativo pfSense per autenticare i diversi utenti.