Cosa fa il server RADIUS in una configurazione WPA2 Enterprise?


17

Vorrei aggiornare il mio WiFi dalla modalità "WPA2 Personal" alla modalità "WPA2 Enterprise" perché so che in linea di principio, su un WiFi protetto con "WPA2 Personal", i dispositivi che conoscono il PSK possono annusare reciprocamente il traffico una volta acquisiti l'associazione tra la stazione e l'AP. Al fine di ridurre l'effetto che avrebbe un singolo dispositivo compromesso sul WiFi (in modalità "WPA2 Personal", sarebbe in grado di decrittografare il traffico di altri client WiFi senza compromessi, se prima avesse catturato le "richieste associate" dall'altro client in modalità promiscua / monitor) Vorrei aggiornare il mio WiFi alla sicurezza "WPA2 Enterprise", dove, secondo la mia comprensione, questo non è più possibile.

Ora, sfortunatamente, per "WPA2 Enterprise", è necessario un server RADIUS.

Ora, per quanto ho capito, il server RADIUS esegue solo l'autenticazione, ma non esegue la crittografia o lo scambio di materiale chiave. Quindi, fondamentalmente, un AP riceve una richiesta di associazione da uno STA, il client fornisce le credenziali, quindi l'AP le passa al server RADIUS, il server RADIUS dice "le credenziali sono OK", quindi l'AP consente all'associazione STA, altrimenti no.

È questo il modello giusto? In tal caso, il server RADIUS non è altro che un database pieno di credenziali utente (coppie nome utente e password). In tal caso, sono curioso di sapere perché richiedono una macchina server completa per questo, poiché, anche per migliaia di utenti, nomi utente e password non sono molti dati da archiviare e la verifica delle credenziali è un'attività abbastanza semplice, quindi sembra che questa sia una cosa che potrebbe essere facilmente eseguita dall'AP stesso. Quindi perché richiedere un server dedicato per questo?

Quindi forse ho sbagliato e il server RADIUS non è utilizzato solo per l'autenticazione, ma per la crittografia effettiva? Se uno STA invia dati a una rete utilizzando "WPA2 Enterprise", li crittografa con una chiave di sessione, quindi l'AP riceve i dati crittografati, ma, contrariamente a "WPA2 Personal", non può decrittografarli, quindi li trasmette al server RADIUS, che ha il materiale chiave (e la potenza computazionale) per decrittografarlo. Dopo che RADIUS ha ottenuto il testo in chiaro, passa nuovamente il materiale non crittografato sulla rete cablata. È così che si fa?

Il motivo per cui voglio sapere questo è il seguente. Ho un dispositivo piuttosto vecchio qui, che ha un server RADIUS in esecuzione su di esso. Ma, come ho detto, il dispositivo è piuttosto vecchio e implementa quindi una vecchia versione di RADIUS con noti punti deboli di sicurezza. Ora vorrei sapere se questo comprometterebbe la mia sicurezza WiFi se utilizzato per la crittografia in modalità "WPA2 Enterprise". Se un utente malintenzionato può parlare con il server RADIUS quando non è autenticato, ciò potrebbe compromettere la sicurezza della mia rete, quindi non dovrei farlo. D'altra parte, se l'attaccante può solo parlare con l'AP, che a sua volta parla con il server RADIUS per controllare le credenziali, un "server RADIUS vulnerabile" potrebbe non essere un grosso problema, poiché l'attaccante non potrebbe nella rete WiFi, e quindi non sarebbe in grado di parlare con il server RADIUS, in primo luogo. L'unico dispositivo che comunica con il server RADIUS sarebbe l'AP stesso, per il controllo delle credenziali, con tutto il materiale chiave generato e la crittografia eseguita sull'AP (senza compromessi) stesso. L'attaccante verrebbe revocato e quindi non sarebbe in grado di unirsi alla rete e sfruttare i punti deboli sul server RADIUS potenzialmente vulnerabile.

Quindi, in che modo il server RADIUS è esattamente coinvolto nella sicurezza "WPA2 Enterprise"?

Risposte:


16

WPA2 Enterprise si basa su parti di 802.11i basate su 802.1X. 802.1X NON richiede un server RADIUS, ma è così che viene comunemente fatto per motivi legacy.

Il ruolo del server RADIUS è solo all'inizio della connessione, ma fa una piccola cosa in più di quanto hai menzionato. Come parte del meccanismo di autenticazione, il materiale di codifica viene generato in modo sicuro sul server RADIUS (e lo stesso materiale di codifica viene generato anche sul client WPA2). Dopo che il server RADIUS ha detto all'AP di accettare quella richiesta di connessione, il server RADIUS invia quel materiale per le chiavi in ​​un messaggio "chiave" RADIUS (hanno riutilizzato un messaggio / attributo RADIUS MPPE-KEY che Microsoft aveva aperto la strada) all'AP, quindi l'AP sa quali chiavi per utente per sessione (inclusa la chiave temporale pairwise o PTK) da utilizzare per quella sessione. Ciò pone fine al coinvolgimento del server RADIUS.

Hai perfettamente ragione sul fatto che non ci vuole davvero molta potenza del server per eseguire un server RADIUS. Proprio come un server DHCP o un server DNS per una piccola rete o dominio, in realtà non è necessario un hardware di "classe server" per eseguirlo. Probabilmente qualsiasi piccola scatola di rete integrata a bassa potenza farà. Ci sono molti protocolli nelle reti moderne in cui il "server" non richiede molta potenza per gli standard odierni. Solo perché senti il ​​termine "server", non dare per scontato che richieda un hardware server pesante.


backstory

Vedete, RADIUS era originariamente un modo per spostare l'autenticazione dai server PPP modem dial-up e in un server centralizzato. Ecco perché sta per "Servizio di accesso remoto per autenticazione remota" (dovrebbe essere "Servizio di autenticazione remoto per accesso remoto", ma DIURAS non suona bene come RADIUS). Quando PPP ha iniziato a essere utilizzato per l'autenticazione DSL (PPPoE, PPPoA) e l'autenticazione VPN (PPTP e L2TP-over-IPSec sono entrambi "PPP all'interno di un tunnel crittografato"), era naturale continuare a utilizzare gli stessi server RADIUS per l'autenticazione centralizzata per tutti i "server di accesso remoto" della tua azienda.

Mancavano i meccanismi di autenticazione originali di PPP, che richiedevano molto impegno da parte dell'ente normativo per crearne di nuovi, quindi alla fine l'Extensible Authentication Protocol (EAP) è stato creato per essere un sistema plug-in di tipo auth per l'autenticazione simile a PPP. Naturalmente, i server RADIUS e i client PPP sono stati i primi posti a supportare EAP. Potresti, ovviamente, avere il tuo modem dial-in / server PPP, o il tuo server VPN, o il tuo server PPPoE / PPPoA (davvero, L2TP PPP) o qualsiasi altra cosa, implementare EAP localmente, ma ormai RADIUS era così ampiamente distribuito che erano principalmente i server RADIUS a implementarlo.

Alla fine qualcuno voleva un modo per richiedere l'autenticazione ogni volta che qualcuno si collegava a una porta Ethernet non custodita nella hall o in una sala conferenze, così è stato creato "EAP over LANs" per questo. "EAPoL" come era noto, era standardizzato come 802.1X. 802.1X è stato successivamente applicato alle reti 802.11 in IEEE 802.11i. E la Wi-Fi Alliance ha creato un programma di certificazione / branding / marketing per l'interoperabilità intorno a 802.11i e lo ha chiamato Wi-Fi Protected Access 2 (WPA2).

Pertanto, sebbene l'AP 802.11 stesso possa assolvere l'intero ruolo di "Autenticatore" 802.1X (WPA2-Enterprise) da solo (senza l'aiuto di un server RADIUS), non è semplicemente comune. In effetti, in alcuni AP che sono in grado di eseguire autonomamente 802.1X, in realtà hanno costruito e open source server RADIUS nel loro firmware ed eseguono l'autenticazione 802.1X tramite RADIUS tramite loopback, perché è più facile collegarlo in questo modo piuttosto che provare a implementare il proprio codice autenticatore EAP o copia del codice da alcuni software server RADIUS open source e provare a integrarlo direttamente nei demoni relativi al 802.11 del firmware AP.


Dato quel retroscena e in base all'età del server RADIUS proposto, la domanda importante è se implementa i tipi EAP che si desidera utilizzare per l'autenticazione sulla rete. PEAP? TTLS?

Inoltre, nota che RADIUS utilizza tradizionalmente un "Segreto condiviso" noto al client RADIUS (il client RADIUS è il "Server di accesso alla rete": l'AP in questo caso, o un server VPN o PPP o un altro "Server di accesso remoto" in altri casi) e il server RADIUS, sia per autenticare reciprocamente client e server RADIUS, sia per crittografare la loro comunicazione. La maggior parte dei server RADIUS consente di specificare diversi segreti condivisi per ciascun AP, in base all'indirizzo IP dell'AP. Quindi un utente malintenzionato sulla tua rete dovrebbe essere in grado di assumere quell'indirizzo IP e indovinare quel segreto condiviso, in modo che il server RADIUS parli con esso. Se l'attaccante non era ancora sulla rete, l'attaccante sarebbe solo in grado di provare a inviare messaggi EAP appositamente predisposti / danneggiati che l'AP inoltrerebbe tramite RADIUS al server RADIUS.


Probabilmente userei EAP-EKE o in alternativa EAP-PWD se potessi. Tutto quello che voglio fare è sostanzialmente proteggere gli utenti, che sono in grado di connettersi alla rete, dall'intercettare il traffico altrui. Se WPA2-PSK stabilisse "chiavi di sessione" tramite DH, sarebbe perfetto per me, ma sfortunatamente (per qualsiasi motivo) non lo è. Non ho bisogno di metodi di autenticazione sofisticati. Tutto quello che voglio è impedire alle stazioni di intercettare il traffico reciproco. Per tutto il resto, sto bene con la sicurezza di WPA2-PSK.
no.human.being

@ no.human.being Attenzione che non tutti i metodi EAP supportano la creazione del materiale di codifica necessario per 802.11i / WPA2-Enterprise. Non ho familiarità con i due tipi che hai citato, quindi potresti voler controllare altrove per assicurarti che siano adatti a questo scopo.
Spiff

1
Bello scrivere. Non hai menzionato un motivo importante per cui esiste un server separato. Questo non si applica alle distribuzioni domestiche, ma è una grande parte del "perché esiste". In qualsiasi distribuzione aziendale, i punti di accesso non sono in realtà attendibili, poiché si trovano in aree pubbliche e pertanto non devono contenere alcuna informazione dell'utente. Inoltre, con qualsiasi tipo EAP che fornisce un tunnel sicuro al client (PEAP, TTLS, TLS), l'AP non partecipa nemmeno all'autenticazione, quindi non può intercettare le credenziali dell'utente anche se viene compromesso da qualcuno con un ladder :)
Ammo Goettsch,

3

WPA Enterprise (WPA con EAP) ti consente di avere molti altri metodi di autenticazione, come certificati digitali, token RSA, ecc. Dovrebbe essere implementato con un server radius, perché tutti questi metodi vanno oltre i semplici nomi utente + password e il protocollo radius è il standard di fatto per la maggior parte dei sistemi che richiedono AAA (autenticazione, autorizzazione, contabilità).

Detto questo,

1) il server radius può essere facilmente protetto dalle regole del firewall, accettando i pacchetti solo dagli AP (il client wifi non parlerà mai direttamente al server radius)

2) l'utilizzo di un vecchio raggio potrebbe non funzionare, consiglio uno degli ultimi server freeradius

Maggiori dettagli su come funziona e cosa devi fare: http://wiki.freeradius.org/guide/WPA-HOWTO#Why-Would-I-Want-WPA ?


Si. Pensavo solo di poter risparmiare energia (e rumore) non installando un vero server per RADIUS perché non ho bisogno di "metodi di autenticazione sofisticati", vorrei solo impedire ai client wireless di "annusarsi a vicenda" (loro probabilmente no, è solo un po 'di paranoia in più ;-)). Quindi, fondamentalmente, voglio la privacy di una "rete commutata" sul wireless (che è un mezzo di trasmissione intrinsecamente), quindi ho bisogno delle chiavi "per link" o "per client". "WPA2 Enterprise" sarebbe probabilmente adatto alle mie esigenze. Potrei provare a configurare RADIUS su una scheda integrata che esegue Linux.
no.human.being

-2

FreeRadius funzionerà felicemente su un Raspberry PI. Il solito sistema operativo è Raspbian, che è un sapore di Debian, quindi farà tutto ciò che si potrebbe desiderare che un server faccia, ad esempio DHCP / DNS. È economico - 40 dollari per una scheda nuda - ma budget 80 o 90 dollari per avere extra "opzionali" - come un caso e alimentatore ... Ho usato il raggio su un Pi per un paio di anni -24 / 7. Ha anche zenmap e Wireshark. È una piattaforma di creazione per provare cose mentre scorre su una scheda SD e puoi copiare la scheda SD sul tuo PC. Prova qualcosa e ripristina la SD dal tuo PC se l'hai rovinata.


2
Questa risposta non spiega il ruolo di un server RADIUS
janv8000
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.