>
<>
= Introduzione =
Questa guida spiega come configurare un server '''RADIUS '''con database LDAP.
RADIUS è un protocollo che regola i meccanismi di autenticazione di un utente che accede ad una LAN da un computer remoto.
I componenti che costituiscono l'architettura '''Radius''' sono:
* un server di accesso alla rete chiamato '''NAS''' ('''''N'''etwork '''A'''ccess '''S'''erver'');
* un server che si occupa di autenticare l'utente sulla rete(il server '''RADIUS''').
== Autenticazione ==
Il database delle utenze che fornisce il servizio di backend come supporto al server RADIUS può essere:
* un semplice '''file di testo''' (ad es il file `/etc/passwd` standard di UNIX)
* un DB dedicato come '''LDAP''' o un altro database ('''PostgreSQL''', '''MySQL''').
= Installazione =
aprire un terminale ed al prompt dei comandi digitare {{{
sudo apt-get install freeradius freeradius-ldap
}}}
Questo installerà i pacchetti necessari per il servizio RADIUS con supporto ad un backend che utilizza un database LDAP.
= File e cartelle di configurazione =
I file di configurazione sono nella la directory `/etc/freeradius` ed i file fondamentali sono 2:
* `radiusd.conf`: contiene le direttive relative al tipo di autenticazione ed autorizzazione utilizzati dal vostro server RADIUS
* `clients.conf`: contiene i dati del server NAS (compreso il secret key che serve per la comunicazione crittografata con il server RADIUS)
Nello specifico il file `clients.conf` deve avere una sezione come quella che segue, per ogni NAS che userà il server RADIUS per l'autentificazione: {{{
client 192.168.200.1 {
secret = testing123
shortname = routercisco
nastype = cisco
}
}}}
Sostitudendo `192.168.200.1` con l'IP del vostro NAS , `testing123` con il secret key per la comunicazione fra il NAS ed il server RADIUS, `routercisco` con il nome con cui si vuole identificare il NAS (usato nei file di log) e `cisco` con il tipo di NAS utilizzato (i valori possibili dipendono dal modello di NAS, ma i più comuni sono `cisco`, `livingston`, e `other` per indicare un tipo di NAS che non rientra nelle categorie precedentemente elencate).
Tutti i log files inerenti lo stratup dei servizi sono contenuti nel file `/var/log/syslog` e nei file all'interno della directory `/var/log/freeradius/`.
Se non si ha bisogno del DB LDAP o MySQL è possibile saltare i paragrafi relativi, in quanto il sistema è già predisposto per supportare l'autenticazione UNIX classica (quella degli utenti definiti nel file `/etc/passwd`).
Se invece si vuole utilizzare come DB delle utenze RADIUS un DB LDAP o MySQL, è necessario seguire il paragrafo seguente.
== Configurazione di un server RADIUS con backend LDAP ==
Si suppone che si abbia un database '''LDAP''' installato, configurato, e con qualche utente inserito.
0. Installare i pacchetti di freeradius per il supporto ad un backend che utilizza un database LDAP.{{{
sudo apt-get install freeradius-ldap
}}}
0. Con un [[Ufficio/EditorDiTesto|editor di testo]] e [[AmministrazioneSistema/Sudo|privilegi di amministratore]] modificare nel file `/etc/freeradius/radiusd.conf` i seguenti parametri:
* nella sezione `modules` individuare la sottosezione '''ldap''' e modificare i seguenti parametri, con quelli del database ldap: {{{
server = "wilcoyote.example.com"
basedn = "dc=example,dc=com"
filter = "(cn=%{Stripped-User-Name:-%{User-Name}})"
}}}nel caso in cui l'accesso al database sia protetto con utente e password aggiungere anche {{{
identity = "cn=admin,dc=example,dc=com"
password = ldappassword
}}}commentare la stringa {{{
accessattr = "dialupAccess"
}}} togliere inoltre il commento al parametro {{{
password_attribute = userPassword
}}}
* nella sezione `authorize` commentare la riga '''files''' e togliere il commento a '''ldap'''.
* nella sezione '''authenticate''' commentare la riga '''unix''' e togliere il commento alla sottosezione '''Auth-Type LDAP'''.
= Verifica e avvio del servizio =
A questo punto è possibile avviare il server RADIUS con il comando: {{{
freeradius -X
}}}
che lo avvia in modalità di debug così che si possa controllare che i tentativi di autenticazione avvengono correttamente.
Si può procedere ad un test di verifica dell'autenticazione di un utente usando il comando di test nativo fornito con freeradius, come segue: {{{
radtest username password localhost 1812 testing123
}}}
sostituendo `username` e `password` con il nome utente e la password dell'utente, `1812` con la porta usata per la comunicazione fra il server NAS ed il server RADIUS(1812 è quella standard), `testing123` con il secret key per la comunicazione protetta fra NAS e RADIUS.
Se tutto è corretto si avrà una risposta di questo tipo
{{{
Sending Access-Request of id 192 to 127.0.0.1 port 1812
User-Name = "username"
User-Password = "password"
NAS-IP-Address = 255.255.255.255
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=192, length=20
}}}
e nella console dove avete lanciato freeradius in debug si vedrà:
{{{
rlm_pap: login attempt with password password
rlm_pap: Using SSHA encryption.
rlm_pap: Normalizing SSHA-Password from base64 encoding
rlm_pap: User authenticated successfully
modcall[authenticate]: module "pap" returns ok for request 4
modcall: leaving group PAP (returns ok) for request 4
Sending Access-Accept of id 192 to 127.0.0.1 port 36883
}}}
Se si prova a mettere una password sbagliata, l'ultima riga dovrebbe cambiare così
{{{
rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=188, length=20
}}}
Se è così il server radius funziona correttamente ed è possibile configurare il/i Nas per autenticarsi.
= Ulteriori Risorse =
* [[http://freeradius.org/|Sito Ufficiale]]
= Ulteriori Risorse =
* [[http://freeradius.org/|Sito Ufficiale]]
* [[http://wiki.ubuntu-it.org/Server/RadiusSql|Autentificazione Radius con backend MySQL]]
----
CategoryHomepage