Radius

Dari Catatan Pak Samsul
Loncat ke navigasi Loncat ke pencarian

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 :

Alur Penanganan saat terjadi masalah pada Server Radius

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 mariadbMemastikan 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/sqldengan 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 SeeAuthorization 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 :

Testing freeradius pada server local berhasil.

root@rad-server:~#radtest owner p4ssw0rd localhost 1812 testing123

Jika testing berhasil akan mendapatkan pesan balasan Access-Accept


Referensi :

  1. 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, S.T., M.Kom.
  2. Martin P.Clark. (2003) Dalam bukunya yang berjudul “Data Network IP and the Internet”