Radius: Perbedaan antara revisi

Dari Catatan Pak Samsul
Loncat ke navigasi Loncat ke pencarian
(←Membuat halaman berisi '= Installasi Freeradius Server pada Ubuntu 18.04 LTs = === Installasi LAMP === Lamp adalah istilah yang merupakan singkatan dari Linux, Apache, MySQL dan Perl/PHP/Phy...')
 
kTidak ada ringkasan suntingan
 
(4 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1: Baris 1:
= Installasi Freeradius Server pada Ubuntu 18.04 LTs =
==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'')


=== Installasi LAMP ===
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]]).  
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
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.
* Apache HTTP Server – web server
* MariaDB atau MySQL – sistem basis data
* PHP atau Perl atau Python – ''Support'' bahasa pemrograman yang dipakai


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<span> </span>:


Proses didalam tahap ini selengkapnya sebagai berikut :
*''Access-Reject'' (dikirim jika ada kondisi otentikasi atau otorisasi tidak dipenuhi atau data permintaan tidak tersedia)
[[Berkas:Mainten.jpg|jmpl|FlowCart Perbaikan Radius Server]]
*''Access-Challenge''(dikirim untuk meminta data otentikasi lebih lanjut;)
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''
*''Access-Accept'' (dikirim untuk mengizinkan penggunaan layanan.)


Lakukan ''update repository'' dan ''upgrade'' paket yang sudah ada pada sistem operasi selumnya dengan perintah berikut : <blockquote>''samsul@rad-server:~$sudo apt update -y''
=Installasi Freeradius Server pada Ubuntu 18.04 LTs=


''samsul@rad-server:~$sudo apt upgrade -y''</blockquote>Tahap berikutnya installasi paket yang diperlukan dengan perintah berikut :<blockquote>''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''</blockquote>Pada proses installasi paket ini meliputi installasi paket berikut :  
===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<span> </span>:


# Apache2 sebagai webserver
*Linux – sistem operasi
# Mariadb sebagai database server
*Apache HTTP Server – web server
# PHP7.2 sebagai bahasa pemrogaman untuk menerjemahkan script php pada webserver sehingga dapat di tampilan pada klien.
*MariaDB atau MySQL – sistem basis data
# ''Library'' PHP
*PHP atau Perl atau Python – ''Support'' bahasa pemrograman yang dipakai
# Paket ''wget'' untuk meng ''download'' paket daloradius lewat terminal linux.
# 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  : <blockquote>''samsul@rad-server:~$sudo systemctl status apache2''</blockquote>Memastikan database server mariadb berjalan dengan baik dengan perintah <blockquote>''samsul@rad-server:~$sudo systemctl status mariadb''</blockquote>Memastikan PHP sudah terinstall dengan benar selanjutnya cek dengan perintah berikut untuk melihaat versi php yang sudah terinstall<blockquote>''samsul@rad-server:~$php -v''</blockquote>Setelah semua paket lamp terinstall dan berjalan dengan baik, langkah selanjutnya adalah installasi freeradius .


=== Installasi Freeradius dan konfigurasinya. ===
Proses didalam tahap ini selengkapnya sebagai berikut<span> </span>:
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 (Fauzan, 2012). Sebelum melanjutkan installasi freeradius hal perlu dipersiapkan dahulu adalah membuat database untuk freeserver radius dengan langkah-langkah sebagai berikut :
[[Berkas:Mainten.jpg|jmpl|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''


Masuk pada database server dalam hal ini mariadb dengan perintah sebagai berikut :<blockquote>''samsul@rad-server:~$sudo mysql -u root -p''</blockquote>Setelah itu buat database baru dengan perintah : <blockquote>CREATE DATABASES freeradius;</blockquote>Mulai melakukan installasi paket freeradius dengan perintah berikut : <blockquote>''root@rad-server:~#apt-get install freeradius freeradius-mysql freeradius-utils''</blockquote>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 jika berhasil akan tampak seperti pada gambar 4.7 berikut ini :  <blockquote>''root@rad-server:~# freeradius -v''</blockquote>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 benar, jika sudah berjalan dengan benar akan ditampilkan seperti pada gambar 4.8 berikut ini :
Lakukan ''update repository'' dan ''upgrade'' paket yang sudah ada pada sistem operasi selumnya dengan perintah berikut<span> </span>:
samsul@rad-server:~$sudo apt update -y''


Gambar 4.8 Status freeradius (Active)
samsul@rad-server:~$sudo apt upgrade -y


Setelah diinstal, import skema database MySQL freeradius, sebagai user ''samsul'' kemudian import skema database freeradius dimasukkan ke dalam database radiusdb dengan perintah sebagai berikut:<blockquote>''root@rad-server:~# mysql -u samsul -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql''</blockquote>Selanjutnya membuat tautan simbolik ''link'' untuk modul sql dengan melakukan perintah berikut:
Tahap berikutnya installasi paket yang diperlukan dengan perintah berikut :
{| class="wikitable"
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-  
|''sudo ln -s    /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/''
mbstring php-xml php-curl unzip wget -y
|}
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'' :<blockquote>''root@rad-server:~# mysql -u samsul  -p p4ssw0rd''
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''


Masuk pada database radiusdb:
Tahap berikut memastikan paket-paket yang sudah di install bisa berjalan dengan baik atau belum. Melihat status apache2 dengan perintah <span> </span>:  
samsul@rad-server:~$sudo systemctl status apache2


''MariaDB [(none)]> use radiusdb;''
Memastikan database server mariadb berjalan dengan baik dengan perintah samsul@rad-server:~$sudo systemctl status mariadb''</blockquote>Memastikan PHP sudah terinstall dengan benar selanjutnya cek dengan perintah berikut untuk melihaat versi php yang sudah terinstall
samsul@rad-server:~$php -v


Menampilkan isi database radiusdb:
Setelah semua paket LAMP terinstall dan berjalan dengan baik, langkah selanjutnya adalah installasi freeradius .


''MariaDB [radiusdb]> show tables;''
===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:


Keluar dari dari database:
Masuk pada database server dalam hal ini mariadb dengan perintah sebagai berikut<span> </span>:<blockquote>''samsul@rad-server:~$sudo mysql -u root -p''</blockquote>Setelah itu buat database baru dengan perintah<span> </span>: <blockquote>CREATE DATABASES ''radiusdb'';</blockquote>Mulai melakukan installasi paket freeradius dengan perintah berikut<span> </span>: <blockquote>''root@rad-server:~#apt-get install freeradius freeradius-mysql freeradius-utils''</blockquote>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<span> </span>:<blockquote>''root@rad-server:~# freeradius -v''</blockquote>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.


''MariaDB [radiusdb]> \q''</blockquote> Jika skema sudah berhasil dimasukkan akan tampak seperti pada gambar 4.9 sebagai berikut :
Setelah diinstal, import skema database MySQL freeradius, sebagai user ''samsul'' kemudian import skema database freeradius dimasukkan ke dalam database radiusdb dengan perintah sebagai berikut:<blockquote>''root@rad-server:~# mysql -u samsul -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql''</blockquote>Selanjutnya membuat tautan simbolik ''link'' untuk modul sql dengan melakukan perintah berikut:<blockquote>''samsul@rad-server:~$sudo'' ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/</blockquote>Kemudian masuk database ''mariadb'' sebagai user ''samsul'' kemudian cek database ''radiusdb'' untuk memastikan skema database freeradius sudah masuk kedalam ''radiusdb'' dengan perintah berikut<span> </span>:


Gambar 4.9 Skema freeradius dalam database radiusdb
Masuk database mariadb dengan user ''samsul''<span> </span>:<blockquote>''root@rad-server:~# mysql -u samsul  -p p4ssw0rd''</blockquote>Masuk pada database radiusdb:<blockquote>''MariaDB [(none)]> use radiusdb;''</blockquote>Menampilkan isi database radiusdb:<blockquote>''MariaDB [radiusdb]> show tables;''</blockquote>Keluar dari dari database:<blockquote>''MariaDB [radiusdb]> \q''</blockquote>


Beberapa perubahan yang perlu dilakukan pada konfigurasi freeradius diantaranya yaitu perubahan pada file berikut :
===Konfigurasi Freeradius===
Beberapa perubahan yang perlu dilakukan pada konfigurasi freeradius diantaranya yaitu perubahan pada file berikut<span> </span>:


1.    /etc/freeradius/3.0/radiusd.conf
1.    /etc/freeradius/3.0/radiusd.conf
Baris 68: Baris 68:
5.    /etc/freeradius/3.0/clients.conf
5.    /etc/freeradius/3.0/clients.conf


Konfigurasi file ''/etc/freeradius/3.0/radiusd.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. '''Perubahan pada file ini selengkapnya dapat dilihat pada Lampiran-2'''
 
Konfigurasi file SQL.CONF
 
Pada tahap ini perlu dilakukan pada pengaturan sql.conf yang berada pada directory “''/etc/freeradius/3.0/mods-enabled/sql”, p''engaturan ini berguna untuk menentukan detail koneksi agar freeradius dapat terhubung dengan database yang dibuat sebelumnya dengan perintah seperti berikut ini :
<br />
{| class="wikitable"
|''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'', untuk konfigurasi selengkapnya dapat di lihat pada Lampiran-3:
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.


''sql {''
Konfigurasi file '''SQL.CONF'''


''driver = "rlm_sql_mysql"''
Pada tahap ini perlu dilakukan pada pengaturan sql.conf yang berada pada directory “''/etc/freeradius/3.0/mods-enabled/sql”, p''engaturan ini berguna untuk menentukan detail koneksi agar freeradius dapat terhubung dengan database yang dibuat sebelumnya dengan perintah seperti berikut ini<span> </span>:<blockquote>''samsul@rad-server:/$    sudo nano /etc/freeradius/3.0/mods-enabled/sql''</blockquote>Buat perubahan berikut sesuai database sehingga freeradius agar dapat terhubung dengan database ''radiusdb'':<blockquote>''sql {''


''dialect = "mysql"''
''driver = "rlm_sql_mysql"''


''# Connection info:''
''dialect = "mysql"''


''server = "localhost"''
''# Connection info:''


''port = 3306''
''server = "localhost"''


''login = "samsul"''
''port = 3306''


''password = "p4ssw0rd"''
''login = "samsul"''


''# Database table configuration for everything except Oracle''
''password = "p4ssw0rd"''
''# Database table configuration for everything except Oracle''


''radius_db = "radiusdb"''
''radius_db = "radiusdb"''


''}''
''}''


''read_clients = yes''
''read_clients = yes''


''client_table = "nas"''
''client_table = "nas"''</blockquote>




Simpan dan tutup file jika sudah selesai. Kemudian, ubah kepemilikan “''/etc/freeradius/3.0/mods-enabled/sql''”dengan perintah berikut:
<br />
{| class="wikitable"
|''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''
Simpan dan tutup file jika sudah selesai. Kemudian, ubah kepemilikan “'''''/etc/freeradius/3.0/mods-enabled/sql''”'''dengan perintah berikut:<blockquote> 
|}
''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''</blockquote>


Konfigurasi file ''“/etc/freeradius/3.0/sites-enabled/default”''
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. '''Perubahan pada file ini selengkapnya dapat dilihat pada Lampiran-4.'''
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'''
'''Pada bagian Accounting'''
Baris 143: Baris 129:
''sql''
''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/3.0/sites-available/default”''
Konfigurasi file '''''“/etc/freeradius/clients.conf”'''''
 
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 perunahan lainnya pada file ini yaitu pengaturan untuk autentikasi         client yang sudah terdaftar pada database.Perubahan pada file ini selengkapnya dapat dilihat pada Lampiran-5.'''
 
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 zerocool {''
     Pada konfigurasi ini perlu dilakukan agar server radius dapat berkomunikasi dengan radius client pada perangkat mikrotik dengan konfigurasi seperti berikut<span> </span>: <blockquote>''client mikrotik {''


''           ipaddr  = 192.168.12.1/29''
''           ipaddr  = 192.168.12.1/29''
Baris 159: Baris 141:
''           secret = 0725d5b''
''           secret = 0725d5b''


''           shortname = Mikrotik''  
''           shortname = Mikrotik''</blockquote>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.
 
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. '''Perubahan pada file ini selengkapnya dapat dilihat pada Lampiran-6.'''
 
Terakhir, ''restart'' freeradius untuk menerapkan semua perubahan konfigurasi:
<br />
{| class="wikitable"
|''samsul@rad-server:/$sudo systemctl restart    freeradius''
|}
 
 
 
Lakukan pengecekan status freeradius untuk memastikan freeradius sudah berjalan dengan baik atau belum dengan perintah ''systemctl status freeradius'' seperti tampak pada gambar 4.10 seperti berikut :
 
 
Gambar 4.10 Cek Status Freeradius


Untuk melakukan pengetesan terlebih dahulu buat user pada database ''radiusdb'' dengan nama ''user'' ''owner'' dan password ''p4ssw0rd'' , dengan perintah berikut :
Terakhir, ''restart'' freeradius untuk menerapkan semua perubahan konfigurasi:<blockquote>''samsul@rad-server:/$sudo systemctl restart freeradius''</blockquote>Lakukan pengecekan status freeradius untuk memastikan freeradius sudah berjalan dengan baik atau belum dengan perintah ''samsul@rad-server:/$sudo'' ''systemctl status freeradius.''


''root@rad-server:~# mysql -usamsul -pp4ssw0rd''
Untuk melakukan pengetesan terlebih dahulu buat user pada database ''radiusdb'' dengan nama ''user'' ''owner'' dan password ''p4ssw0rd'' , dengan perintah berikut<span> </span>:<blockquote>''root@rad-server:~# mysql -usamsul -pp4ssw0rd''


''MariaDB [(none)]> use radiusdb;''
''MariaDB [(none)]> use radiusdb;''
Baris 184: Baris 151:
''MariaDB [radiusdb]> INSERT INTO radcheck ( id , UserName , Attribute , op , Value ) VALUES ( NULL , 'owner', 'Cleartext-Password', ':=', 'p4ssw0rd');''
''MariaDB [radiusdb]> INSERT INTO radcheck ( id , UserName , Attribute , op , Value ) VALUES ( NULL , 'owner', 'Cleartext-Password', ':=', 'p4ssw0rd');''


''MariaDB [radiusdb]> exit''
''MariaDB [radiusdb]> exit''</blockquote>




           User ''owner'' sudah berhasil di buat selanjutnya lakukan pengetesan dengan cara sebagai berikut :  
User ''owner'' sudah berhasil di buat selanjutnya lakukan pengetesan dengan cara sebagai berikut<span> </span>:  


Masuk ke terminal linux sebagi root dan ketikkan perintah seperti yang ditunjukkan pada gambar 4.11 , jika testing berhasil akan mendapat balasan ''Access-Accept'' seperti pada gambar  4.11 berikut :
Masuk ke terminal linux sebagi root dan ketikkan perintah<span> </span>:<blockquote>[[Berkas:Testing Radius.png|jmpl|Testing freeradius pada server local berhasil.]]''root@rad-server:~#radtest owner p4ssw0rd localhost 1812 testing123''</blockquote>Jika testing berhasil akan mendapatkan pesan balasan '''''Access-Accept'''''




Gambar 4.11 Testing Server Radius
=Referensi<span> </span>:=


Installasi dan konfigurasi server freeradius telah selesai langkah berikutnya yaitu installasi daloradius sebagai web managamen user dengan langkah-langkah sebagai berikut :
#'''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.
#Martin P.Clark. (2003) Dalam bukunya yang berjudul ''“Data Network IP and the Internet”''<br />

Revisi terkini sejak 30 Maret 2021 08.26

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”