Radius
Sekilas Tentang Radius
Martin P.Clark. (2003) Dalam bukunya yang berjudul “Data Network IP and the Internet” mejelaskan tentang apa itu Remote Authentication Dial-In User Service (RADIUS). Radius memungkinkan sentralisasi pengguna secara terpusat pada database yang menyimpan data otorisasi pengguna yang ada dalam database agar selanjutnya setiap pengguna yang terdaftar saja yang dapat diberikan izin sebelum dapat meng-akses Internet atau IP-jaringan. Untuk menghindari hal-hal yang tidak diinginkan server radius perlu dihubungkan dengan NAS(Network access Server) bertindak sebagai database terpusat yang handal dan konsisten guna menyimpan salinan atau duplikat database AAA(Authentication,Authorization, Accounting)
Setiap kali salah satu NAS menerima panggilan masuk, nama pengguna, kata sandi dan data otentikasi pengguna akan diverifikasi dengan pengguna dial-in melalui standar protocol AAA (otentikasi, Otorisasi, dan Akutansi) seperti PAP(password authentication protocol), CHAP (challenge handshake authentication protocol) atau TACACS (terminal access controller access control system) kemudian NAS memeriksa dan melakukan otorisasi jarak jauh ke dalam database server Radius menggunakan protocol Radius. Layanan pengguna dial-in otentikasi jarak jauh (RADIUS) didefinisikan dalam RFC 2865-9 (IPv4) dan RFC 3162 (IPv6).
Layanan ini banyak digunakan oleh (NAS) untuk menyediakan AAA (otentikasi, otorisasi, dan akuntansi) dari pengguna dial-in ke jaringan IP termasuk Internet itu sendiri. Biasanya protokol transport data digunakan oleh remote dial-in user untuk mengangkut data melintasi bagian jaringan telepon seperti pada koneksi PPP (protokol point-to-point), SLIP (serial line Internet protocol)yang sekarang sebagian besar digantikan oleh PPP, telnet atau layanan rlogin UNIX.
Proses autentikasi antara Radius klien dengan server radius dilakukan melalui penggunaan kode bersama(shared secret). User dan password pengguna dikirim dalam bentuk formulir terenkripsi di semyembuhnyikan agar terhindar dari tindakan snooping. Selain itu hal yang dapat dilakukan yaitu dengan menggunakan tehnik tunneling antara klien Radius dan server Radius. Permintaan akses klien ke server radius melalui jaringan masih dapat dilakukan selama masih dalam waktu wajar hingga server menanggapinya dengan memberikan tiga kemungkinan balasan seperti :
- Access-Reject (dikirim jika ada kondisi otentikasi atau otorisasi tidak dipenuhi atau data permintaan tidak tersedia)
- Access-Challenge(dikirim untuk meminta data otentikasi lebih lanjut;)
- Access-Accept (dikirim untuk mengizinkan penggunaan layanan.)
Installasi Freeradius Server pada Ubuntu 18.04 LTs
Installasi LAMP
Lamp adalah istilah yang merupakan singkatan dari Linux, Apache, MySQL dan Perl/PHP/Phyton. Merupakan sebuah paket perangkat lunak bebas yang digunakan untuk menjalankan sebuah aplikasi secara lengkap. Komponen-komponen yang terkandung didalamnya diantaranya sebagai berikut :
- Linux – sistem operasi
- Apache HTTP Server – web server
- MariaDB atau MySQL – sistem basis data
- PHP atau Perl atau Python – Support bahasa pemrograman yang dipakai
Proses didalam tahap ini selengkapnya sebagai berikut :
Sebelum melakukan installasi paket lamp terlebih dahulu login menggunakan nama pengguna yang sudah dibuat saat installasi sistem operasi Ubuntu 18.04 Lts dengan kentuan Username = samsul (user biasa) dan Password = p4ssw0rd atau menggunakan super administrator dengan ketentuan sebagai berikut Username = root (Super Administrator) Password = 12345678
Lakukan update repository dan upgrade paket yang sudah ada pada sistem operasi selumnya dengan perintah berikut :
samsul@rad-server:~$sudo apt update -y samsul@rad-server:~$sudo apt upgrade -y
Tahap berikutnya installasi paket yang diperlukan dengan perintah berikut :
samsul@rad-server:~$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
Pada proses installasi paket ini meliputi installasi paket Apache2 sebagai webserver, Mariadb sebagai database server,PHP7.2 sebagai bahasa pemrogaman untuk menerjemahkan script php pada webserver sehingga dapat di tampilan pada klien,Library PHP,Paket wget untuk meng download paket daloradius lewat terminal linux dan Paket unzip untuk meng-extrator paket daloradius dari hasil download. Tahap berikut memastikan paket-paket yang sudah di install bisa berjalan dengan baik atau belum. Melihat status apache2 dengan perintah :
samsul@rad-server:~$sudo systemctl status apache2
Memastikan database server mariadb berjalan dengan baik dengan perintah
samsul@rad-server:~$sudo systemctl status mariadb
Memastikan PHP sudah terinstall dengan benar selanjutnya cek dengan perintah berikut untuk melihaat versi php yang sudah terinstall
samsul@rad-server:~$php -v
Setelah semua paket LAMP terinstall dan berjalan dengan baik, langkah selanjutnya adalah installasi freeradius .
Installasi Freeradius
Freeradius adalah server radius protokol security yang berbasis pada open source yang bekerja menggunakan sistem client-server dan mendukung MySQL, Freeradius digunakan untuk melakukan autentikasi user melalui komunikasi antara client dan server untuk mengakses jaringan. Sebelum melanjutkan installasi freeradius hal perlu dipersiapkan dahulu adalah membuat database untuk freeserver radius dengan langkah-langkah sebagai berikut :
Masuk pada database server dalam hal ini mariadb dengan perintah sebagai berikut :
samsul@rad-server:~$sudo mysql -u root -p
Setelah itu buat database baru dengan perintah :
CREATE DATABASES radiusdb;
Mulai melakukan installasi paket freeradius dengan perintah berikut :
root@rad-server:~#apt-get install freeradius freeradius-mysql freeradius-utils
Freeradius sudah berhasil di lakukan installasi untuk memastikan freeradius yang sudah berhasil di install ketikkan perintah berikut untuk mengecek versi radius yang sudah di insallasi :
root@rad-server:~# freeradius -v
Freeradius sudah berhasil dilakukan installasi dengan baik dengan versi freeradius menggunakan versi 3.0.16, kemudikan silahkan ketikkan perintah root@systemctl status freeradius untuk memastikan freeradius sudah berjalan dengan baik. Setelah diinstal, import skema database MySQL freeradius, sebagai user samsul kemudian import skema database freeradius dimasukkan ke dalam database radiusdb dengan perintah sebagai berikut:
root@rad-server:~# mysql -u samsul -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Selanjutnya membuat tautan simbolik link untuk modul sql dengan melakukan perintah berikut:
samsul@rad-server:~$sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Kemudian masuk database mariadb sebagai user samsul kemudian cek database radiusdb untuk memastikan skema database freeradius sudah masuk kedalam radiusdb dengan perintah berikut : Masuk database mariadb dengan user samsul :
root@rad-server:~# mysql -u samsul -p p4ssw0rd
Masuk pada database radiusdb:
MariaDB [(none)]> use radiusdb;
Menampilkan isi database radiusdb:
MariaDB [radiusdb]> show tables;
Keluar dari dari database:
MariaDB [radiusdb]> \q
Konfigurasi Freeradius
Beberapa perubahan yang perlu dilakukan pada konfigurasi freeradius diantaranya yaitu perubahan pada file berikut :
1. /etc/freeradius/3.0/radiusd.conf
2. /etc/freeradius/3.0/mods-enabled/sql
3. /etc/freeradius/3.0/sites-enabled/default
4. /etc/freeradius/3.0/sites-available/default
5. /etc/freeradius/3.0/clients.conf
Konfigurasi file /etc/freeradius/3.0/radiusd.conf
Lakukan hal yang sama lakukan perubahan dengan menggunakan nano editor dengan perintah sudo nano /etc/freeradius/3.0/radiusd.conf kemudian cari baris “$INCLUDE sql.conf ” dan hilangkan tanda “#” untuk mengaktifkan file pada baris perintah tersebut.
Konfigurasi file SQL.CONF
Pada tahap ini perlu dilakukan pada pengaturan sql.conf yang berada pada directory “/etc/freeradius/3.0/mods-enabled/sql”, pengaturan ini berguna untuk menentukan detail koneksi agar freeradius dapat terhubung dengan database yang dibuat sebelumnya dengan perintah seperti berikut ini :
samsul@rad-server:/$ sudo nano /etc/freeradius/3.0/mods-enabled/sql
Buat perubahan berikut sesuai database sehingga freeradius agar dapat terhubung dengan database radiusdb:
sql {
driver = "rlm_sql_mysql"
dialect = "mysql"
# Connection info:
server = "localhost"
port = 3306
login = "samsul"
password = "p4ssw0rd"
# Database table configuration for everything except Oracle
radius_db = "radiusdb"
}
read_clients = yes
client_table = "nas"
Simpan dan tutup file jika sudah selesai. Kemudian, ubah kepemilikan “/etc/freeradius/3.0/mods-enabled/sql”dengan perintah berikut:
samsul@rad-server:/$sudo chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
samsul@rad-server:/$sudo chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Konfigurasi file “/etc/freeradius/3.0/sites-enabled/default”
Untuk melakukan konfigurasi pada file ini edit dengan menggunakan nano editor dengan perintah “samsul@rad-server:/$sudo nano /etc/freeradius/3.0/sites-enabled/default” kemudian hilangkan tanda # pada file sql, sehingga dengan perubahan ini proses accounting pada freeradius dapat disimpan dalam database mysql.
Pada bagian Accounting
# See “Authorization Queries” in sql.conf
sql
Pada bagian session
# See “Authorization Queries” in sql.conf
sql
Pada bagian Post-Auth-Type
# See “Authorization Queries” in sql.conf
sql
Konfigurasi file “/etc/freeradius/3.0/sites-available/default”
Konfigurasi pada file ini dengan nano editor dan dilakukan beberapa perubahan pada See “Authorization Queries” in “sql.conf” hilangkan tanda # di depan “sql”agar proses otorisai dapat disimpan dalam database, perubahan perubahan lainnya yaitu pengaturan untuk autentikasi client yang sudah terdaftar pada database.
Konfigurasi file “/etc/freeradius/clients.conf”
Pada konfigurasi ini perlu dilakukan agar server radius dapat berkomunikasi dengan radius client pada perangkat mikrotik dengan konfigurasi seperti berikut :
client mikrotik {
ipaddr = 192.168.12.1/29
secret = 0725d5b
shortname = Mikrotik
Pada pemberian IP Address di konfigurasi di atas berfungsi untuk mengenalkan server freeradius dengan perangkat mikrotik yang bertindak sebagai radius client agar keduanya bisa saling berkomunikasi, untuk secret juga disamakan antara keduanya. Terakhir, restart freeradius untuk menerapkan semua perubahan konfigurasi:
samsul@rad-server:/$sudo systemctl restart freeradius
Lakukan pengecekan status freeradius untuk memastikan freeradius sudah berjalan dengan baik atau belum dengan perintah samsul@rad-server:/$sudo systemctl status freeradius. Untuk melakukan pengetesan terlebih dahulu buat user pada database radiusdb dengan nama user owner dan password p4ssw0rd , dengan perintah berikut :
root@rad-server:~# mysql -usamsul -pp4ssw0rd
MariaDB [(none)]> use radiusdb;
MariaDB [radiusdb]> INSERT INTO radcheck ( id , UserName , Attribute , op , Value ) VALUES ( NULL , 'owner', 'Cleartext-Password', ':=', 'p4ssw0rd');
MariaDB [radiusdb]> exit
User owner sudah berhasil di buat selanjutnya lakukan pengetesan dengan cara sebagai berikut :
Masuk ke terminal linux sebagi root dan ketikkan perintah :
root@rad-server:~#radtest owner p4ssw0rd localhost 1812 testing123
Jika testing berhasil akan mendapatkan pesan balasan Access-Accept
Referensi :
- Muawan, Samsul. 2020.Perancangan Server Radius sebagai Hotspot Managemen Sistem pada Jaringan Komputer SMK Negeri 1 Pogalan Trenggalek Skripsi, Program Studi Pendidikan Teknologi Informasi, STKIP PGRI Tulungagung. Pembimbing: RIKIE KARTADIE, M.Kom.
- Martin P.Clark. (2003) Dalam bukunya yang berjudul “Data Network IP and the Internet”