287
contributi
m (corretto template autori (numero revisori)) |
|||
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: | ||
** [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 == | ||
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 | client 127.0.0.1 { | ||
secret = chiave_segreta | |||
secret = chiave_segreta | nastype = other # localhost non è un NAS | ||
nastype = other | |||
} | } | ||
</pre> | </pre> | ||
Riga 125: | Riga 123: | ||
=== Autenticazione via MySQL === | === Autenticazione via MySQL === | ||
Apriamo il file di configurazione <tt>/etc/freeradius/radiusd.conf | Apriamo il file di configurazione <tt>/etc/freeradius/radiusd.conf</tt> e cerchiamo al suo interno tutte le configurazioni seguenti, aggiungendo l'autenticazione <tt>sql</tt>: | ||
<pre> | <pre> | ||
bind_address = * | bind_address = * | ||
Riga 135: | Riga 129: | ||
#$INCLUDE ${confdir}/proxy.conf | #$INCLUDE ${confdir}/proxy.conf | ||
authorize { | |||
preprocess | |||
# auth_log | |||
# attr_filter | |||
chap | |||
mschap | |||
# digest | |||
# IPASS | |||
suffix | |||
# ntdomain | |||
eap | |||
files | |||
sql | |||
# etc_smbpasswd | |||
# ldap | |||
# daily | |||
# checkval | |||
} | |||
authenticate { | |||
Auth-Type PAP { | |||
pap | |||
} | |||
Auth-Type CHAP { | |||
chap | |||
} | |||
Auth-Type MS-CHAP { | |||
mschap | |||
} | |||
# | # digest | ||
# pam | |||
# unix | |||
# Auth-Type LDAP { | |||
# ldap | |||
# } | |||
eap | |||
} | |||
preacct { | |||
preprocess | |||
acct_unique | |||
# IPASS | |||
suffix | |||
# ntdomain | |||
files | |||
} | |||
accounting { | |||
detail | |||
# daily | |||
unix | |||
sql | |||
radutmp | |||
# sradutmp | |||
# main_pool | |||
# pgsql-voip | |||
} | |||
session { | |||
radutmp | |||
sql | |||
} | |||
</pre> | </pre> | ||
Aggiungiamoun nuovo utente al file <tt>/etc/freeradius/users</tt>: | Aggiungiamoun nuovo utente al file <tt>/etc/freeradius/users</tt>: | ||
Riga 162: | Riga 208: | ||
# Fall-Through = 1 | # Fall-Through = 1 | ||
</pre> | </pre> | ||
Riavviamo FreeRADIUS e testiamo il nuovo account: | |||
<pre> | |||
# /etc/init.d/freeradius restart | |||
# radtest testsql passwordsql 127.0.0.1 0 chiave_segreta | |||
Sending Access-Request of id 44 to 127.0.0.1:1812 | |||
User-Name = "testsql" | |||
User-Password = "passwordsql" | |||
NAS-IP-Address = 127.0.0.1 | |||
NAS-Port = 0 | |||
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=44, length=20 | |||
</pre> | |||
Ok, anche l'autenticazione su SQL funziona. | |||
== Configurazione del database MySQL == | == Configurazione del database MySQL == | ||
Riga 172: | Riga 230: | ||
mysql> CREATE DATABASE radius; | mysql> CREATE DATABASE radius; | ||
mysql> quit | mysql> quit | ||
# | # zcat /usr/share/doc/freeradius/examples/db_mysql.sql.gz | mysql -u root radius -p | ||
</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: | ||
<pre> | <pre> | ||
# mysql -u root -p | # mysql -u root -p | ||
Riga 183: | Riga 239: | ||
mysql> quit; | mysql> quit; | ||
</pre> | </pre> | ||
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 190: | Riga 245: | ||
login = "radius" | login = "radius" | ||
password = "radiuspassword" | password = "radiuspassword" | ||
</pre> | </pre> | ||
Aggiungiamo un nuovo utente di test: | Aggiungiamo un nuovo utente di test: | ||
Riga 209: | Riga 263: | ||
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> | ||
== Debug == | == Debug == | ||
Riga 216: | Riga 269: | ||
# /etc/init.d/freeradius stop | # /etc/init.d/freeradius stop | ||
# freeradius -X | # freeradius -X | ||
</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>. | ||
{{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 = 0 | ||
}} | }} | ||
contributi