Tuesday, February 21, 2017

Integrasi Fitur PPPoE Server + Hotspot MikroTik Dengan FreeRADIUS & MariaDB

  1 comment
FreeRADIUS Logo. | FreeRADIUS Website
Assalamu'alaikum Wr. Wb.
Pada artikel ini saya akan menuliskan tentang bagaimana mengintegrasikan Fitur Hotspot dan PPPoE Server di MikroTik dengan RADIUS Server Eksternal yaitu FreeRADIUS dilengkapi dengan MariaDB sebagai Database Backendnya di Ubuntu Server 16.04.2.

a. Pengertian
RADIUS (Remote Authentication Dial-In User Service), merupakan sebuah protokol keamanan yang digunakan sebagai AAA (Autentikasi, Autorisasi, Akuntansi) secara terpusat kepada pengguna sebelum akhirnya pengguna tersebut dapat mengakses jaringan.

b. Latar Belakang
Dengan semakin berkembang dan bertambah banyaknya layanan-layanan yang berbanding lurus dengan bertambahnya Pengguna, maka dibutuhkan sebuah Manajemen yang lebih baik dan terpusat. Oleh karena itu digunakanlah RADIUS.

c. Maksud dan Tujuan
Penggunaan RADIUS memudahkan pengelolaan data pengguna karena dilakukan secara terpusat, serta dengan digunakannya RADIUS Server secara eksternal maka meminimalisir kehilangan data akibat kerusakan.

d. Waktu Pengerjaan
Waktu yang dibutuhkan untuk melakukan konfigurasi ini kurang lebih 30-45 Menit.

e. Alat dan Bahan
- PC + Kabel UTP RJ45.
- VirtualBox.
- Koneksi Internet
- 1x VM Ubuntu Server 16.04.2 (Untuk FreeRADIUS + MariaDB).
- 1x VM MikroTik Cloud Hosted Router (Untuk uji coba PPPoE Dial).
- 1x Perangkat MikroTik (Digunakan untuk Bridging Network), alternatif gunakan Host-Only Network.

f. Langkah Kerja
Saya asumsikan semua alat dan bahan telah disiapkan.

1. Initial Config Ubuntu Server 16.04.2
Sebelum beranjak ke langkah selanjutnya, saya hanya menghimbau untuk selalu melakukan Initial Config ini agar langkah-langkah selanjutnya tidak ada masalah. Teman-teman dapat melakukan Initial Config seperti yang saya lakukan di Debian Jessie di artikel sebelumnya.

2. Instalasi FreeRADIUS + MariaDB Server
Untuk melakukan instalasi FreeRADIUS dan MariaDB Server, lakukan perintah berikut ini:
~# apt install freeradius freeradius-common freeradius-mysql mariadb-server
Setelah instalasi MariaDB Server selesai, silahkan teman-teman melakukan Konfigurasi MariaDB Server dengan cara:
~# mysql_secure_installation
Yang perlu teman-teman lakukan adalah menambahkan Password baru untuk akun Root dari MariaDB apabila sebelumnya tidak diminta Password, atau mengganti Password dengan password baru. Selain Password, teman-teman dapat menyetujui pertanyaannya dengan menekan Enter.

3. Konfigurasi FreeRADIUS
Pertama kita akan edit file /etc/freeradius/sql.conf untuk menyesuaikan login detail dari database kita. Ubah baris berikut:
login = "smkradius"
password = "passwordku"
Kemudian hilangkan tanda pagar (uncomment) pada baris:
# readclients = yes
Selanjutnya kita akan edit file /etc/freeradius/radiusd.conf. Pada file ini kita akan meng-uncomment sebuah baris yang menyangkut mengenai SQL.
Carilah baris # $INCLUDE sql.conf kemudian hilangkan tanda pagarnya (uncomment).
# Include another file that has the SQL-related configuration.
# This is another file only because it tends to be big.
#
# $INCLUDE sql.conf
Lalu kita edit juga file /etc/freeradius/sites-enabled/default. Disini hal yang kita juga hanya akan meng-uncomment baris yang terkait dengan SQL. Disini ada 4 hal yang akan kita uncomment:
# Look in an SQL database. The schema of the database
# is meant to mirror the "users" file.
#
# See "Authorization Queries" in sql.conf
# sql
# Log traffic to an SQL database.
#
# See "Accounting queries" in sql.conf
# sql
# See "Simultaneous Use Checking Queries" in sql.conf
# sql
Post-Auth-Type REJECT {
# log failed authentications in SQL, too.
# sql....
Dan yang terakhir kita tambahkan Client kita yaitu Perangkat MikroTik kita yang sebagai Hotspot dan PPPoE Server. Konfigurasi Client ada di file /etc/freeradius/clients.conf.
Tambahkan baris berikut di paling bawah konfigurasi, kemudian sesuaikan dengan konfigurasi teman-teman.
client <IP MikroTik> {
secret = smkpedan
shortname = MikroTik
}
4. Import Database Dasar FreeRADIUS ke MariaDB
Silahkan teman-teman login ke MariaDB Server melalui CLI kemudian buat database baru bernama radius dengan cara:
;; Masuk ke MariaDB Server
~# mysql -u root -p
;; Buat Database radius
MariaDB [(none)]> create database radius;
;; Buat akun baru (smkradius) khusus untuk radius

MariaDB [(none)]> grant all on radius.* to 'smkradius'@'localhost' identified by 'passwordsini';
Setelah itu kita import Database Dasar yang disediakan oleh FreeRADIUS ke MariaDB dengan cara:
~# mysql -u smkradius -ppasswordku radius < /etc/freeradius/sql/mysql/schema.sql
~# mysql -u smkradius -ppasswordku radius < /etc/freeradius/sql/mysql/nas.sql
5. Buat User baru di Database
Setelah database dasar sudah kita import, selanjutnya kita buat akun untuk client yang ingin terhubung ke Hotspot dan PPPoE kita. Untuk menambahkan data sendiri teman-teman bisa menggunakan Mode CLI ataupun menggunakan salah-satu GUI Database Management seperti HiediSQL di Windows ataupun DBeaver di Linux. Nah kebetulan disini saya akan membuatnya melalui CLI.
~# mysql -u smkpedan -ppasswordku
MariaDB [(none)]> use radius;
MariaDB [radius]> INSERT INTO radcheck ( id , UserName , Attribute , op , Value ) VALUES ( NULL , 'fajar', 'user-password', '==', 'passwordku');
6. Testing FreeRADIUS
Sebelum memulai testing, silahkan teman-teman Restart Service dari FreeRADIUS dengan:
~# service freeradius restart
Apabila terdapat error ketika merestartnya, teman-teman bisa menstop service FreeRADIUS kemudian teman-teman jalankan FreeRADIUS dalam mode Debug dengan cara:
~# service freeradius stop
~# freeradius -X
Untuk mengetest autentikasi FreeRADIUS dapat kita lakukan dengan:
-- radtest -- username db -- pass akun -- localhost -- port -- password default untuk testing
~# radtest fajar passwordku localhost 1812 testing123
Apabila teman-teman mendapatkan balasan Access-Accept berarti FreeRADIUS tidak ada masalah dan siap untuk diintegrasikan dengan MikroTik. Namun apabila terdapat Access-Reject yang berarti akses ditolak, ada kemungkinan bahwa teman-teman memiliki masalah pada Database Backend nya.

7. Integrasi Hotspot & PPPoE Server
Silahkan teman-teman buat PPPoE Server dan Hotspot serta aktifkan opsi RADIUS Server pada kedua Fitur seperti di artikel saya sebelumnya. Kemudian silahkan teman-teman buka menu Radius yang ada di Menu utama Winbox. 
- Klik [+] untuk menambahkan RADIUS Server baru.
- Berikan checklist pada PPP dan Hotspot
- Masukkan IP Server FreeRADIUS ke Address
- Masukkan Secret yang sudah kita konfigurasi sebelumnya
- Kemudian klik OK.

8. Final Test
Jika koneksi MikroTik dengan FreeRADIUS lancar, seharusnya teman-teman sudah dapat menggunakan fitur-fitur tersebut!
g. Referensi

h. Kesimpulan
Dengan diterapkannya sistem pengelolaan akun terpusat seperti diatas, maka manajemen akun pun akan lebih mudah dan lebih aman dalam hal kehilangan data akibat kerusakan. Karena database akun terpisah dengan Router utama. Dan hal diatas pun dapat kita implementasikan secara nyata untuk berbagai keperluan seperti Automatic Billing untuk Hotspot Wifi, Manajemen Bandwidth dan Tagihan Bulanan untuk RT-RW Net, dan masih banyak lagi.

Sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semuanya!
Dan seperti biasa, Terima Kasih!
Wassalamu'alaikum Wr. Wb.

1 comment :