Autenticazione degli accessi Wireless tramite server Radius: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
nessun oggetto della modifica
mNessun oggetto della modifica
 
(7 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|}}
{{Versioni compatibili|Squeeze|Wheezy}}
== Introduzione ==
== Introduzione ==
Se si prevede di installare una rete wireless, è consigliabile configurarla in modo che possano accedervi solo gli utenti specificati.
Se si prevede di installare una rete wireless, è consigliabile configurarla in modo che possano accedervi solo gli utenti specificati.
Riga 11: Riga 11:
* Un ambiente LAMP: [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]]
* 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:
* ''(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:
** [http://guide.debianizzati.org/index.php/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_NT4_con_Debian_Wheezy#Installazione_del_server_LDAP Wheezy]]
** [http://guide.debianizzati.org/index.php/Samba_e_OpenLDAP:_creare_un_controller_di_dominio_con_Debian_Squeeze#Installazione_del_server_LDAP Squeeze]
** [[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
* Uno o più Access Point che supportino il protocollo WPA(2) 802.1x


== ''(Opzionale)'' Riconfigurazione di OpenLDAP ==
== ''(Opzionale)'' Riconfigurazione di OpenLDAP ==
Il server OpenLDAP va riconfigurato e modificato per potersi integrare con FreeRadius, l'implementazione LInux più comune di un server Radius.
Il server OpenLDAP va riconfigurato e modificato per potersi integrare con FreeRadius, l'implementazione Linux più comune di un server Radius.
<br/>
<br/>
Occorre innanzitutto includere al file di configurazione di LDAP il file che contiene lo schema Radius:
Occorre innanzitutto includere al file di configurazione di LDAP il file che contiene lo schema Radius:
Riga 26: Riga 26:


=== Fino a Debian Lenny ===
=== Fino a Debian Lenny ===
Aggiungiamo al file <tt>/etc/ldap/slapd.conf</tt> la riga che definisce lo schema Radius:
Aggiungiamo al file <code>/etc/ldap/slapd.conf</code> la riga che definisce lo schema Radius:
<pre>
<pre>
include /etc/ldap/schema/radius.schema
include /etc/ldap/schema/radius.schema
Riga 32: Riga 32:


=== Da Debian Squeeze in poi===
=== 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 <tt>/etc/ldap/slapd.conf</tt>.<br/>
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 <code>/etc/ldap/slapd.conf</code>.<br/>
Creiamo il file <tt>schema_convert.conf</tt>:
Creiamo il file <code>schema_convert.conf</code>:
<pre>
<pre>
# touch /tmp/schema_convert.conf
# touch /tmp/schema_convert.conf
Riga 76: Riga 76:
modifyTimestamp: 20080827045234Z
modifyTimestamp: 20080827045234Z
</pre>
</pre>
Salviamo tutto e copiamolo in <tt>/etc/ldap/schema</tt>:
Salviamo tutto e copiamolo in <code>/etc/ldap/schema</code>:
<pre>
<pre>
# cp /tmp/openldap.ldif /etc/ldap/schema
# cp /tmp/openldap.ldif /etc/ldap/schema
</pre>
</pre>
Infine importiamolo in OpenLDAP e riavviamo il demone:
Infine importiamolo in OpenLDAP e riavviamo il [[demone]]:
<pre>
<pre>
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/openldap.ldif  
# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/openldap.ldif  
Riga 95: Riga 95:
== Configurazione di FreeRADIUS ==
== Configurazione di FreeRADIUS ==
=== Test locale ===
=== 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 <tt>/etc/freeradius/clients.conf</tt> e cambiamo la chiave che serve per mettere in comunicazione il server Radius con i dispositivi di rete:
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 <code>/etc/freeradius/clients.conf</code> e cambiamo la chiave che serve per mettere in comunicazione il server Radius con i dispositivi di rete:
<pre>
<pre>
# nano /etc/freeradius/clients.conf
# nano /etc/freeradius/clients.conf
Riga 107: Riga 107:
}
}
</pre>
</pre>
Qundi creiamo un utente locale aggiungendo le seguenti righe al file <tt>/etc/freeradius/users</tt>:
Quindi creiamo un utente locale aggiungendo le seguenti righe al file <code>/etc/freeradius/users</code>:
<pre>
<pre>
utentetest Cleartext-Password := "testpassword"
utentetest Cleartext-Password := "testpassword"
Riga 125: Riga 125:


=== Autenticazione via MySQL ===
=== Autenticazione via MySQL ===
Apriamo il file di configurazione <tt>/etc/freeradius/radiusd.conf</tt> e decommentiamo la voce:
Apriamo il file di configurazione <code>/etc/freeradius/radiusd.conf</code> e decommentiamo la voce:
<pre>
<pre>
$INCLUDE sql.conf
$INCLUDE sql.conf
</pre>
</pre>
Poi apriamo il file <tt>/etc/freeradius/sites-available/default</tt> e cerchiamo al suo interno tutte le configurazioni seguenti, decommentando l'autenticazione <tt>sql</tt>:
Poi apriamo il file <code>/etc/freeradius/sites-available/default</code> e cerchiamo al suo interno tutte le configurazioni seguenti, decommentando l'autenticazione <code>sql</code>:
<pre>
<pre>
bind_address = *
bind_address = *
Riga 151: Riga 151:
     sql  
     sql  
</pre>
</pre>
Aggiungiamoun nuovo utente al file <tt>/etc/freeradius/users</tt>:
Aggiungiamo un nuovo utente al file <code>/etc/freeradius/users</code>:
<pre>
<pre>
testsql  User-Password == "passwordsql"
testsql  User-Password == "passwordsql"
Riga 157: Riga 157:
Fall-Through := 1
Fall-Through := 1
</pre>
</pre>
e stiamo attenti a commentare le seguenti righe, dato che non vogliamo che il nuovo utente si autentichi su <tt>/etc/password</tt>, ma solo su MySQL:
e stiamo attenti a commentare le seguenti righe, dato che non vogliamo che il nuovo utente si autentichi su <code>/etc/password</code>, ma solo su MySQL:
<pre>
<pre>
#DEFAULT Auth-Type = System
#DEFAULT Auth-Type = System
Riga 175: Riga 175:
# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
# mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
</pre>
</pre>
Creiamo un nuovo utente <tt>radius@localhost</tt> e diamogli i privilegi di accesso corretti sul database appena creato.
Creiamo un nuovo utente <code>radius@localhost</code> e diamogli i privilegi di accesso corretti sul database appena creato.
* Da shell:
* Da [[shell]]:
<pre>
<pre>
# mysql -u root -p
# mysql -u root -p
Riga 183: Riga 183:
mysql> quit;
mysql> quit;
</pre>
</pre>
* Da phpMyAdmin, inserendo un nuovo record nella tabella <tt>radcheck</tt>
* Da phpMyAdmin, inserendo un nuovo record nella tabella <code>radcheck</code>
L'unica cosa che resta da fare è istruire FreeRADIUS su come connettersi al database appena predisposto. Apriamo il file <tt>/etc/freeradius/sql.conf</tt> e modifichiamo le linee seguenti con le corrette credenziali di accesso:
L'unica cosa che resta da fare è istruire FreeRADIUS su come connettersi al database appena predisposto. Apriamo il file <code>/etc/freeradius/sql.conf</code> e modifichiamo le linee seguenti con le corrette credenziali di accesso:
<pre>
<pre>
         # Connect info
         # Connect info
Riga 212: Riga 212:


== Debug ==
== Debug ==
Per effettuare operazioni di debug nel caso i client avessero difficoltà a connettersi alla rete wireless, può venire utile stoppare il servizio <tt>freeradius</tt> e riavviarlo in modalità di debug:
Per effettuare operazioni di debug nel caso i client avessero difficoltà a connettersi alla rete wireless, può venire utile stoppare il servizio <code>freeradius</code> e riavviarlo in modalità di debug:
<pre>
<pre>
# /etc/init.d/freeradius stop
# /etc/init.d/freeradius stop
Riga 235: Riga 235:
# chmod 644 /var/www/daloradius/library/daloradius.conf.php
# chmod 644 /var/www/daloradius/library/daloradius.conf.php
</pre>
</pre>
L'ultimo passo che resta da compiere è aggiungere la tabella <tt>daloradius</tt> al nostro database MySQL e impostare i corretti parametri di connessione per la nuova applicazione:
L'ultimo passo che resta da compiere è aggiungere la tabella <code>daloradius</code> al nostro database MySQL e impostare i corretti parametri di connessione per la nuova applicazione:
<pre>
<pre>
# cd /var/www/daloradius/contrib/db
# cd /var/www/daloradius/contrib/db
Riga 254: Riga 254:


== Conclusioni ==
== 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 <tt>mysql</tt> o tramite l'interfaccia <tt>phpMyAdmin</tt>.
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 <code>mysql</code> o tramite l'interfaccia <code>phpMyAdmin</code>.
<br/>
<br/>
Il passo successivo è decidere come configurare i nostri Access Point Wireless. In sostanza ci troviamo di fronte due possibili strade:
Il passo successivo è decidere come configurare i nostri Access Point Wireless. In sostanza ci troviamo di fronte due possibili strade:
Riga 260: Riga 260:
## L'indirizzo IP del nostro server Radius
## L'indirizzo IP del nostro server Radius
## La chiave segreta di connessione al server Radius
## La chiave segreta di connessione al server Radius
# Lasciare la rete wireless aperta e impostare un'autenticazione a livello di Proxy. Si veda ad esempio la seguente guida: '''''[[TODO]]'''''
# Lasciare la rete wireless aperta e impostare un'autenticazione a livello di Proxy. Si veda ad esempio la seguente guida: [[Autenticare Squid Proxy Server su un server Radius]]
# Lasciare la rete wireless aperta e impostare un sistema Captive Portal per la gestione degli accessi e delle login.
# Lasciare la rete wireless aperta e impostare un sistema Captive Portal per la gestione degli accessi e delle login.
<br/>
 
<br/>
{{Autori
{{Autori
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 10:01, 1 set 2012 (CEST)
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 10:01, 1 set 2012 (CEST)
|Verificata_da =
|Verificata_da =
|Numero_revisori = 1
|Numero_revisori = 0
}}
}}


3 581

contributi

Menu di navigazione