FreeRADIUS è un protocollo client/server gratuito e open source che fornisce l'autenticazione di rete centralizzata sui sistemi. Si tratta di un server RADIUS ad alte prestazioni e ricco di funzionalità fornito con server e client, librerie di sviluppo e utilità correlate a RADIUS. RADIUS consente di mantenere i profili utente e tenere traccia dell'utilizzo per la fatturazione dal server centrale. Fornisce supporto per vari database, inclusi OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL, ecc.
daloRADIUS è un'applicazione basata sul Web per la gestione del server RADIUS. Si tratta di un'applicazione avanzata basata sul Web per la gestione di hotspot e implementazioni di ISP. È scritto in PHP e JavaScript e supporta MySQL, PostgreSQL, SQLite, MsSQL come database backend. Viene fornito con un ricco set di funzionalità come elenchi di controllo accessi, report grafici, motore di fatturazione, report grafici e contabilità, creazione, eliminazione e modifica di utenti, creazione, eliminazione e modifica di HotSpot, creazione, eliminazione e modifica di NAS e molto altro altro.
FreeRADIUS funziona come back-end mentre daloRADIUS funziona come front-end.
In questo tutorial spiegherò passo dopo passo come installare il server FreeRADIUS e il client web Daloradius su Ubuntu 18.04 LTS.
Requisiti
- Un server che esegue Ubuntu 18.04.
- È stata impostata una password di root sul tuo server.
Per iniziare
Innanzitutto, aggiorna il pacchetto del tuo sistema all'ultima versione con il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornati tutti i pacchetti, riavvia il sistema per applicare tutte le modifiche alla configurazione.
Installa il server LAMP
Innanzitutto, dovrai installare Apache, MariaDB, PHP e altri pacchetti richiesti sul tuo sistema. Puoi installarli tutti con il seguente comando:
apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Configura database per FreeRADIUS
Per impostazione predefinita, MariaDB non è protetta. Quindi dovrai prima proteggerlo. Puoi proteggerlo con il seguente comando:
mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
Enter current password for root (enter for none): Just press the Enter Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Successivamente, dovrai creare un database e un utente per FreeRADIUS. Per farlo, accedi alla shell di MariaDB con il seguente comando:
mysql -u root -p
Immettere la password di root quando richiesto, quindi creare un database e un utente con il seguente comando:
MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO [email protected] IDENTIFIED BY "password";
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una volta terminato, puoi procedere al passaggio successivo.
Installa FreeRADIUS
Per impostazione predefinita, FreeRADIUS è disponibile nel repository predefinito di Ubuntu 18.04. Puoi installarlo con il seguente comando:
apt-get install freeradius freeradius-mysql freeradius-utils
Una volta installato, importa lo schema del database MySQL freeradius con il seguente comando:
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Fornisci la password utente del database del raggio quando richiesto e premi Invio per importare lo schema del database.
Successivamente, dovrai creare un collegamento simbolico per il modulo sql. Puoi farlo con il seguente comando:
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Quindi, accedi alla shell di MariaDB e controlla le tabelle create con il seguente comando:
mysql -u root -p
Inserisci la tua password di root quando richiesto. Una volta effettuato l'accesso, cambia il database in radiusdb con il seguente comando:
MariaDB [(none)]> use radiusdb;
Quindi, elenca le tabelle create usando il seguente comando:
MariaDB [radiusdb]> show tables;
Dovresti vedere il seguente output:
+--------------------+ | Tables_in_radiusdb | +--------------------+ | nas | | radacct | | radcheck | | radgroupcheck | | radgroupreply | | radpostauth | | radreply | | radusergroup | +--------------------+
Quindi, esci dalla shell MariaDB con il seguente comando:
MariaDB [radiusdb]> EXIT;
Successivamente, dovrai definire i dettagli della connessione al database nel modulo SQL di freeradius. Puoi farlo modificando il file /etc/freeradius/3.0/mods-enabled/sql:
nano /etc/freeradius/3.0/mods-enabled/sql
Apporta le seguenti modifiche in base al tuo database:
sql { driver = "rlm_sql_mysql" dialect = "mysql" # Connection info: server = "localhost" port = 3306 login = "radius" password = "password" # Database table configuration for everything except Oracle radius_db = "radiusdb" } read_clients = yes client_table = "nas"
Salva e chiudi il file, quando hai finito. Quindi, cambia la proprietà di /etc/freeradius/3.0/mods-enabled/sql con il seguente comando:
chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Infine, riavvia il servizio freeradius per applicare tutte le modifiche alla configurazione:
systemctl restart freeradius
Puoi anche verificare lo stato del raggio libero con il seguente comando:
systemctl status freeradius
Dovresti vedere il seguente output:
? freeradius.service - FreeRADIUS multi-protocol policy server Loaded: loaded (/lib/systemd/system/freeradius.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-07 09:20:34 UTC; 14s ago Docs: man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/ Process: 45159 ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS (code=exited, status=0/SUCCESS) Process: 45143 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=0/SUCCESS) Main PID: 45161 (freeradius) Tasks: 6 (limit: 4650) CGroup: /system.slice/freeradius.service ??45161 /usr/sbin/freeradius
Una volta terminato, puoi procedere al passaggio successivo.
Installa daloRADIUS
Successivamente, dovrai installare daloRADIUS per gestire FreeRADIUS dal browser web.
Innanzitutto, scarica l'ultima versione di daloRADIUS dal repository Git con il seguente comando:
wget https://github.com/lirantal/daloradius/archive/master.zip
Una volta scaricato, decomprimi il file scaricato con il seguente comando:
unzip master.zip
Quindi, sposta la directory estratta nella directory principale web di Apache con il seguente comando:
mv daloradius-master /var/www/html/daloradius
Quindi, importa le tabelle daloRADIUS mysql in radiusdb con il seguente comando:
cd /var/www/html/daloradius
mysql -u root -p radiusdb < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radiusdb < contrib/db/mysql-daloradius.sql
Quindi, dai il permesso appropriato alla directory daloradius con il seguente comando:
chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
Quindi, apri il file daloradius.conf.php e definisci i dettagli della connessione al database:
nano /var/www/html/daloradius/library/daloradius.conf.php
Apporta le seguenti modifiche che corrispondono al tuo database:
$configValues['DALORADIUS_VERSION'] = '1.1-1'; $configValues['DALORADIUS_DATE'] = '28 Jul 2019'; $configValues['FREERADIUS_VERSION'] = '2'; $configValues['CONFIG_DB_ENGINE'] = 'mysqli'; $configValues['CONFIG_DB_HOST'] = 'localhost'; $configValues['CONFIG_DB_PORT'] = '3306'; $configValues['CONFIG_DB_USER'] = 'radius'; $configValues['CONFIG_DB_PASS'] = 'password'; $configValues['CONFIG_DB_NAME'] = 'radiusdb';
Salva e chiudi il file. Quindi, riavvia il servizio freeradius e apache con il seguente comando:
systemctl restart freeradius
systemctl restart apache2
Puoi anche controllare lo stato del servizio web Apache con il seguente comando:
systemctl status apache2
Dovresti vedere il seguente comando:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d ??apache2-systemd.conf Active: active (running) since Wed 2019-08-07 09:25:56 UTC; 4min 25s ago Process: 45483 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 45489 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 45505 (apache2) Tasks: 11 (limit: 4650) CGroup: /system.slice/apache2.service ??45505 /usr/sbin/apache2 -k start ??45510 /usr/sbin/apache2 -k start ??45511 /usr/sbin/apache2 -k start ??45512 /usr/sbin/apache2 -k start ??45513 /usr/sbin/apache2 -k start ??45517 /usr/sbin/apache2 -k start ??45519 /usr/sbin/apache2 -k start ??45520 /usr/sbin/apache2 -k start ??45521 /usr/sbin/apache2 -k start ??45527 /usr/sbin/apache2 -k start ??45528 /usr/sbin/apache2 -k start Aug 07 09:25:55 openshift systemd[1]: Starting The Apache HTTP Server... Aug 07 09:25:56 openshift systemd[1]: Started The Apache HTTP Server.
Una volta terminato, puoi procedere al passaggio successivo.
Accedi all'interfaccia web daloRADIUS
FreeRADIUS e daloRADIUS sono ora installati e configurati. È ora di accedere all'interfaccia web di daloRADIUS. Per accedere all'interfaccia web, apri il tuo browser web e digita l'URL http://your-server-ip/daloradius/login.php. Verrai reindirizzato alla pagina di accesso di daloRADIUS:
Ora, fornisci nome utente e password predefiniti come amministratore/raggio e fai clic su Accedi pulsante. Dovresti vedere la dashboard predefinita di daloRADIUS nella pagina seguente:
Congratulazioni! hai installato e configurato correttamente FreeRADIUS e daloRADIUS sul tuo server Ubuntu 18.04. Per ulteriori informazioni, puoi visitare la documentazione ufficiale su https://github.com/lirantal/daloradius. Sentiti libero di chiedermi se hai domande.