<
> <> = 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