Dimensione: 7289
Commento:
|
← Versione 11 del 14/03/2011 12.51.40 ⇥
Dimensione: 6516
Commento: converted to 1.6 markup
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
[[BR]] [[Indice()]] |
<<BR>> <<Indice>> |
Linea 6: | Linea 6: |
Questa guida spiega come configurare un server '''RADIUS '''con eventuale database LDAP o MySQL. 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'''). |
Questa guida spiega come configurare un server '''RADIUS''' con database LDAP o MySQL. |
Linea 23: | Linea 10: |
Aprite una terminale ed al prompt dei comandi digitate {{{ sudo apt-get install freeradius }}} Questo installerà i pacchetti necessari per il servizio RADIUS |
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto ''freeradius''. |
Linea 31: | Linea 14: |
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) |
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. |
Linea 58: | Linea 41: |
0. Con un [:Ufficio/EditorDiTesto:editor di testo] e [:AmministrazioneSistema/Sudo:privilegi di amministratore] modificare nel file `/etc/freeradius/radiusd.conf` i seguenti parametri: | 0. Con un [[Ufficio/EditorDiTesto|editor di testo]] e [[AmministrazioneSistema/Sudo|privilegi di amministratore]] modificare nel file `/etc/freeradius/radiusd.conf` i seguenti parametri: |
Linea 77: | Linea 60: |
Si suppone che si abbia un database '''MySQL''' installato e configurato. In caso contrario consultare la relativa [:Server/MySql guida] | Si suppone che si abbia un database '''MySQL''' installato e configurato. In caso contrario consultare la relativa [[Server/MySql guida]] |
Linea 82: | Linea 65: |
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: {{{ | 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: {{{ |
Linea 84: | Linea 67: |
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:{{{ |
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:{{{ |
Linea 91: | Linea 74: |
= Verifica e avvio del server = | = Verifica e avvio del servizio = |
Linea 130: | Linea 113: |
* [http://freeradius.org/ Sito Ufficiale] | * [[http://freeradius.org/|Sito Ufficiale]] |
Introduzione
Questa guida spiega come configurare un server RADIUS con database LDAP o MySQL.
Installazione
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.
Installare i pacchetti di freeradius per il supporto ad un backend che utilizza un database LDAP.
sudo apt-get install freeradius-ldap
Con un editor di testo e 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
Installare i pacchetti di freeradius per il supporto ad un backend che utilizza un database MySQL.
sudo apt-get install freeradius-mysql
Con un editor di testo e 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
Modificare anche il file /etc/freeradius/sql.conf sostituendo i valori dei parametri database, server, login e password con i propri dati.
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
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.