Instal FreeRADIUS dengan daloRADIUS di Ubuntu 20.04

Dalam tutorial ini, kami memberikan panduan langkah demi langkah tentang cara menginstal FreeRADIUS dengan daloRADIUS di Ubuntu 20.04. FreeRADIUS adalah rangkaian RADIUS open source berkinerja tinggi dan sangat dapat dikonfigurasi yang menyediakan otentikasi jaringan terpusat pada sistem seperti 802.1x (WiFi), dialup, PPPoE, VPN, VoIP, dll. daloRADIUS di sisi lain adalah aplikasi web canggih untuk mengelola FreeRADIUS server.

FreeRADIUS mendukung beragam backend basis data termasuk OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL, dll.

Instal FreeRADIUS dengan daloRADIUS di Ubuntu 20.04

Dalam demo ini, kita akan men-setup FreeRADIUS dengan MySQL sebagai database backend. Oleh karena itu, pastikan bahwa prasyarat di bawah ini terpenuhi sebelum Anda dapat melanjutkan.

Prasyarat

Perbarui dan tingkatkan paket sistem Anda;

apt update apt upgrade

Instal LAMP Stack di Ubuntu 20.04 dengan mengikuti tautan di bawah ini;

Instal LAMP Stack di Ubuntu 20.04

Instal Modul PHP lain yang diperlukan;

apt install php-gd php-mail php-mail-mime php-mysql php-pear php-db php-mbstring php-xml php-curl

Instal dan Konfigurasikan FreeRADIUS di Ubuntu 20.04

Menginstal FreeRADIUS

Setelah semua prasyarat di atas terpenuhi, lanjutkan untuk menginstal FreeRADIUS di Ubuntu 20.04. FreeRADIUS 3.0.x adalah versi rilis stabil terbaru pada saat penulisan ini dan tersedia di repo default Ubuntu 20.04.

Untuk menginstal FreeRADIUS dan utilitas FreeRADIUS lainnya termasuk utilitas backend database MySQL di Ubuntu 20.04, jalankan perintah di bawah ini;

apt install freeradius freeradius-mysql freeradius-utils

Menjalankan FreeRADIUS dalam Mode Debug

Biasanya FreeRADIUS diharapkan dapat berjalan dengan baik dengan pengaturan konfigurasi default setelah instalasi selesai. Untuk memverifikasi yang sama, jalankan FreeRADIUS dalam mode debugging untuk mengonfirmasi bahwa permintaan siap untuk diproses.

Sebelum Anda dapat menjalankan FreeRADIUS dalam mode debugging, Anda harus menghentikan servicenya terlebih dahulu (dimulai secara otomatis setelah menginstal);

systemctl stop freeradius

Setelah selesai, jalankan FreeRADIUS dalam mode debugging;

freeradius -X

Jika FreeRADIUS berjalan seperti yang diharapkan, Anda akan melihat garis, Ready to process requests.

 	max_connections = 16 	lifetime = 0 	idle_timeout = 30 } } Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel Listening on auth address * port 1812 bound to server default Listening on acct address * port 1813 bound to server default Listening on auth address :: port 1812 bound to server default Listening on acct address :: port 1813 bound to server default Listening on proxy address * port 59191 Listening on proxy address :: port 33772 Ready to process requests 

Hentikan mode debugging dengan menekan ctrl+c.

Mulai dan aktifkan FreeRADIUS untuk berjalan pada boot sistem;

systemctl enable --now freeradius

Buka FreeRADIUS di Firewall

FreeRADIUS menggunakan port UDP 1812 untuk otentikasi dan otorisasi dan port UDP 1813 sebagai akuntansi port. Oleh karena itu, jika UFW sedang berjalan, buka port ini;

ufw allow to any port 1812 proto udp ufw allow to any port 1813 proto udp

konfirmasi pembukaan port dengan menjalankan perintah di bawah ini;

ss -alun4 | grep -E ':1812|:1813'
UNCONN 0 0 127.0.0.1:18120 0.0.0.0:* UNCONN 0 0 0.0.0.0:1812 0.0.0.0:* UNCONN 0 0 0.0.0.0:1813 0.0.0.0:*

Buat Database MySQL dan Pengguna Database GratisRADIUS

Login ke server MySQL dan buat database FreeRADIUS;

mysql -u root -p
create database radiusdb;

Buat user basis data FreeRADIUS dan berikan semua hak istimewa pada basis data yang dibuat di atas;

create user [email protected] identified by '[email protected]';
grant all on radiusdb.* to [email protected];

Reload tabel hak istimewa untuk memengaruhi perubahan dan keluar dari database.

flush privileges; quit

Buat Skema SQL RADIUS Gratis

FreeRADIUS dikirimkan dengan skema database default yang terletak di bawah  /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql. Impor skema ini ke database FreeRADIUS yang dibuat di atas;

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

Mengonfigurasi FreeRADIUS untuk menggunakan SQL

Untuk mengkonfigurasi FreeRADIUS untuk menggunakan modul SQL, buka file konfigurasi modul SQL;

vim /etc/freeradius/3.0/mods-available/sql

Setel dialek SQL ke mysql, dan tentukan pengaturan koneksi database FreeRADIUS seperti yang dibuat di atas.

... sql { # # dialect of SQL being used. # # Allowed dialects are: # # mssql... dialect = "mysql" # driver module used to execute the queries. #driver = "rlm_sql_null" driver = "rlm_sql_${dialect}"... # Connection info: #  server = "localhost" port = 3306 login = "radiusadmin" password = "[email protected]"... # Database table configuration for everything except Oracle  radius_db = "radiusdb"... 

Penggunaan database MySQL memaksa useran sertifikat TLS secara default. Dalam demo ini, kami tidak menggunakan sertifikat TLS, oleh karena itu mengomentari bagian MYSQL TLS;

... mysql { # If any of the files below are set, TLS encryption is enabled  #tls { # ca_file = "/etc/ssl/certs/my_ca.crt" # ca_path = "/etc/ssl/certs/" # certificate_file = "/etc/ssl/certs/private/client.crt" # private_key_file = "/etc/ssl/certs/private/client.key" # cipher = "DHE-RSA-AES256-SHA:AES128-SHA" # # tls_required = yes # tls_check_cert = no # tls_check_cert_cn = no #}...

Aktifkan server FreeRADIUS untuk membaca client dari database, dengan membatalkan komentar (menghapus hash) pada baris #read_clients = yes.

... # Set to 'yes' to read radius clients from the database ('nas' table) # Clients will ONLY be read on server startup. read_clients = yes...

Selanjutnya, aktifkan modul SQL dengan membuat tautan simbolis dari SQL mods-available to mods-enabled;

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

Ubah kepemilikan user dan grup modul SQL yang diaktifkan (tautan simbolik) ke freerad seperti yang ditunjukkan di bawah ini.

chown -h freerad.freerad /etc/freeradius/3.0/mods-enabled/sql

Mulai ulang service FreeRADIUS,

systemctl restart freeradius

Verifikasi useran FreeRADIUS dari Database SQL

Untuk memverifikasi bahwa FreeRADIUS sekarang dapat bekerja dengan database MySQL dengan benar, isi database FreeRADIUS dengan beberapa data dummy. Login ke database FreeRADIUS sebagai user database FreeRADIUS yang dibuat di atas;

mysql -u radiusadmin -p
use radiusdb;

Buat entri user dummy dalam radchecktabel;

insert into radcheck (id,username,attribute,op,value) values("1", "demouser", "Cleartext-Password", ":=", "demopass");

Untuk memverifikasi hal yang sama;

select * from radcheck where id="1";
+----+----------+--------------------+----+----------+ | id | username | attribute | op | value | +----+----------+--------------------+----+----------+ | 1 | demouser | Cleartext-Password | := | demopass | +----+----------+--------------------+----+----------+ 1 row in set (0.01 sec)

Keluar dari database, hentikan FreeRADIUS dan j
alankan lagi pada mode debug untuk memverifikasi apakah itu berfungsi dengan baik.

systemctl stop freeradius
freeradius -X

FreeRADIUS menyediakan alat uji sederhana, radtest, yang mengirim paket ke server RADIUS dan menampilkan balasannya. Sintaks menggunakan radtestalat command line adalah;

radtest {username} {password} {hostname} 10 {radius_secret}

Baca halaman manual, man radtest, untuk info lebih lanjut tentang opsi yang digunakan.

Jadi saat FreeRADIUS berjalan dalam mode debug, buka terminal lain dan jalankan perintah pengujian di bawah ini. Note: testing123adalah rahasia bersama untuk client localhost, periksa clients.conf.

radtest demouser demopass localhost 10 testing123

Jika Anda mendapatkan Access-Accept, respon setelah otentikasi, maka POC dilakukan.

Sent Access-Request Id 129 from 0.0.0.0:40930 to 127.0.0.1:1812 length 78 	User-Name = "demouser" 	User-Password = "demopass" 	NAS-IP-Address = 10.0.2.15 	NAS-Port = 10 	Message-Authenticator = 0x00 	Cleartext-Password = "demopass" Received Access-Accept Id 129 from 127.0.0.1:1812 to 127.0.0.1:40930 length 20

Hentikan mode debugging FreeRADIUS dan mulai service.

systemctl start freeradius

Instal dan Konfigurasi daloRADIUS di Ubuntu 20.04

daloRADIUS adalah aplikasi web canggih untuk mengelola server FreeRADIUS. beranda daloRADIUS di-host di sourceforge, https://sourceforge.net/projects/daloradius. Untuk mengdownload versi rilis terbaru, cukup ambil dari beranda sourceforge.

Setelah Anda mengdownload file zip daloRADIUS, ekstrak ke direktori root web Anda;

unzip daloradius-1.1-2.zip 'daloradius/*' -d /var/www/html/
ls /var/www/html/ daloradius

daloRADIUS dikirimkan dengan tabel MySQL default-nya. Impor tabel ini ke database FreeRADIUS yang dibuat di atas.

mysql -u root -p radiusdb < /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radiusdb < /var/www/html/daloradius/contrib/db/mysql-daloradius.sql

Konfigurasikan kepemilikan file konfigurasi web daloRADIUS ke user web Apache seperti yang ditunjukkan di bawah ini;

chown -R www-data.www-data /var/www/html/daloradius/

Konfigurasikan hak akses file konfigurasi utama daloRADIUS  664 seperti yang ditunjukkan di bawah ini;

chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

Konfigurasikan pengaturan koneksi database daloRADIUS;

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

Atur pengaturan koneksi sesuai pengaturan Anda.

... $configValues['DALORADIUS_VERSION'] = '1.1-2'; $configValues['DALORADIUS_DATE'] = '08 Aug 2019'; $configValues['FREERADIUS_VERSION'] = '2'; $configValues['CONFIG_DB_ENGINE'] = 'mysqli'; $configValues['CONFIG_DB_HOST'] = 'localhost'; $configValues['CONFIG_DB_PORT'] = '3306'; $configValues['CONFIG_DB_USER'] = 'radiusadmin'; $configValues['CONFIG_DB_PASS'] = '[email protected]'; $configValues['CONFIG_DB_NAME'] = 'radiusdb';...

Simpan dan keluar dari file konfigurasi dan mulai ulang FreeRADIUS.

systemctl restart freeradius

Akses daloRADIUS dari Web

Anda sekarang dapat mengakses daloRADIUS dari web sehingga dapat mengelola FreeRADIUS dengan mudah. Gunakan alamat, http://server-IP-Or-Hostname/daloradius.

Login dengan kredensial default: Nama user: administratorKata sandi:radius

Dan di sana Anda pergi. Anda telah berhasil menginstal FreeRADIUS dengan daloRADIUS di Ubuntu 20.04. Jelajahi RADIUS…

Referensi

Instal FreeRADIUS 3.x di Debian/Ubuntu

Tutorial Terkait

Instal FreeRADIUS dengan daloRADIUS di Debian 9

Instal dan Konfigurasi FreeRADIUS dengan daloRADIUS di Fedora 29

Instal phpLDAPadmin di CentOS 8

Instal dan Siapkan OpenLDAP di CentOS 8