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