>
<>
= Introduzione =
Questa guida spiega come configurare un server '''RADIUS''' con database LDAP o MySQL.
= Installazione =
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto ''freeradius''.
= File e cartelle di configurazione =
All'interno della cartella `/etc/freeradius` sono presenti i due principali file di configurazione:
* `radiusd.conf`: contiene le direttive relative al tipo di autenticazione ed autorizzazione utilizzati al 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 i paragrafi seguenti.
== 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'''.
== Configurazione di un server RADIUS con backend MySQL ==
Si suppone che si abbia un database '''MySQL''' installato e configurato. In caso contrario consultare la relativa [[Server/MySql guida]]
0. Installare i pacchetti di freeradius per il supporto ad un backend che utilizza un database MySQL.{{{
sudo apt-get install freeradius-mysql
}}}
0. Con un [[Ufficio/EditorDiTesto|editor di testo]] e [[AmministrazioneSistema/Sudo|privilegi di amministratore]] modificare il file `/etc/freeradius/radiusd.conf` commentando nella sezione `authorize` tutti i tipi di autorizzazione al di fuori di quelli `sql`, assicurandosi inoltre che sia presente la direttiva: {{{
$confdir/sql.conf}}}
0. [[Ufficio/EditorDiTesto|Modificare]] anche il file `/etc/freeradius/sql.conf` sostituendo i valori dei parametri `database`, `server`, `login` e `password` con i propri dati.
0. Per creare il database '''!MySql Radius''' ed il file `db_mysql.sql` che contiene le direttive SQL per la creazione delle tabelle, digitare in una finestra di terminale il seguente comando:{{{
sudo mysqladmin create radius&&cp /usr/share/doc/freeradius/examples/db_mysql.sql.gz .&&gunzip db_mysql.sql.gz&&mysql -u root -p rootpass radius < db_mysql.sql}}}
0. Inserire nelle tabelle del database gli utenti che si vogliono abilitare per l'autenticazione nelle rete, digitando in una finestra di terminale i seguenti comandi:{{{
mysql -u root -p -D radius
mysql>insert ... into}}}
= 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]]
----
CategoryHomepage