Facebook  -  Twitter      

Questo forum fa uso dei cookie
Questo forum utilizza i cookie per memorizzare i dettagli del tuo login o della tua ultima visita. I cookie sono piccoli files di testo salvati nel computer; i cookie da noi utilizzati sono relativi unicamente ai servizi da noi forniti direttamente o dai banner pubblicitari. I cookie su questo forum salvano inoltre i dettagli relativi alle discussioni lette e alle tue preferenze personali. Sei pregato di selezionare il tasto OKAY se sei consapevole della presenza di questi files e ci autorizzi ad utilizarli per le informazioni specificate.

Indipendentemente dalla tua scelta un cookie verrà salvato per memorizzare nel tuo pc la risposta a questo form. Puoi modificare le impostazioni relative ai cookie nelle preferenze del tuo browser.

  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Guida: Creare server RADIUS su Debian

#1
1. Introduzione
Se si prevede di installare una rete wireless, è consigliabile configurarla in modo che possano accedervi solo gli utenti specificati.
[hide]
I metodi di protezione più comunemente adottati sono il sistema Wi-Fi_Protected_Access WPA e il sistema IEEE_802.11i WPA2. Questi due protocolli supportano sia l'autenticazione attraverso una chiave segreta condivisa (PSK = Pre Shared Key) e conosciuta da tutti i client della rete, sia l'autenticazione attraverso un server specifico. Wi-Fi Alliance ha introdotto i termini WPA(2)-Personal e WPA(2)-Enterprise per differenziare le due classi di sicurezza fornite dai prodotti. I WPA(2)-Personal utilizzeranno il metodo PSK a chiave condivisa mentre i WPA(2)-Enterprise utilizzeranno un server di autenticazione.

In questa guida vedremo la configurazione di un server Radius su Debian, per fornire ai protocolli WPA e WPA2 un server di autenticazione in grado di fornire una coppia di credenziali (nome utente / password) diverse per ogni utente della rete wireless.

2. Prerequisiti
* Debian Lenny/Squeeze/Wheezy o superiori
* Un ambiente LAMP: [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]]
* ''(Solo se si intende utilizzare LDAP per archiviare le credenziali di accesso)'' Un database LDAP configurato e funzionante, come descritto ad esempio in queste guide:
** [[Samba_e_OpenLDAP:_creare_un_controller_di_dominio_NT4_con_Debian_Wheezy#Installazione_del_server_LDAP Wheezy]]
** [[Samba_e_OpenLDAP:_creare_un_controller_di_dominio_con_Debian_Squeeze#Installazione_del_server_LDAP Squeeze]]
* Uno o più Access Point che supportino il protocollo WPA(2) 802.1x

3. Riconfigurazione di OpenLDAP
Il server OpenLDAP va riconfigurato e modificato per potersi integrare con FreeRadius, l'implementazione Linux più comune di un server Radius.


Occorre innanzitutto includere al file di configurazione di LDAP il file che contiene lo schema Radius:

Codice:
# cp /usr/share/doc/freeradius/examples/openldap.schema /usr/share/doc/freeradius/examples/
# /etc/init.d/openldap restart
I passaggi successivi sono diversi a seconda della versione di Debian che stiamo utilizzando.

Fino a Debian Lenny
Aggiungiamo al file /etc/ldap/slapd.conf la riga che definisce lo schema Radius:
Codice:
include /etc/ldap/schema/radius.schema

Da Debian Squeeze in poi
La nuova versione di OpenLDAP presente nei [[repository]] Debian a partire da Squeeze supporta un nuovo metodo di configurazione dinamico, non più basato sul file di configurazione statico /etc/ldap/slapd.conf.

Creiamo il file schema_convert.conf:
Codice:
# touch /tmp/schema_convert.conf
# nano /tmp/schema_convert.conf
e editiamolo in questa maniera:
Codice:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/samba.schema
Salviamo il file e creiamo una directory temporanea per gli output di slapcat:
Codice:
# mkdir /tmp/ldif_output
# slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={10}openldap,cn=schema,cn=config" > /tmp/openldap.ldif
# nano /tmp/openldap.ldif
e modifichiamo il file come segue:
Codice:
dn: cn=openldap,cn=schema,cn=config
...
cn: openldap
Rimuoviamo le stringhe a fondo pagina:
Codice:
structuralObjectClass: olcSchemaConfig
entryUUID: b53b75ca-083f-102d-9fff-2f64fd123c95
creatorsName: cn=config
createTimestamp: 20080827045234Z
entryCSN: 20080827045234.341425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20080827045234Z
Salviamo tutto e copiamolo in /etc/ldap/schema:
Codice:
# cp /tmp/openldap.ldif /etc/ldap/schema
Infine importiamolo in OpenLDAP e riavviamo il [[demone]]:
Codice:
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/openldap.ldif
# /etc/init.d/slapd restart

4. Installazione di FreeRADIUS
Arrivati a questo punto possiamo installare FreeRADIUS, il demone che si occuperà di gestire le richieste di autenticazione:
Codice:
# apt-get install freeradius freeradius-common freeradius-krb5 freeradius-mysql freeradius-utils
Come si può vedere dai plugin installati, utilizzeremo un database MySQL per l'archiviazione degli utenti e delle password.

5. Configurazione di FreeRADIUS: Test locale
Iniziamo con qualcosa di semplice: creiamo un utente locale di test e verifichiamo che il demone faccia il suo dovere. Apriamo prima di tutto il file
Codice:
/etc/freeradius/clients.conf
e cambiamo la chiave che serve per mettere in comunicazione il server Radius con i dispositivi di rete:
Codice:
# nano /etc/freeradius/clients.conf
Codice:
client localhost {
        ipaddr = 127.0.0.1
        secret          = chiave_segreta    
        require_message_authenticator = no
        nastype         = other
}
Quindi creiamo un utente locale aggiungendo le seguenti righe al file
Codice:
/etc/freeradius/users
Codice:
utentetest Cleartext-Password := "testpassword"
Riavviamo FreeRADIUS e controlliamone il funzionamento:
Codice:
# /etc/init.d/freeradius restart
# radtest utentetest testpassword 127.0.0.1 0 chiave_segreta
Sending Access-Request of id 186 to 127.0.0.1 port 1812
        User-Name = "utentetest"
        User-Password = "testpassword"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=186, length=20
Ok, funziona tutto.

6. Autenticazione via MySQL
Apriamo il file di configurazione
Codice:
/etc/freeradius/radiusd.conf
e decommentiamo la voce:
Codice:
$INCLUDE sql.conf
Poi apriamo il file /etc/freeradius/sites-available/default e cerchiamo al suo interno tutte le configurazioni seguenti, decommentando l'autenticazione sql:
Codice:
bind_address = *
proxy_requests  = no
#$INCLUDE  ${confdir}/proxy.conf

# Sezione authorize{}
    # See “Authorization Queries” in sql.conf
    sql

# Sezione accounting{}
    # See “Accounting queries” in sql.conf
    sql

# Sezione session{}
    # See “Simultaneous Use Checking Queries” in sql.conf
    sql

# Sezione post-auth{}
    # See “Authentication Logging Queries” in sql.conf
    sql
Aggiungiamo un nuovo utente al file
Codice:
/etc/freeradius/users
Codice:
testsql   User-Password == "passwordsql"
DEFAULT        Auth-Type := sql
        Fall-Through := 1
e stiamo attenti a commentare le seguenti righe, dato che non vogliamo che il nuovo utente si autentichi su /etc/password, ma solo su MySQL:
Codice:
#DEFAULT    Auth-Type = System
#        Fall-Through = 1

7. Configurazione del database MySQL
Archiviare gli utenti in un file può diventare poco comodo con il passare del tempo e può portare a cali di prestazione.


Quindi creeremo un database MySQL apposito e lo utilizzeremo come archivio delle credenziali.


Iniziamo con la creazione del database. FreeRADIUS ci mette a disposizione uno script SQL già pronto da utilizzare:
Codice:
# mysql -u root mysql -p
mysql> CREATE DATABASE radius;
mysql> quit
# mysql -u root radius -p < /etc/freeradius/sql/mysql/schema.sql
# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
Creiamo un nuovo utente
Codice:
radius@localhost
e diamogli i privilegi di accesso corretti sul database appena creato.
* Da [[shell]]:
Codice:
# mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radiuspassword';
mysql> FLUSH PRIVILEGES;
mysql> quit;
* Da phpMyAdmin, inserendo un nuovo record nella tabella
Codice:
radcheck
L'unica cosa che resta da fare è istruire FreeRADIUS su come connettersi al database appena predisposto. Apriamo il file
Codice:
/etc/freeradius/sql.conf
e modifichiamo le linee seguenti con le corrette credenziali di accesso:
Codice:
# Connect info
        server = "localhost"
        login = "radius"
        password = "radiuspassword"
        readclients = yes
Aggiungiamo un nuovo utente di test:
Codice:
# mysql -u radius radius -p
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('testsql', 'Password', 'passwordsql');
mysql> quit
Riavviamo FreeRADIUS e testiamo l'account:
Codice:
# /etc/init.d/freeradius restart
# radtest testsql passwordsql 127.0.0.1 0 chiave_segreta
Sending Access-Request of id 48 to 127.0.0.1:1812
        User-Name = "testsql"
        User-Password = "passwordsql"
        NAS-IP-Address = ford
        NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=48, length=20
Ok, anche l'autenticazione su SQL funziona.

8. Debug
Per effettuare operazioni di debug nel caso i client avessero difficoltà a connettersi alla rete wireless, può venire utile stoppare il servizio freeradius e riavviarlo in modalità di debug:
Codice:
# /etc/init.d/freeradius stop
# freeradius -X

9. daloRadius, un'interfaccia grafica per FreeRadius
daloRadius è un'interfaccia grafica per facilitare l'inserimento e la gestione degli utenti Radius all'interno del database MySQL, che ci eviterà quindi di dover inserire a mano tramite query tutti i nostri utenti.

daloRadius ha alcuni requisiti, che provvediamo a soddisfare:
Codice:
# apt-get install php5-gd php-pear php-db
Quindi scarichiamo l'ultima versione dal sito del progetto: http://sourceforge.net/projects/daloradius/

Infine scompattiamo l'archivio scaricato, copiamolo nella nostra directory di Apache e impostiamo i permessi corretti:
Codice:
# tar xvfz daloradius-0.9-9.tar.gz
# mv daloradius-0.9-9 daloradius
# mv daloradius /var/www
# chown www-data:www-data /var/www/daloradius -R
# chmod 644 /var/www/daloradius/library/daloradius.conf.php
L'ultimo passo che resta da compiere è aggiungere la tabella daloradius al nostro database MySQL e impostare i corretti parametri di connessione per la nuova applicazione:
Codice:
# cd /var/www/daloradius/contrib/db
# mysql -u root -p radius < mysql-daloradius.sql
Codice:
# nano /var/www/daloradius/library/daloradius.conf.php
impostando correttamente la variabile:
Codice:
$configValues['CONFIG_DB_PASS'] = 'thepassword';
A questo punto possiamo collegarci all'interfaccia: http://127.0.0.1/daloradius , utilizzando per il primo ingresso le credenziali:
Codice:
username: administrator
password: radius

10. Conclusioni
A questo punto abbiamo un server Radius installato su Debian, in grado di gestire le richieste di autenticazione di tutti i dispositivi che supportano il protocollo di autenticazione Radius. Gli utenti saranno archiviati in un database MySQL; in ogni momento potranno essere aggiunti nuovi utenti tramite la shell mysql o tramite l'interfaccia phpMyAdmin.

Il passo successivo è decidere come configurare i nostri Access Point Wireless. In sostanza ci troviamo di fronte diverse possibili strade:
  • Impostare ogni Access Point per gestire le autenticazioni WPA/WPA2 Enterprise.
    • L'Access Point rigirerà automaticamente al nostro server ogni richiesta di autenticazione sulla rete wireless; su ogni client comparirà una richiesta di inserimento di una coppia di credenziali (user/password). In questo caso nella configurazione dell'Access Point dovremo indicare:
      • L'indirizzo IP del nostro server Radius
      • La chiave segreta di connessione al server Radius
  • Lasciare la rete wireless aperta e impostare un'autenticazione a livello di Proxy.
  • Lasciare la rete wireless aperta e impostare un sistema Captive Portal per la gestione degli accessi e delle login.
[/hide]

Fonte http://guide.debianizzati.org/index.php/...ver_Radius
Cita messaggio

#2
Piccola curiosità: non ho trovato alcun riferimento alla/e eventuale fonte/i!
Vista la differente data di inoltro, questa guida sembra sia stata presa di pari passo [copia-incollata] dalla seguente:
http://guide.debianizzati.org/index.php/...ver_Radius
Cita messaggio

#3
Purtroppo mol1te volte ciò che appare non é oppure lo é ma con qualche dimenticanza o modifica. In ogni caso aspettiamo l'autore e soprattutto nel mondo del copia incolla non vedo alcun problema.

Inviato dal mio SM-N9005 utilizzando Tapatalk

Cita messaggio

#4
(16-07-2015, 06:54)trottolino Ha scritto: In ogni caso aspettiamo l'autore e soprattutto nel mondo del copia incolla non vedo alcun problema.

Innanzitutto la mia piuttosto che una critica era una semplice constatazione.
Ho scoperto il vostro portale inserendo nel motore di ricerca le parole chiave "guida server radius", quindi per coerenza e correttezza mi sarei aspettato almeno la citazione della fonte originale...
Cita messaggio

#5
(16-07-2015, 09:03)melllinz Ha scritto:
(16-07-2015, 06:54)trottolino Ha scritto: In ogni caso aspettiamo l'autore e soprattutto nel mondo del copia incolla non vedo alcun problema.

Innanzitutto la mia piuttosto che una critica era una semplice constatazione.
Ho scoperto il vostro portale inserendo nel motore di ricerca le parole chiave "guida server radius", quindi per coerenza e correttezza mi sarei aspettato almeno la citazione della fonte originale...
Dammi la fonte che la aggiungo senza problemi

Inviato dal mio SM-N9005 utilizzando Tapatalk

Cita messaggio

#6
http://guide.debianizzati.org/index.php/...ver_Radius
Cita messaggio

#7
Fatto grazie per la segnalazione

Inviato dal mio SM-N9005 utilizzando Tapatalk

Cita messaggio

#8
Bitteschön!  Smile
Cita messaggio

#9
(16-07-2015, 11:50)melllinz Ha scritto: Bitteschön!  Smile
Tradotto in italiano?

Inviato dal mio SM-N9005 utilizzando Tapatalk

Cita messaggio

#10
(16-07-2015, 13:12)trottolino Ha scritto:
(16-07-2015, 11:50)melllinz Ha scritto: Bitteschön!  Smile

Tradotto in italiano?

Inviato dal mio SM-N9005 utilizzando Tapatalk

Bitteschön = prego.
Cita messaggio


[-]
Condividi/Segnala (Mostra tutti)
Facebook Linkedin Twitter

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Guida: Drop VS Reject? hamtarociaoo 4 1'946 23-01-2015, 21:15
Ultimo messaggio: kikko
  Guida: Attivare UPnP su Windows 7, Vista, XP hamtarociaoo 0 3'590 22-11-2013, 22:37
Ultimo messaggio: hamtarociaoo
Lightbulb Guida: Problemi comuni hamtarociaoo 0 1'310 04-11-2013, 18:13
Ultimo messaggio: hamtarociaoo
Lightbulb Guida: Mettere in sicurezza un computer hamtarociaoo 0 1'270 24-10-2013, 16:56
Ultimo messaggio: hamtarociaoo
  Creare una password "robusta" kikko 0 1'365 13-09-2013, 11:15
Ultimo messaggio: kikko
Information Guida: I messaggi di DHCP cisco88 0 1'152 12-09-2013, 16:41
Ultimo messaggio: cisco88
  Guida: Numeri utili in networking cisco88 2 1'427 11-09-2013, 14:56
Ultimo messaggio: cisco88
  Guida: Primi passi nel subnetting Ipv4 cisco88 0 1'315 11-09-2013, 11:54
Ultimo messaggio: cisco88
  Guida: Connettere tutti gli apparecchi di casa ad internet hamtarociaoo 0 1'201 23-08-2013, 13:40
Ultimo messaggio: hamtarociaoo
Information Guida: Gestire da remoto stampante su Server Microsoft hamtarociaoo 0 1'019 23-08-2013, 11:39
Ultimo messaggio: hamtarociaoo

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Utenti che stanno guardando questa discussione:
1 Ospite(i)


Powered by MyBB, © 2002-2017 MyBB Group.