FreeRADIUS
Gli ambienti Unix sono tra i più usati come RADIUS server e uno dei software più popolari é FreeRADIUS. Tale software é compatibile con molte piattaforme Unix tra cui Linux, Solaris e Aix, ed é incluso in alcune distribuzioni Linux. É necessario verificare se la propria distribuzione Linux o il proprio sistema operative dispone di FreeRADIUS. Qualora non fosse disponibile, i sorgenti del programma possono essere scaricati dal sito http://www.freeradius.org/.
Per compilare FreeRADIUS nella maniera corretta, bisogna prima eseguire lo script ./configure con i parametri desiderati e poi modificare il file Makefile nella sottodirectory src/modules/rlm_eap/types/rlm_eap_tls/ alterando i seguenti valori:
TARGET = rlm_eap_tls RLM_CFLAGS = $(INCLTDL) -I../.. -I/usr/local/openssl/include RLM_LDFLAGS += -L/usr/local/openssl/lib
Facendo attenzione di sostituire /usr/local/openssl/include e /usr/local/openssl/lib rispettivamente con il percorso dei file include e le librerie di OpenSSL. Bisogna successivamente eseguire make per iniziare l’effettiva compilazione e, dopo aver compilato il programma, sarà sufficiente eseguire make install per effettuare l’installazione.
Affinché avvenga l’autenticazione IEEE 802.1x é necessario configurare il file client.conf con l’IP address e lo shared secret dell’Access Point. Inoltre, nel file radiusd.conf abilitare default_eap_type = tls e configurare la sezione TLS con i files relativi ai certificati per la 802.1x. Nel file users, per ogni utente che accederà alla rete Wireless, indicare Auth-Type := EAP. Il file di configurazione dir FreeRADIUS é molto complesso, si veda ad esempio un estratto esemplificato del file di configurazione per le sezioni che competono EAP:
modules { # Altri moduli del radius, come CHAP # LDAP o Unix eap { # Abilito sia TLS che MD5, ma preferisco # TLS default_eap_type = eap-tls md5 { } tls { # Secret della chiave privata private_key_password = mysecrete # Chiave privata private_key_file = /etc/raddb/priv.pem # Chiave pubblica certificate_file = /etc/raddb/pub.pem # Chiave pubblica CA CA_file = /etc/raddb/cacert.der # Files da creare con testo random dh_file = /etc/raddb/DH random_file = /etc/raddb/random } } ... } # Inserire EAP tra I moduli di autorizzazione authorize { ... eap } # Inserire EAP tra I moduli di autenticazione authenticate { eap }
Infine, per avviare il radius server é sufficiente eseguire il seguente comando:
/usr/local/radius/sbin/radiusd -X -A