Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Server/RadiusLdap"
Differenze tra le versioni 1 e 7 (in 6 versioni)
Versione 1 del 06/04/2007 20.20.17
Dimensione: 6766
Commento:
Versione 7 del 05/11/2007 20.24.17
Dimensione: 6638
Commento: typo --- sostituiti "files" con "file" come da guida per lo stile ;)
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from Server/RadiusLDAP
## page was renamed from Server/RadiusLDAPServer
Linea 7: Linea 9:
Questa guida spiega come configurare un server RADIUS con database LDAP Questa guida spiega come configurare un server '''RADIUS '''con database LDAP.
Linea 9: Linea 11:
= Che cos'è RADIUS e come funziona = RADIUS è un protocollo che regola i meccanismi di autenticazione di un utente che accede ad una LAN da un computer remoto.
Linea 11: Linea 13:
RADIUS è un protocollo che regola i meccanismi di autenticazione di un untente
che accede ad una LAN da un computer remoto.
Le parti che costituiscono l'architettura RADIUS sono un server di accesso alla rete ,
comunemente indicato con la sigla NAS (Network Access Server) e un server
che si occupa di effettuare l'autenticazione dell'utente sulla rete , il server RADIUS
appunto.
Solitamente il NAS è un router dedicato in grado di commutare vari ingressi , ed è
collegato direttamente al server RADIUS che si occupa di controllare il pacchetto contentente
le credenziali di accesso dell'utente (username e password).
Tali credenziali vengono confrontate con quelle esistenti in un database relativamente
all'utente : in caso di matching l'utente autenticato può accedere ai servizi della rete
, in caso contrario il protocollo prevede la notifica di un messaggio di errore.
La comunicazione fra il NAS ed il server RADIUS è crittografata usando una chiave segreta
condivisa da entrambi (secert key) che deve essere opportunamente creata sia sul NAS che sul server
RADIUS e mantenuta riservata.
Uno dei compiti del NAS può essere quello di assegnare al client remoto , dopo
l'avvenuta convalida delle credenziali di accsso alla rete dell'utente , un indirizzo IP
compatibile con il range di IP disponibili (il NAS spesso funge da server DHCP , funzionalità
questa integrata in molti routers presenti sul mercato).
I protocolli di autenticazione dell'utente remoto sul server RADIUS sono PAP (password
authentication protocol) e CHAP (challenge handshake authentication protocol).
Il database delle utenze che fornisce il servizio di backend come supporto al server
RADIUS può essere sia un semplice file di testo (ad es il file /etc/passwd di UNIX)
sia un DB dedicato come LDAP o un altro database (PostgreSQL , MySQL).
Le parti che costituiscono l'architettura RADIUS sono un server di accesso alla rete, comunemente indicato con la sigla NAS (Network Access Server) e un server che si occupa di effettuare l'autenticazione dell'utente sulla rete, il server RADIUS appunto.

== NAS ==

Solitamente il NAS è un router dedicato in grado di commutare vari ingressi, ed è collegato direttamente al server RADIUS che si occupa di controllare il pacchetto contentente le credenziali di accesso dell'utente (username e password).

Tali credenziali vengono confrontate con quelle esistenti in un database relativamente all'utente: in caso di matching l'utente autenticato può accedere ai servizi della rete, in caso contrario il protocollo prevede la notifica di un messaggio di errore.

La comunicazione fra il NAS ed il server RADIUS è crittografata usando una chiave segreta condivisa da entrambi (secert key) che deve essere opportunamente creata sia sul NAS che sul server RADIUS e mantenuta riservata.

Uno dei compiti del NAS può essere quello di assegnare al client remoto, dopo l'avvenuta convalida delle credenziali di accsso alla rete dell'utente, un indirizzo IP compatibile con il range di IP disponibili (il NAS spesso funge da server DHCP , funzionalità questa integrata in molti routers presenti sul mercato).

== Autenticazione ==

I protocolli di autenticazione dell'utente remoto sul server RADIUS sono PAP (password authentication protocol) e CHAP (challenge handshake authentication protocol).

Il database delle utenze che fornisce il servizio di backend come supporto al server RADIUS può essere sia un semplice file di testo (ad es il file `/etc/passwd` di UNIX) sia un DB dedicato come LDAP o un altro database ('''PostgreSQL''', '''MySQL''').
Linea 38: Linea 33:
Aprite una shell ed al prompt dei comandi digitate

{{{
#sudo apt-get -y install freeradius

#
sudo apt-get -y install freeradius-ldap
Aprite una shell ed al prompt dei comandi digitate {{{
sudo apt-get -y install freeradius
sudo apt-get -y install freeradius-ldap
Linea 46: Linea 38:
Questo installerà i pacchetti necessari per il servizio RADIUS con supporto ad un backend
che utilizza un database LDAP.
Questo installerà i pacchetti necessari per il servizio RADIUS con supporto ad un backend che utilizza un database LDAP.
Linea 53: Linea 45:
Se non avete bisogno del DB LDAP potete anche fermarvi qui , in quanto
il sistema è già predisposto per supportare l'autenticazione UNIX classica
(quella degli utenti definiti nel file /etc/passwd per intenderci).
Se non avete bisogno del DB LDAP potete anche fermarvi qui , in quanto il sistema è già predisposto per supportare l'autenticazione UNIX classica (quella degli utenti definiti nel file `/etc/passwd` per intenderci).
Linea 57: Linea 47:
Se invece volete utilizzare come DB delle utenze RADIUS un DB LDAP , dovete passare al paragrafo
seguente.
Se invece volete utilizzare come DB delle utenze RADIUS un DB LDAP , dovete passare al paragrafo seguente.
Linea 60: Linea 49:
= Un'occhiata ai files e alle directories di configurazione = = File e cartelle di configurazione =
Linea 62: Linea 51:
I files di configurazione sono sotto la directory '''/etc/freeradius''' ed il file
fondamentali sono 2:
I file di configurazione sono sotto la directory `/etc/freeradius` ed il 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)
Linea 65: Linea 55:
* '''radiusd.conf''' : contiene le direttive relative al tipo di autenticazione ed autorizzazione
utilizzati dal vostro server RADIUS
Nello specifico il file `clients.conf` deve avere un'entry come quella che segue: {{{
client 192.168.200.1 {
Linea 68: Linea 58:
* '''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 un'entry come quella che segue :

{{{
client 192.168.200.1 {
 
Linea 77: Linea 59:
Linea 79: Linea 60:
Linea 85: Linea 65:
dove sostituirete '''192.168.200.1''' con l'IP del vostro NAS , '''testing123''' con
il secret key per la comunicazione fra il vostro NAS ed il server RADIUS ,
'''routercisco'''
con il nome con cui volete chiamare il vostro NAS e '''cisco''' con il tipo
di NAS utilizzato (i valori possibili dipendono dal modello di NAS usato,
ma in generale i più comuni sono '''cisco''' , '''livingston''' , e '''other''' per indicare
un tipo di NAS che non rientra nelle categorie elencate).
dove sostituirete `192.168.200.1` con l'IP del vostro NAS , `testing123` con il secret key per la comunicazione fra il vostro NAS ed il server RADIUS, `routercisco` con il nome con cui volete chiamare il vostro NAS e `cisco` con il tipo di NAS utilizzato (i valori possibili dipendono dal modello di NAS usato, ma in generale i più comuni sono `cisco`, `livingston`, e `other` per indicare un tipo di NAS che non rientra nelle categorie elencate).
Linea 92: Linea 67:
Tutti i log files inerenti lo stratup dei servizi dhcp sono contenuti nel file
'''
/var/log/syslog''' e nei files all'interno della directory '''/var/log/freeradius/'''.
Tutti i log files inerenti lo stratup dei servizi dhcp sono contenuti nel file `/var/log/syslog` e nei file all'interno della directory `/var/log/freeradius/`.
Linea 97: Linea 71:
Chi legge questa sezione si prepara a configurare un server RADIUS con freeradius
usando come DB degli utenti un database LDAP.
Il file fondamentale da modificare è '''/etc/freeradius/radiusd.conf''' e precisamente
devono essere modificati i seguenti parametri :
Chi legge questa sezione si prepara a configurare un server RADIUS con freeradius usando come DB degli utenti un database LDAP.
Il file fondamentale da modificare è `/etc/freeradius/radiusd.conf` e precisamente devono essere modificati i seguenti parametri:
Linea 102: Linea 74:
 * nella sezione '''modules''' individuare la sottosezione '''ldap''' e modificare i seguenti parametri :

{{{
 * nella sezione `modules` individuare la sottosezione '''ldap''' e modificare i seguenti parametri: {{{
Linea 106: Linea 76:
Linea 108: Linea 77:
Linea 110: Linea 78:
}}}

e commentare la stringa

{{{
}}} e commentare la stringa {{{
Linea 116: Linea 80:
}}}

togliere inoltre il commento al parametro

{{{
}}} togliere inoltre il commento al parametro {{{
Linea 124: Linea 84:
 * nella sezione '''authorize''' commentare la riga '''files''' e togliere il commento
a '''ldap'''. Questo dice al vostro server RADIUS che deve usare come metodo di autorizzazione
il DB LDAP e non quello tradizionale UNIX basato sul file /etc/passwd.
 * nella sezione `authorize` commentare la riga '''files''' e togliere il commento a '''ldap'''. Questo dice al vostro server RADIUS che deve usare come metodo di autorizzazione il DB LDAP e non quello tradizionale UNIX basato sul file `/etc/passwd`.
Linea 128: Linea 86:
 * nella sezione '''authenticate''' commentare la riga '''unix''' e togliere il commento
alla sottosezione '''Auth-Type LDAP'''.
Questo dice al vostro server RADIUS che deve usare come metodo di autenticazione
il DB LDAP e non quello tradizionale UNIX basato sul file /etc/passwd.
 * nella sezione '''authenticate''' commentare la riga '''unix''' e togliere il commento alla sottosezione '''Auth-Type LDAP'''. Questo dice al vostro server RADIUS che deve usare come metodo di autenticazione
il DB LDAP e non quello tradizionale UNIX basato sul file `/etc/passwd`.
Linea 133: Linea 89:
A questo punto potete riavvaire il server RADIUS con il comando : A questo punto potete riavvaire il server RADIUS con il comando: {{{
freeradius -X
}}}
che lo avvia in modalità di debug così che possiate controllare che i tentativi di autenticazione avvengono correttamente.
Linea 135: Linea 94:
{{{
#freeradius -X
Prima di testare il tutto occorre che creiate nel vostro DB LDAP una '''ou = users''' e che vi inseriate almeno un utente di prova.

A questo punto potete procedere ad un test di verifica dell'autenticazione dell'utente RADIUS LDAP così creato usando il comando di test nativo fornito con freeradius , come segue: {{{
radtest username password 192.168.200.1 123 testing123
Linea 139: Linea 100:
che lo avvia in modalità di debug così che possiate controllare che i tentativi di autenticazione
avvengono correttamente.
ovviamente sostituirete `username` e `password` con il nome utente e la password dell'utente LDAP appena creato, `192.168.200.1` con l'IP del vostro NAS , `123` con la porta usata per la comunicazione fra il server NAS ed il server RADIUS , `testing123` con il secret key per la comunicazione protetta fra NAS e RADIUS.
Linea 142: Linea 102:
Prima di testare il tutto occorre che creiate nel vostro DB LDAP una '''ou = users'''
e che vi inseriate almeno un utente di prova.

A questo punto potete procedere ad un test di verifica dell'autenticazione dell'utente
RADIUS LDAP così creato usando il comando di test nativo fornito con freeradius , come segue :

{{{
#radtest username password 192.168.200.1 123 testing123
}}}

ovviamente sostituirete '''username''' e '''password''' con il nome utente e la password dell'utente
LDAP appena creato , '''192.168.200.1''' con l'IP del vostro NAS , '''123''' con la porta
usata per la comunicazione fra il server NAS ed il server RADIUS , '''testing123''' con il secret
key per la comunicazione protetta fra NAS e RADIUS.

Autore : Cristiano Valli
Linea 159: Linea 103:
CategoryNuoviDocumenti CategoryServer CategoryDaRevisionare CategoryServer

BR

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.

Le parti che costituiscono l'architettura RADIUS sono un server di accesso alla rete, comunemente indicato con la sigla NAS (Network Access Server) e un server che si occupa di effettuare l'autenticazione dell'utente sulla rete, il server RADIUS appunto.

NAS

Solitamente il NAS è un router dedicato in grado di commutare vari ingressi, ed è collegato direttamente al server RADIUS che si occupa di controllare il pacchetto contentente le credenziali di accesso dell'utente (username e password).

Tali credenziali vengono confrontate con quelle esistenti in un database relativamente all'utente: in caso di matching l'utente autenticato può accedere ai servizi della rete, in caso contrario il protocollo prevede la notifica di un messaggio di errore.

La comunicazione fra il NAS ed il server RADIUS è crittografata usando una chiave segreta condivisa da entrambi (secert key) che deve essere opportunamente creata sia sul NAS che sul server RADIUS e mantenuta riservata.

Uno dei compiti del NAS può essere quello di assegnare al client remoto, dopo l'avvenuta convalida delle credenziali di accsso alla rete dell'utente, un indirizzo IP compatibile con il range di IP disponibili (il NAS spesso funge da server DHCP , funzionalità questa integrata in molti routers presenti sul mercato).

Autenticazione

I protocolli di autenticazione dell'utente remoto sul server RADIUS sono PAP (password authentication protocol) e CHAP (challenge handshake authentication protocol).

Il database delle utenze che fornisce il servizio di backend come supporto al server RADIUS può essere sia un semplice file di testo (ad es il file /etc/passwd di UNIX) sia un DB dedicato come LDAP o un altro database (PostgreSQL, MySQL).

Installazione

Aprite una shell ed al prompt dei comandi digitate

sudo apt-get -y install freeradius
sudo apt-get -y install freeradius-ldap

Questo installerà i pacchetti necessari per il servizio RADIUS con supporto ad un backend che utilizza un database LDAP.

L'opzione -y di apt-get non chiede la conferma per le azioni legate al processo di instalalzione del software.

Apt installerà pertanto freeradius risolvendo automaticamente le dipendenze necessarie ed avviando il server RADIUS nella configurazione di default.

Se non avete bisogno del DB LDAP potete anche fermarvi qui , in quanto il sistema è già predisposto per supportare l'autenticazione UNIX classica (quella degli utenti definiti nel file /etc/passwd per intenderci).

Se invece volete utilizzare come DB delle utenze RADIUS un DB LDAP , dovete passare al paragrafo seguente.

File e cartelle di configurazione

I file di configurazione sono sotto la directory /etc/freeradius ed il 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 un'entry come quella che segue:

client 192.168.200.1 {

secret testing123
shortname routercisco
nastype cisco

} 

dove sostituirete 192.168.200.1 con l'IP del vostro NAS , testing123 con il secret key per la comunicazione fra il vostro NAS ed il server RADIUS, routercisco con il nome con cui volete chiamare il vostro NAS e cisco con il tipo di NAS utilizzato (i valori possibili dipendono dal modello di NAS usato, ma in generale i più comuni sono cisco, livingston, e other per indicare un tipo di NAS che non rientra nelle categorie elencate).

Tutti i log files inerenti lo stratup dei servizi dhcp sono contenuti nel file /var/log/syslog e nei file all'interno della directory /var/log/freeradius/.

Configurazione di un server RADIUS con backend LDAP

Chi legge questa sezione si prepara a configurare un server RADIUS con freeradius usando come DB degli utenti un database LDAP. Il file fondamentale da modificare è /etc/freeradius/radiusd.conf e precisamente devono essere modificati i seguenti parametri:

  • nella sezione modules individuare la sottosezione ldap e modificare i seguenti parametri:

    server = "wilcoyote.example.com"
    basedn = "dc=example,dc=com"
    filter = "(cn=%{Stripped-User-Name:-%{User-Name}})"

    e 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. Questo dice al vostro server RADIUS che deve usare come metodo di autorizzazione il DB LDAP e non quello tradizionale UNIX basato sul file /etc/passwd.

  • nella sezione authenticate commentare la riga unix e togliere il commento alla sottosezione Auth-Type LDAP. Questo dice al vostro server RADIUS che deve usare come metodo di autenticazione

il DB LDAP e non quello tradizionale UNIX basato sul file /etc/passwd.

A questo punto potete riavvaire il server RADIUS con il comando:

freeradius -X 

che lo avvia in modalità di debug così che possiate controllare che i tentativi di autenticazione avvengono correttamente.

Prima di testare il tutto occorre che creiate nel vostro DB LDAP una ou = users e che vi inseriate almeno un utente di prova.

A questo punto potete procedere ad un test di verifica dell'autenticazione dell'utente RADIUS LDAP così creato usando il comando di test nativo fornito con freeradius , come segue:

radtest username password 192.168.200.1 123 testing123

ovviamente sostituirete username e password con il nome utente e la password dell'utente LDAP appena creato, 192.168.200.1 con l'IP del vostro NAS , 123 con la porta usata per la comunicazione fra il server NAS ed il server RADIUS , testing123 con il secret key per la comunicazione protetta fra NAS e RADIUS.


CategoryDaRevisionare CategoryServer