RADIUS (Remote Authentication Dial-In User Service) merupakan protokol keamanan komputer yang digunakan untuk melakukan autentikasi, autorisasi, dan pendaftaran akun pengguna secara terpusat untuk mengakses jaringan.
Radius sering diterapkan pada mikrotik yang mana dapat digunakan untuk autentikasi user hotspot, ppp, login router, dan sebagainya. Dimana user tersebut ada di dalam database radius, sehingga tidak perlu membuat user pada tiap router mikrotik.
Pada kesempatan kali ini saya mau membaginkan cara setting radius pada Linux dengan menggunakan FreeRadius dan MySQL
Persiapan Instalasi
Pada kesempatan kali ini menggunakan debian 8.x atau bisa juga pakai Ubuntu 16.04 atau dibawahnya.
Konfigurasi IP Server secara statik. misal: 10.100.0.10 (ip private, jadi hanya bisa diakses lewat jaringan lokal)
Install Package
apt-get install mysql-server freeradius freeradius-utils freeradius-mysql
Konfigurasi MySQL
mysql -u root -pPassword
Setelah masuk ke mysql kemudian buat database dan user beserta akses ke database nya
create database radius;
grant all on radius.* to radius@'%' identified by "radiusPassword";
flush privileges;
Import schema database dari free radius
mysql -u radius -pradiusPassword radius < /etc/freeradius/sql/mysql/schema.sql
Dari skema database diatas ada beberapa table diantaranya
- radacct - menampung log login pada radius
- radcheck - menampung data user untuk login radius
- radgroupcheck
- radgroupreply - menampung data group untuk user
- radpostauth
- radreply - digunakan menampung data ip pppoe
- radusergroup - menampung data user dan group biar saling terrelasi
Menambah user untuk radius
mysql -u radius -pradiusPassword radius -e "INSERT INTO radcheck (username, attribute, op, value) VALUES ('user', 'Cleartext-Password', ':=', 'radpassword123');"
Untuk menambah group dan usergroup bisa tambahkan ke table radgroupreply dan radusergroup
Konfig FreeRadius
Atur file sql.conf untuk koneksi ke database
nano /etc/freeradius/sql.conf
Atur sites-enable agar menggunakan sql sebagai koneksi ke database nya
nano /etc/freeradius/sites-enabled/default
Temukan kata sql.conf , kalau pada editor nano bisa bakai ctrl + w. Kemudian uncomment semua sql di bawahnya dengan menghilangkan hastag/tanda pagar
Atur Radius agar terhubung dengan konfigurasi database mysql
nano /etc/freeradius/radiusd.conf
Uncomment pada $INCLUDE sql.conf
$INCLUDE sql.conf
Setting clients.conf untuk memperbolehkan radius di akses dari perangkat lain
nano /etc/freeradius/clients.conf
Atur koneksi yang akan di terima untuk akses dengan beserta secret key nya
client 10.0.0.0/8 {
secret = radius
shortname = local-network
}
client 172.16.0.0/16 {
secret = radius
shortname = local-network
}
client 192.168.0.0/16 {
secret = radius
shortname = local-network
}
Finishing Setup
Sebagai langkah terakhir, kita restart service freeradius dan test apakah radius sudah dapat digunakan atau belum
/etc/init.d/freeradius restart
radtest user radpassword123 localhost 1812 testing123
Jika pada hasil test mendapatkan output rad_recv: Access-Accept .......... berarti radius sudah berjalan dengan baik.
Jika belum mendapat output tersebut bisa dicoba trace error menggunakan :
freeradius -X
Jika masih ada kendala dalam setting tersebut bisa menghubungi saya, sebisa mungkin saya bantu. :)