FreeRADIUS en daloRADIUS te installeren op Ubuntu 18.04 LTS

FreeRADIUS is een vrij en open-source client/server protocol dat gecentraliseerde netwerk authenticatie op systemen mogelijk maakt. Het is een krachtige en functierijke RADIUS server die geleverd wordt met zowel server als client, ontwikkelingsbibliotheken en RADIUS gerelateerde hulpprogramma’s. Met RADIUS kun je gebruikers-profielen bijhouden en het gebruik bijhouden voor facturering vanaf de centrale server. Hij biedt ondersteuning voor verschillende databases, waaronder, OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL, enz.

daloRADIUS is een web-gebaseerde toepassing voor het beheer van RADIUS server. Het is een geavanceerde web-gebaseerde toepassing voor het beheer van hotspots en ISP implementaties. Het is geschreven in PHP en JavaScript en ondersteunt MySQL, PostgreSQL, SQLite, MsSQL als database backend. Het wordt geleverd met een rijke reeks functies zoals, Access Control Lists, grafische rapportage, factureringsmotor, grafische rapportage, en boekhouding, gebruikers aanmaken, verwijderen en bewerken, HotSpot aanmaken, verwijderen en bewerken, NAS aanmaken, verwijderen en bewerken, en nog veel meer.

FreeRADIUS werkt als het back-end, terwijl daloRADIUS als het front-end werkt.

In deze handleiding leg ik stap voor stap uit hoe je FreeRADIUS server en Daloradius web client installeert op Ubuntu 18.04 LTS.

Vereisten

  • Een server met Ubuntu 18.04.
  • Een root wachtwoord is ingesteld op je server.

Aan de slag

Werk eerst de pakketten van je systeem bij naar de nieuwste versie met het volgende commando:

apt-get update -y
apt-get upgrade -y

Als alle pakketten zijn bijgewerkt, herstart je je systeem om alle configuratieveranderingen toe te passen.

LAMP server installeren

Eerst moet je Apache, MariaDB, PHP en andere vereiste pakketten op je systeem installeren. Je kunt ze allemaal installeren met het volgende commando:

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

Als alle pakketten geïnstalleerd zijn, kun je verder gaan met de volgende stap.

Database configureren voor FreeRADIUS

MariaDB is standaard niet beveiligd. Je zult het dus eerst moeten beveiligen. Je kunt hem beveiligen met het volgende commando:

mysql_secure_installation

Beantwoord alle vragen zoals hieronder aangegeven:

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

Vervolgens moet je een database en gebruiker voor FreeRADIUS aanmaken. Log daarvoor in op MariaDB shell met het volgende commando:

mysql -u root -p

Voer je root wachtwoord in op de prompt en maak dan een database en gebruiker met het volgende commando:

MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO [email protected] IDENTIFIED BY "password";

Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer FreeRADIUS

Standaard is FreeRADIUS beschikbaar in de Ubuntu 18.04 standaard repository. Je kunt het installeren met het volgende commando:

apt-get install freeradius freeradius-mysql freeradius-utils

Eenmaal geïnstalleerd importeer je het freeradius MySQL databaseschema met het volgende commando:

mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql

Geef je radius database gebruikerswachtwoord wanneer daarom gevraagd wordt en druk op Enter om het databaseschema te importeren.

Vervolgens moet je een symbolische link maken voor de sql module. Je kunt dat doen met het volgende commando:

ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

Log vervolgens in op MariaDB shell en controleer de gemaakte tabellen met het volgende commando:

mysql -u root -p

Voer je root wachtwoord in als daarom gevraagd wordt. Eenmaal ingelogd verander je de database in radiusdb met het volgende commando:

MariaDB [(none)]> use radiusdb;

Maak vervolgens een lijst van de gemaakte tabellen met het volgende commando:

MariaDB [radiusdb]> show tables;

Je zou de volgende uitvoer moeten zien:

+--------------------+
| Tables_in_radiusdb |
+--------------------+
| nas                |
| radacct            |
| radcheck           |
| radgroupcheck      |
| radgroupreply      |
| radpostauth        |
| radreply           |
| radusergroup       |
+--------------------+

Verlaat vervolgens de MariaDB shell met het volgende commando:

MariaDB [radiusdb]> EXIT;

Vervolgens moet je in de freeradius SQL module je gegevens voor de databaseverbinding definiëren. Je kunt dat doen door het bestand /etc/freeradius/3.0/mods-enabled/sql te bewerken:

nano /etc/freeradius/3.0/mods-enabled/sql

Breng de volgende veranderingen aan volgens je 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"

Bewaar en sluit het bestand, als je klaar bent. Verander dan het eigendom van /etc/freeradius/3.0/mods-enabled/sql met het volgende commando:

chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql

Herstart tenslotte freeradius service om alle configuratiewijzigingen toe te passen:

systemctl restart freeradius

Je kunt ook de status van freeradius controleren met het volgende commando:

systemctl status freeradius

Je zou de volgende uitvoer moeten zien:

? 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

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer daloRADIUS

Vervolgens moet je daloRADIUS installeren om FreeRADIUS vanuit de webbrowser te beheren.

Download eerst de nieuwste versie van daloRADIUS uit de Git repository met het volgende commando:

wget https://github.com/lirantal/daloradius/archive/master.zip

Eenmaal gedownload pak je het gedownloade bestand uit met het volgende commando:

unzip master.zip

Verplaats vervolgens de uitgepakte map naar de Apache web root map met het volgende commando:

mv daloradius-master /var/www/html/daloradius

Importeer vervolgens daloRADIUS mysql tabellen naar radiusdb met het volgende commando:

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

Geef vervolgens de juiste toestemming aan de map daloradius met het volgende commando:

chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

Open vervolgens het bestand daloradius.conf.php en bepaal de details van de databasekoppeling:

nano /var/www/html/daloradius/library/daloradius.conf.php

Breng de volgende veranderingen aan die bij je database passen:

$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';

Sla het bestand op en sluit het. Herstart dan freeradius en de apache dienst met het volgende commando:

systemctl restart freeradius
systemctl restart apache2

Je kunt ook de status van Apache web service controleren met het volgende commando:

systemctl status apache2

Je zou het volgende commando moeten zien:

? 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.

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

Toegang tot de daloRADIUS Web Interface

FreeRADIUS en daloRADIUS zijn nu geïnstalleerd en geconfigureerd. Het is tijd om de daloRADIUS webinterface te openen. Om de webinterface te openen, open je je web browser en typ je de URL http://your-server-ip/daloradius/login.php. Je wordt doorgestuurd naar de daloRADIUS login pagina:

daloRadius Inloggen

Geef nu standaard gebruikersnaam en wachtwoord op als administrator / radius, en klik op de knop Login. Je zou het daloRADIUS standaard dashboard op de volgende pagina moeten zien:

daloRadius Dashboard

daloRadius Server Status

Gefeliciteerd! Je hebt FreeRADIUS en daloRADIUS met succes geïnstalleerd en ingesteld op je Ubuntu 18.04 server. Voor meer informatie kun je de officiële documentatie bezoeken op https://github.com/lirantal/daloradius. Voel je vrij me te vragen als je vragen hebt.