Autenticazione degli accessi Wireless tramite server Radius: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Riga 92: Riga 92:
</pre>
</pre>
Come si può vedere dai plugin installati, utilizzeremo un database MySQL per l'archiviazione degli utenti e delle password.
Come si può vedere dai plugin installati, utilizzeremo un database MySQL per l'archiviazione degli utenti e delle password.
== Configurazione di FreeRADIUS ==

Versione delle 21:03, 31 ago 2012

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Se si prevede di installare una rete wireless, è consigliabile configurarla in modo che possano accedervi solo gli utenti specificati.
I metodi di protezione più comunemente adottati sono il sistema WPA e il sistema WPA2. Questi due protocolli supportano sia l'autenticazione attraverso una chiave segreta condivisa (PSK = Pre Shared Key) e conosciuta da tutti i client della rete, sia l'autenticazione attraverso un server specifico. Wi-Fi Alliance ha introdotto i termini WPA(2)-Personal e WPA(2)-Enterprise per differenziare le due classi di sicurezza fornite dai prodotti. I WPA(2)-Personal utilizzeranno il metodo PSK a chiave condivisa mentre i WPA(2)-Enterprise utilizzeranno un server di autenticazione.
In questa guida vedremo la configurazione di un server Radius su Debian, per fornire ai protocolli WPA e WPA2 un server di autenticazione in grado di fornire una coppia di credenziali (nome utente / password) diverse per ogni utente della rete wireless.

Prerequisiti

Riconfigurazione di OpenLDAP

Il server OpenLDAP va riconfigurato e modificato per potersi integrare con FreeRadius, l'implementazione LInux più comune di un server Radius.
Occorre innanzitutto includere al file di configurazione di LDAP il file che contiene lo schema Radius:

# cp /usr/share/doc/freeradius/examples/openldap.schema /usr/share/doc/freeradius/examples/
# /etc/init.d/openldap restart

I passaggi successivi sono diversi a seconda della versione di Debian che stiamo utilizzando.

Fino a Debian Lenny

Aggiungiamo al file /etc/ldap/slapd.conf la riga che definisce lo schema Radius:

include /etc/ldap/schema/radius.schema

Da Debian Squeeze in poi

La nuova versione di OpenLDAP presente nei repository Debian a partire da Squeeze supporta un nuovo metodo di configurazione dinamico, non più basato sul file di configurazione statico /etc/ldap/slapd.conf.
Creiamo il file schema_convert.conf:

# touch /tmp/schema_convert.conf
# nano /tmp/schema_convert.conf

e editiamolo in questa maniera:

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/samba.schema

Salviamo il file e creiamo una directory temporanea per gli output di slapcat:

# mkdir /tmp/ldif_output
# slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={10}openldap,cn=schema,cn=config" > /tmp/openldap.ldif
# nano /tmp/openldap.ldif

e modifichiamo il file come segue:

dn: cn=openldap,cn=schema,cn=config
...
cn: openldap

Rimuoviamo le stringhe a fondo pagina:

structuralObjectClass: olcSchemaConfig
entryUUID: b53b75ca-083f-102d-9fff-2f64fd123c95
creatorsName: cn=config
createTimestamp: 20080827045234Z
entryCSN: 20080827045234.341425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20080827045234Z

Salviamo tutto e copiamolo in /etc/ldap/schema:

# cp /tmp/openldap.ldif /etc/ldap/schema

Infine importiamolo in OpenLDAP e riavviamo il demone:

# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/openldap.ldif 
# /etc/init.d/slapd restart

Installazione di FreeRADIUS

Arrivati a questo punto possiamo installare FreeRADIUS, il demone che si occuperà di gestire le richieste di autenticazione:

# apt-get install freeradius freeradius-common freeradius-krb5 freeradius-mysql freeradius-utils

Come si può vedere dai plugin installati, utilizzeremo un database MySQL per l'archiviazione degli utenti e delle password.

Configurazione di FreeRADIUS