287
contributi
m (corretto template autori (numero revisori)) |
(Annullata la modifica 30681 di People (discussione)) |
||
Riga 10: | Riga 10: | ||
* Debian Lenny/Squeeze/Wheezy o superiori | * Debian Lenny/Squeeze/Wheezy o superiori | ||
* Un ambiente LAMP: [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]] | * Un ambiente LAMP: [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]] | ||
* 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] | ** [http://guide.debianizzati.org/index.php/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] | ** [http://guide.debianizzati.org/index.php/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 | ||
== 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/> | ||
Riga 100: | Riga 100: | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
client 127.0.0.1 | client localhost { | ||
secret = chiave_segreta | ipaddr = 127.0.0.1 | ||
nastype = other | secret = chiave_segreta | ||
require_message_authenticator = no | |||
nastype = other | |||
} | } | ||
</pre> | </pre> | ||
Riga 123: | Riga 125: | ||
=== Autenticazione via MySQL === | === Autenticazione via MySQL === | ||
Apriamo il file di configurazione <tt>/etc/freeradius/radiusd.conf</tt> e cerchiamo al suo interno tutte le configurazioni seguenti, | Apriamo il file di configurazione <tt>/etc/freeradius/radiusd.conf</tt> e decommentiamo la voce: | ||
<pre> | |||
$INCLUDE sql.conf | |||
</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>: | |||
<pre> | <pre> | ||
bind_address = * | bind_address = * | ||
Riga 129: | Riga 135: | ||
#$INCLUDE ${confdir}/proxy.conf | #$INCLUDE ${confdir}/proxy.conf | ||
authorize { | # 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 | |||
} | |||
# | |||
</pre> | </pre> | ||
Aggiungiamoun nuovo utente al file <tt>/etc/freeradius/users</tt>: | Aggiungiamoun nuovo utente al file <tt>/etc/freeradius/users</tt>: | ||
Riga 208: | Riga 162: | ||
# Fall-Through = 1 | # Fall-Through = 1 | ||
</pre> | </pre> | ||
== Configurazione del database MySQL == | == Configurazione del database MySQL == | ||
Riga 230: | Riga 172: | ||
mysql> CREATE DATABASE radius; | mysql> CREATE DATABASE radius; | ||
mysql> quit | mysql> quit | ||
# | # mysql -u root radius -p < /etc/freeradius/sql/mysql/schema.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 <tt>radius@localhost</tt> e diamogli i privilegi di accesso corretti sul database appena creato. | ||
* Da shell: | |||
<pre> | <pre> | ||
# mysql -u root -p | # mysql -u root -p | ||
Riga 239: | Riga 183: | ||
mysql> quit; | mysql> quit; | ||
</pre> | </pre> | ||
* Da phpMyAdmin, inserendo un nuovo record nella tabella <tt>radcheck</tt> | |||
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 <tt>/etc/freeradius/sql.conf</tt> e modifichiamo le linee seguenti con le corrette credenziali di accesso: | ||
<pre> | <pre> | ||
Riga 245: | Riga 190: | ||
login = "radius" | login = "radius" | ||
password = "radiuspassword" | password = "radiuspassword" | ||
readclients = yes | |||
</pre> | </pre> | ||
Aggiungiamo un nuovo utente di test: | Aggiungiamo un nuovo utente di test: | ||
Riga 263: | Riga 209: | ||
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=48, length=20 | rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=48, length=20 | ||
</pre> | </pre> | ||
Ok, anche l'autenticazione su SQL funziona. | |||
== Debug == | == Debug == | ||
Riga 269: | Riga 216: | ||
# /etc/init.d/freeradius stop | # /etc/init.d/freeradius stop | ||
# freeradius -X | # freeradius -X | ||
</pre> | |||
== 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. | |||
<br/> | |||
daloRadius ha alcuni requisiti, che provvediamo a soddisfare: | |||
<pre> | |||
# apt-get install php5-gd php-pear php-db | |||
</pre> | |||
Quindi scarichiamo l'ultima versione dal sito del progetto: http://sourceforge.net/projects/daloradius/ | |||
<br/> | |||
Infine scompattiamo l'archivio scaricato, copiamolo nella nostra directory di Apache e impostiamo i permessi corretti: | |||
<pre> | |||
# 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 | |||
</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: | |||
<pre> | |||
# cd /var/www/daloradius/contrib/db | |||
# mysql -u root -p radius < mysql-daloradius.sql | |||
</pre> | |||
<pre> | |||
# nano /var/www/daloradius/library/daloradius.conf.php | |||
</pre> | |||
impostando correttamente la variabile: | |||
<pre> | |||
$configValues['CONFIG_DB_PASS'] = 'thepassword'; | |||
</pre> | |||
A questo punto possiamo collegarci all'interfaccia: http://127.0.0.1/daloradius , utilizzando per il primo ingresso le credenziali: | |||
<pre> | |||
username: administrator | |||
password: radius | |||
</pre> | </pre> | ||
== 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 <tt>mysql</tt> o tramite l'interfaccia <tt>phpMyAdmin</tt>. | ||
<br/> | |||
Il passo successivo è decidere come configurare i nostri Access Point Wireless. In sostanza ci troviamo di fronte due 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. 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. | |||
<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 = | |Numero_revisori = 1 | ||
}} | }} | ||
contributi