FreeRADIUS
Da Security e-Book.
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