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