FreeRADIUS je bezplatný a open source protokol klient/server, který poskytuje centralizovanou síťovou autentizaci v systémech. Jedná se o vysoce výkonný a na funkce bohatý server RADIUS, který se dodává se serverem i klientem, vývojovými knihovnami a nástroji souvisejícími s RADIUS. RADIUS vám umožňuje udržovat uživatelské profily a sledovat využití pro fakturaci z centrálního serveru. Poskytuje podporu pro různé databáze, včetně OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL atd.
daloRADIUS je webová aplikace pro správu serveru RADIUS. Jedná se o pokročilou webovou aplikaci pro správu hotspotů a nasazení ISP. Je napsán v PHP a JavaScriptu a podporuje MySQL, PostgreSQL, SQLite, MsSQL jako databázový backend. Dodává se s bohatou sadou funkcí, jako jsou seznamy řízení přístupu, grafické sestavy, fakturační modul, grafické sestavy a účtování, vytváření, mazání a úprava uživatelů, vytváření, mazání a úpravy HotSpot, vytváření, odstraňování a úpravy NAS atd. více.
FreeRADIUS funguje jako back-end, zatímco daloRADIUS funguje jako front-end.
V tomto tutoriálu krok za krokem vysvětlím, jak nainstalovat server FreeRADIUS a webového klienta Daloradius na Ubuntu 18.04 LTS.
Požadavky
- Server se systémem Ubuntu 18.04.
- Na vašem serveru je nastaveno heslo uživatele root.
Začínáme
Nejprve aktualizujte balíček vašeho systému na nejnovější verzi pomocí následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Jakmile jsou všechny balíčky aktualizovány, restartujte systém, aby se uplatnily všechny konfigurační změny.
Instalovat LAMP Server
Nejprve budete muset do systému nainstalovat Apache, MariaDB, PHP a další požadované balíčky. Všechny je můžete nainstalovat pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Konfigurace databáze pro FreeRADIUS
Ve výchozím nastavení není MariaDB zabezpečena. Nejprve jej tedy musíte zajistit. Můžete jej zabezpečit pomocí následujícího příkazu:
mysql_secure_installation
Odpovězte na všechny otázky, jak je uvedeno níže:
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
Dále budete muset vytvořit databázi a uživatele pro FreeRADIUS. Chcete-li tak učinit, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:
mysql -u root -p
Po zobrazení výzvy zadejte heslo uživatele root a poté vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO [email protected] IDENTIFIED BY "password";
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Po dokončení můžete přejít k dalšímu kroku.
Instalovat FreeRADIUS
Ve výchozím nastavení je FreeRADIUS k dispozici ve výchozím úložišti Ubuntu 18.04. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install freeradius freeradius-mysql freeradius-utils
Po instalaci importujte schéma databáze Freeradius MySQL pomocí následujícího příkazu:
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Po zobrazení výzvy zadejte heslo uživatele k vaší databázi Radius a stisknutím klávesy Enter importujte schéma databáze.
Dále budete muset vytvořit symbolický odkaz pro modul SQL. Můžete to udělat pomocí následujícího příkazu:
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Dále se přihlaste do prostředí MariaDB a zkontrolujte vytvořené tabulky pomocí následujícího příkazu:
mysql -u root -p
Po zobrazení výzvy zadejte heslo uživatele root. Po přihlášení změňte databázi na radiusdb pomocí následujícího příkazu:
MariaDB [(none)]> use radiusdb;
Dále vytvořte seznam vytvořených tabulek pomocí následujícího příkazu:
MariaDB [radiusdb]> show tables;
Měli byste vidět následující výstup:
+--------------------+ | Tables_in_radiusdb | +--------------------+ | nas | | radacct | | radcheck | | radgroupcheck | | radgroupreply | | radpostauth | | radreply | | radusergroup | +--------------------+
Dále ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [radiusdb]> EXIT;
Dále budete muset definovat podrobnosti o připojení k databázi v modulu freeradius SQL. Můžete to udělat úpravou souboru /etc/freeradius/3.0/mods-enabled/sql:
nano /etc/freeradius/3.0/mods-enabled/sql
Proveďte následující změny podle vaší databáze:
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"
Po dokončení uložte a zavřete soubor. Poté změňte vlastnictví /etc/freeradius/3.0/mods-enabled/sql pomocí následujícího příkazu:
chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Nakonec restartujte službu freeradius, abyste použili všechny změny konfigurace:
systemctl restart freeradius
Stav volného rádiusu můžete také ověřit pomocí následujícího příkazu:
systemctl status freeradius
Měli byste vidět následující výstup:
? 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
Po dokončení můžete přejít k dalšímu kroku.
Instalovat daloRADIUS
Dále budete muset nainstalovat daloRADIUS pro správu FreeRADIUS z webového prohlížeče.
Nejprve si stáhněte nejnovější verzi daloRADIUS z úložiště Git pomocí následujícího příkazu:
wget https://github.com/lirantal/daloradius/archive/master.zip
Po stažení stažený soubor rozbalte pomocí následujícího příkazu:
unzip master.zip
Dále přesuňte extrahovaný adresář do webového kořenového adresáře Apache pomocí následujícího příkazu:
mv daloradius-master /var/www/html/daloradius
Dále importujte tabulky daloRADIUS mysql do radiusdb pomocí následujícího příkazu:
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
Dále udělte správná oprávnění adresáři daloradius pomocí následujícího příkazu:
chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
Dále otevřete soubor daloradius.conf.php a definujte podrobnosti o připojení k databázi:
nano /var/www/html/daloradius/library/daloradius.conf.php
Proveďte následující změny, které odpovídají vaší databázi:
$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';
Uložte a zavřete soubor. Poté restartujte službu freeradius a apache pomocí následujícího příkazu:
systemctl restart freeradius
systemctl restart apache2
Stav webové služby Apache můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status apache2
Měli byste vidět následující příkaz:
? 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.
Jakmile to uděláte, můžete přejít k dalšímu kroku.
Přístup k webovému rozhraní daloRADIUS
FreeRADIUS a daloRADIUS jsou nyní nainstalovány a nakonfigurovány. Je čas vstoupit do webového rozhraní daloRADIUS. Chcete-li získat přístup k webovému inetrface, otevřete webový prohlížeč a zadejte adresu URL http://your-server-ip/daloradius/login.php. Budete přesměrováni na přihlašovací stránku daloRADIUS:
Nyní zadejte výchozí uživatelské jméno a heslo jako správce / okruh a klikněte na Přihlásit knoflík. Výchozí řídicí panel daloRADIUS byste měli vidět na následující stránce:
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali FreeRADIUS a daloRADIUS na vašem serveru Ubuntu 18.04. Pro více informací můžete navštívit oficiální dokumentaci na https://github.com/lirantal/daloradius. Pokud máte nějaké dotazy, neváhejte se mě zeptat.