NOTE:
Artikel ini telah mengalami perubahan. Sebelumnya, versi sistem operasi yang saya gunakan adalah Debian Wheezy. Dengan menggunakan Debian Buster beberapa versi package juga ikut berubah. Update package akan saya beri warna font merah
Remote Authentication Dial-In User Service atau sering disebut dengan RADIUS adalah sebuah protokol jaringan yang melayani administrasi pengguna dalam penggunaan jaringan secara terpusat. Aspek pelayanan yang diberikan meliputi Authetication, Authorization dan Accounting yang kemudian disingkat AAA atau triple A. RADIUS akan sangat dibutuhkan oleh provider skala besar, misalkan Internet Service Provider (ISP). Untuk platform MikroTik, RADIUS sering dikenal dengan userman (user manager) karena tugasnya memang manajemen pengguna.
Salah satu package yang sangat sering digunakan adalah FreeRADIUS. FreeRADIUS dapat digunakan hampir disemua keluarga Unix. Karena gratis dan cukup handal, FreeRADIUS banyak sekali digunakan. Untuk manajemen data, FreeRADIUS menyediakan module untuk beberapa DBMS seperti PostgreSQL dan MySQL. Jadi apabila anda memutuskan untuk menggunakan FreeRADIUS, jangan lupa untuk menginstall salah satu dari DBMS yang disedikan beserta module-nya.
Namun sayang sekali, FreeRADIUS tidak dibekali dengan friendly UI untuk memudahkan pengguna dalam pengoperasiannya. Anda harus mengunakan console setiap ingin mengirimkan perintah. Tentu hal ini sangat merepotkan karena sangat tidak praktis dan kurang efisien. Tapi jangan khawatir, karena di luar sana ada orang baik hati yang bersedia mengembangkan sebuah aplikasi berbasis web yang dapat digunakan sebagai jembatan antara FreeRADIUS dan pengguna. Mari kita sambut daloRADIUS.
INSTALASI. Berikut adalah langkah-langkah instalasi FreeRADIUS beserta daloRADIUS. Instalasi dilakukan pada mesin dengan sistem operasi Debian Buster.
Beberapa Pasang beberapa package pendukung daloRADIUS berikut diantaranya:
Level user yang digunakan yaitu root. Jadi, jangan lupa untuk switch user (su) dahulu.
LANGKAH 1.
[UPDATE]
1. PHP dan beberapa modul yang dibutuhkan. Saya menggunakan PHP7.3. Modul yang dibutuhkan diantaranya: php7.3-gd php7.3-curl php7.3-mysql php-mail php-mail-mime php-pear php-db (pear)
2. MySQL Server 8
3. Webserver. Saya menggunakan Nginx 1.14.2
4. Git sebagai cloner repository daloRADIUS.
(FYI)
5. grep (GNU grep) 3.3
6. sed (GNU sed) 4.7
LANGKAH 2. Pasang package FreeRADIUS beserta pendukungnya. Versi FreeRADIUS yang saya gunakan adalah FreeRADIUS version 3.0.17
LANGKAH 4. Import skema database yang dibutuhkan oleh FreeRADIUS.
LANGKAH 5. Masukkan satu akun yang nantinya digunakan untuk testing.
Tekan tombol CTRL + C untuk keluar dari interface MySQL
Cari baris ini berikut ini dan hilangkan tanda comment . Pada versi 3.0, pendefinisian DBMS berubah dari keyword database menjadi driver.
# apt-get install php7.3-fpm php-common php7.3-gd php7.3-curl php7.3-mysql php-mail php-mail-mime php-pear php-db mysql-server nginx git
# pear install db
# apt-get install freeradius freeradius-mysql freeradius-utils
LANGKAH 3. Buat user baru pada MySQL untuk menghindari penggunaan root user sebagai langkah pengamanan. Buat juga database sekaligus permission pada user tersebut
# mysql -u root -p
# create user radius identified by 'radius'
# create database radius
# grant all on radius.* to radius@localhost identified by radius
alter user 'radius'@'%' identified with mysql_native_password by 'radius'
Tekan tombol CTRL + C untuk keluar dari interface MySQL
Keterangan: radius = username, radius = password, dan radius = database. Sebagai catatan, karena kebutuhan artikel saya menggunakan username dan password yang guestable. Silahkan menggunakan username dan password yang lebih aman.
Keterangan: radius = username, radius = password, dan radius = database. Sebagai catatan, karena kebutuhan artikel saya menggunakan username dan password yang guestable. Silahkan menggunakan username dan password yang lebih aman.
LANGKAH 4. Import skema database yang dibutuhkan oleh FreeRADIUS.
# mysql -u
radius -pradius radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sqlLANGKAH 5. Masukkan satu akun yang nantinya digunakan untuk testing.
# mysql -u
radius -pradius radius
# insert into radcheck (username,attribute,op,value) values("sqltest", "Cleartext-Password", ":=", "sqltest");
Tekan tombol CTRL + C untuk keluar dari interface MySQL
LANGKAH 6. Seluruh konfigurasi modul, terdapat pada folder /etc/freeradius/3.0/mods-enabled/. Dan konfigurasi modul yang tersedia, bisa dilihat pada folder /etc/freeradius/3.0/mods-available/. Salin dan sunting konfigurasi yang ada. Untuk mempermudah, hilangkan semua baris yang mengandung comment (#)
# cd /etc/freeradius/3.0/mods-enabled/
# nano /
etc/freeradius/3.0/mods-available/sqlCari baris ini berikut ini dan hilangkan tanda comment . Pada versi 3.0, pendefinisian DBMS berubah dari keyword database menjadi driver.
driver = "rlm_sql_mysql"
server = localhost
port = 3306
login = radius
password = radius
radius_db = radius
login = radius
password = radius
radius_db = radius
read_clients = yes
Tekan tombol CTRL + O untuk menyimpan dan CTRL + C untuk keluar dari interface nano. Agar lebih rapi lagi, hilangkan semua baris yang mengandung argumen dan blank line yang kemudian outputnya kita redirect ke kedalam file
/
etc/freeradius/3.0/mods-available/sql# grep -v -E "^\s*#|^\s*$" ../mods-available/sql >
/
etc/freeradius/3.0/mods-available/sqlLANGKAH 7. Selanjutnya buka file /etc/freeradius/sites-enabled/default dan hilangkan tanda pagar (uncomment) pada baris yang mengandung kata sql. Kata tersebut berada di bagian authorize, accounting, session, post-auth, post-auth-type . Agak susah mungkin, tapi cobalah jeli lagi.
# nano /etc/freeradius/sites-enabled/default
Tekan tombol CTRL + O untuk menyimpan dan CTRL + C untuk keluar dari interface nano.
LANGKAH 8.
# nano /etc/freeradius/radiusd.conf
UPDATE
Pada tutorial ini ditulis, saya tidak menyadari bahwa disini tidak ada pengkonfigurasian client nas. Secara default Freeradius sudah membuat server nas dengan secret testing123. Untuk memastikan, Silahkan lakukan langkah berikut:
Edit file /etc/freeradius/3.0/clients.conf . Karena hanya testing, anda bisa memanfaatkan parameter default. Cari kata secret dan rubah nilainya sesuai keinginan (disini sudah terisi testing123). Untuk tahap produksi, anda dapat membuat blok baru dengan dengan nama baru.
Selain melalui file /etc/freeradius/3.0/clients.conf , anda bisa menggunakan daloRADIUS untuk menambahkan NAS server.
LANGKAH 9. Langkah selanjutnya adalah pengujian apakah konfigurasi sudah benar. Sebelumnya, anda harus menghentikan terlebih dahulu proses FreeRADIUS yang berjalan pada backgroud.
# service freeradius stop
# freeradius -X
Apabila tidak ada error yang muncul, radius anda siap dijalankan. Tekan tombol CTRL + C untuk menghentikan mode debug FreeRADIUS. Anda bisa menjalankan FreeRADIUS kembali dengan perintah.
# service freeradius start
LANGKAH 10. Untuk menguji FreeRADIUS server menggunakan username, masukkan perintah berikut:
# radtest sqltest sqltest localhost 18128 testing123
Output yang seharusnya keluar dari perintah diatas adalah:
Sent Access-Request Id 225 from 0.0.0.0:48325 to 127.0.0.1:1812 length 77
User-Name = "sqltest"
User-Password = "sqltest"
NAS-IP-Address = 127.0.1.1
NAS-Port = 18128
Message-Authenticator = 0x00
Cleartext-Password = "sqltest"
Received Access-Accept Id 225 from 127.0.0.1:1812 to 127.0.0.1:48325 length 20
LANGKAH 11. Pada langkah berikut akan dijabarkan tahapan instalasi daloRADIUS. Untuk memulainya, download dahulu aplikasinya menggunakan git dengan link https://github.com/lirantal/daloradius.git . Letakkan pada folder /var/www/
# cd /var/www
# git clone
https://github.com/lirantal/daloradius.git
LANGKAH 12. Rubah permission dan kepemilikan direktori daloRADIUS dengan perintah:
# chown www-data:www-data daloradius
# chmod 755 daloradius
LANGKAH 13. Import konfigurasi daloRADIUS pada database dengan cara:
# cd daloradius
# mysql -u
radius -pradius radius < contrib/db/mysql-daloradius.sql
LANGKA 14.
Rubah konfigurasi koneksi ke database dengan merubah file library/daloradius.conf.php
# nano library/daloradius.conf.php
Cari baris berikut dan isi sesuai parameternya:
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'radius';
$configValues['CONFIG_DB_NAME'] = 'radius';
Tekan tombol CTRL + O untuk menyimpan dan CTRL + C untuk keluar dari interface nano
LANGKAH 15. Atur agar direktori daloRADIUS dapat dibaca oleh Nginx. Buat file file /root/daloradius/daloradius-nginx.conf
# nano
/root/daloradius/daloradius-nginx.confKemudian isikan baris berikut:
server {
listen 80;
server_name _;
index index.php index.html index.htm;
root /root/daloradius;
location / { try_files $uri $uri/ =404; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
}
Tekan tombol CTRL + O untuk menyimpan dan CTRL + C untuk keluar dari interface nano.
Masukkan konfigurasi server block dari daloradius ke dalam konfigurasi utama Nginx. Tambahkan tepat di bawah blok http {}. Jangan lupa hapus baris include /etc/nginx/sites-enabled/*;
# nano /etc/nginx/nginx.conf
Tambahkan baris:
include /root/daloradius/daloradius-nginx.conf;
LANGKAH 16. Sunting pengaturan php-fpm.
# sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.3/fpm/php.ini
LANGKAH 17.
Restart semua service:
# systemctl restart php7.3-fpm
Untuk memastikan konfigurasi benar, lakukang testing terlebih dahulu. Apabila tidak ada error, silahkan restart service.
#
nginx -t# systemctl restart nginx
FINAL. Silahkan buka browser dan arahkan pada alamat http://localhost/dalradius . Apabila muncul tampilan berikut, berarti konfigurasi anda berjalan dengan benar.
Untuk masuk ke daloRADIUS, gunakan:
Username: administrator
Password: radius
Jangan lupa untuk mengganti password
Sekian tutorial dari saya. Semoga bermanfaat, salam.
Artikel selanjutnya: Integrasi FreeRADIUS dengan MikroTik
[UPDATE]
Secara default nilai dari parameter berikut sudah benar, hanya saja anda perlu memastikan kembali. Silahkan buka file berikut: /etc/freeradius/sql.conf kemudian cari baris readclient=yes. Yang biasanya terjadi adalah, walaupun baris tersebut telah memiliki value yes, namun masih dalam kondisi disabled (comment). Yang harus anda lakukan adalah, buka komen tersebut. Selanjutnya anda sudah dapat menambahkan nas melalui daloRadius. Selanjutnya reload service dengan perintah systemctl reload freeradius
_______________
reference:
- Ubuntugeek.com. (2018). Install Freeradius on ubuntu 16.10 Server and manage using daloradius (Freeradius web management application) | Ubuntu Geek. [online] Available at: http://www.ubuntugeek.com/install-freeradius-on-ubuntu-16-04-server-and-manage-using-daloradius-freeradius-web-management-application.html [Accessed 24 May 2018].
- Freeradius.1045715.n5.nabble.com. (2019). Users - NAS list with MySQL. [online] Available at: http://freeradius.1045715.n5.nabble.com/NAS-list-with-MySQL-td2775305.html [Accessed 13 Oct. 2019].
- Syed Jahanzaib Personal Blog to Share Knowledge !. (2019). freeradius dynamic clients – Syed Jahanzaib Personal Blog to Share Knowledge !. [online] Available at: https://aacable.wordpress.com/tag/freeradius-dynamic-clients/ [Accessed 13 Oct. 2019].
- service, R. and Madden, S. (2019). Reload Freeradius clients without restart the service. [online] Server Fault. Available at: https://serverfault.com/questions/401633/reload-freeradius-clients-without-restart-the-service [Accessed 13 Oct. 2019].
- Freeradius.1045715.n5.nabble.com. (2019). Users - NAS list with MySQL. [online] Available at: http://freeradius.1045715.n5.nabble.com/NAS-list-with-MySQL-td2775305.html [Accessed 13 Oct. 2019].
- Syed Jahanzaib Personal Blog to Share Knowledge !. (2019). freeradius dynamic clients – Syed Jahanzaib Personal Blog to Share Knowledge !. [online] Available at: https://aacable.wordpress.com/tag/freeradius-dynamic-clients/ [Accessed 13 Oct. 2019].
- service, R. and Madden, S. (2019). Reload Freeradius clients without restart the service. [online] Server Fault. Available at: https://serverfault.com/questions/401633/reload-freeradius-clients-without-restart-the-service [Accessed 13 Oct. 2019].
Kalo di stb openwrt gmana om installY,pake perintah apt gak bisa
BalasHapuskalo di STB kendala di resource nya terbatas gan
Hapus