Membangun Sistem Otentikasi HotSpot dan RADIUS Server dengan ZeroSHell

Tutorial ini merupakan simulasi yang diimplementasikan pada mesin virtual (karena keterbatasan devices), namun secara konsep tetap sama, jika kita memahami konsep dan topologinya maka kita akan bisa mengimplementasikannya secara keseluruhan pada kasus yang kita hadapi. Sebelumnya kita review sedikit tentang konsep Otentikasi dan RADIUS server, karena mungkin masih ada yg belum faham atau lupa 🙂

Authentication System dan Captive Portal

Adalah system otentikasi yang dilakukan oleh system terhadap user yang akan masuk kedalam system tersebut dimana user atau pengguna harus dikenali atau disahkan sebelum masuk kedalamnya. Sedangkan captive portal adalah pintu masuk untuk proses otentifikasi tersebut.

Secara detail captive portal adalah teknik untuk memaksa client HTTP pada jaringan untuk melihat halaman web khusus (biasanya untuk tujuan otentikasi) sebelum menggunakan internet secara normal. Sebuah captive portal mengalihkan browser Web ke perangkat otentikasi.2 Sumber lain mengatakan dengan lebih sederhana bahwa Captive Portal sebenarnya merupakan mesin router atau gateway yang memproteksi atau tidak mengizinkan adanya trafik, hingga user melakukan registrasi.3

RADIUS Server

Adalah server Remote Authentikasi Dial-in Service (RADIUS), sebuah protocol keamanan jaringan komputer berbasis server yang sering digunakan untuk melakukan authentikasi dan otorisasi serta pendaftaran akun (account) pengguna secara terpusat untuk mengakses jaringan yang aman.4

Konsep cara kerja secara singkatnya adalah sebagai berikut :

Gateway router akan mengarahkan user pada halaman login dan memaksa untuk melakukan otentifikasi atau payment terlebih dahulu (jika diimplementasikan system akunting) sebelum user mengakses external network, otentifikasi yang dilakukan user pada form login yg disebut captive portal, lalu user dan password yang diisikan kedalam form tersebut akan disingkronkan dengan user yang ada pada server radius.

Berikut adalah rancangan topologi yang akan digunakan :

topology

Karena kekurangan alat untuk praktek maka server ZeroShell dan sebagian host untuk uji coba akan diinstal di dalam mesin virtual, namun begitu penulis memastikan bahwa ini bekerja karena sudah diuji coba sendiri. Di dalam topologi ini terdapat 3 network, 1 untuk LAN, 1 untuk WLAN dan 1 untuk WAN. Berikut perencanaan IP yang dialokasikan :

LAN      : 192.168.1.0/24 (DHCP)

WLAN  : 192.168.0.0/24 (DHCP)

WAN     : 172.16.0.0/24 (IP static untuk simulasi ke web server)

 Sekenario / Cara Kerja

Network pada LAN akan langsung ter-capture oleh gateway pada ZeroShell sehingga paket yang melewatinya akan diarahkan ke captive portal, sedangkan paket yang berasal dari network WLAN akan melewati TP-LINK, karena gateway yang digunakan pada network ini adalah gateway Router pada TP-LINK, namun system security yang ada pada TP-LINK menggunakan server Radius dengan menembakan alamat server radius yang ada pada server ZeroShell, sehingga user akan tetap diarahkan pada captive portal sebelum bisa mengakses network external atau internet.

Persiapan

Implementasi atau uji coba yang dilakukan pada perancangan topologi diatas menggunakan device  dan software sebagai berikut :

  1. Toshiba Satellite C640 (digunakan untuk menginstal Zeroshell dan Host pada Virtual Box)
  2. Accer Aspire One 722 (digunakan sebagai Host pada WLAN)
  3. PC Pentium IV (digunakan sebagai simulasi internet dan web server)
  4. TP-LINK WR740N (sudah di upgrade dengan framework DD-WRT)
  5. 5.      Image ZeroShell-2.0.RC1 yang bisa di download disini http://zeroshell.org/download/
  6. Image distro linux yang kecil untuk host uji coba di internal network yang akan diinstall pada Virutal Box, dalam uji coba ini dipilih Puppy Linux slacko-5.3.3-4g-SCSI bisa di download versi terbaru nya banyak di internet. Atau bisa diganti dengan system operasi yang lain.
  7. Oracle VirtualBox V 4.2.0.

Instalasi

Hal pertama yang harus dilakukan ketika menginstall ZeroShell pada VirtualBox adalah image ISO ZeroShell harus berada pada OpticalDrive baik fisik ataupun Drive virtual bawaan UltraISO. Setelah itu arahkan instalasi pada image yang sudah kita mount tersebut.

Create virtual machine dan beri nama ZeroShell lalu pilih Linux pada kotak type, pada version pilih other linux. Klik next.

1. new virtual

Sesuaikan memory ketika menentukan memory size lalu create virtual hard drive pada tahap selanjutnya, dari tahap ini next trus hingga menentukan besarnya hard drive yang akan kita pakai, 500MB sudah cukup untuk menginstall system operasi ini.

Setelah selesai klik kanan ZeroShell pada panel sebelah kiri lalu klik setting. Lalu aktifkan adpter pada posisi bridged adapter, yang artinya kita menghubungkan ZeroShell pada mesin virtual dengan adapter fisik yang tertanam pada PC kita.

2.adapter setting

Aktifkan adapter 2 pada Host Only Adapter untuk menghubungkan dengan host yang berada pada mesin virtual untuk uji coba sebagai simulasi LAN. Klik OK jika selesai lalu klik Start.

Tunggu booting ZeroShell hingga selesai dan muncul tampilan sebagai berikut.

3. done installationSetelah pada tahap ini kita akan melakukan tahap konfigurasi melalui Web Interface dengan mengarahkan web browser kita ke alamat http://192.168.0.75, namun sebelumnya kita harus mencocokan network pada adapter fisik yang ada pada PC kita, IP nya harus satu network.

4

Lalu masuk ke ZeroShell control panel melalui web browser. Setelah keluar form login masukan username admin dan password zeroshell.

5Setelah masuk pilih tab network lalu setting IP nya dan dahulukan ETH01 lalu ETH00 karena setelah merubah IP pada ETH00 browser akan disconnect karena kita menghubugi ZeroShell melalui ETH00. Tampilan pada network adalah sebagai berikut :

6Klik ETH01 add IP lalu masukan IP 192.168.1.1/24. Sedangkan pada ETH00 192.168.0.254/24.

78

Setelah kita edit IP pada ETH00 maka koneksi ke ZeroShell secara otomatis akan terputus (tampilan web seperti hang), maka kita akan arahkan web browser ke alamat yang baru kita setting yaitu 192.168.0.254.
Setelah itu kita buat profil agar konfigurasi yang kita lakukan tersimpan pada hard drive. Setelah di klik tab profil akan muncul semua drive yang ada pada PC kita, dalam hal ini drive virtual karena kita menggunakan VirtualBox. Pilih ATA VBOX HARDDISK (sda) lalu klik New Partition.

9

Beri nama pada label lalu klik Create Partition.

10

Setelah drive di partisi lalu klik partisi tadi lalu Create Prifile. Isi fild yang dibutuhkan seperti Description, password dan Default Gateway.

11

Setelah itu klik profile yang kita buat tadi lalu Activate.

12

Setelah profile di aktifkan maka system akan merestart dengan sendirinya. Tunggu hingga systemnya siap lalu kita login kembali dengan password yang baru kita isi tadi ketika membuat profile.

Setelah membuat profile kita akan melanjutkan konfigurasi yang lain yaitu konfigurasi DHCP Server. Klik DHCP pada panel sebelah kiri. Dan klik New lalu pilih interface yang networknya akan diberikan IP DHCP. Dalam kasus ini kedua interface akan disetting menjadi DHCP Server.

13

Lalu atur IP yang akan dialokasikan.

14

Lakukan hal yang sama pada interface ETH01 dengan mengklik New seperti yang dilakukan pada ETH00.

Setelah membuat DHCP server sekarang konfigurasi server RADIUS untuk mengaktifkan fungsi AAA.

15

Akunting bisa kita aktifkan namun ini optional sesuai kebutuhan, pada kasus ini kita hanya akan mengaktifkan Captive Portal dan Server RADIUS. Selanjutnya aktifkan Captive Portal. Centang GW yang artinya Gateway, dalam hal ini kedua interface saya aktifkan agar semua paket yang melewati ZeroShell akan diidentifikasi dan diotentifikasi. Klik MULTI untuk memilih lebih dari satu interface.

16

Masukan kedua interface lalu save.

17

Setelah captive portal aktif ZeroShell akan memaksa kita untuk login pada form captive portal yang sudah kita aktifkan tersebut. Jika ada masalah dengan sertifikat maka masukan ke Add Eception pada browser, hal ini terjadi karena sertifikat yang digunakan ZeroShell tidak dikenali sebagai Sertifikat resmi.

Captive portal bisa di customize sesuai kebutuhan pada tab Authentication.

18Setelah itu kita daftar satu user untuk uji coba pada tab User lalu Add.

19Tahap selanjutnya adalah finishing yaitu konfigurasi pada Router Wireless. Diasumsikan disini kalau Router Wireless sudah kita persiapkan dan siap pakai, lalu saya masuk ke wireless router TP-LINK WR740N yang sudah diupgrade dengan DD-WRT firmwork. Konfigurasi IP DD-WRT dan fungsikan sebagai DHCP forwarder karena kita sudah membuat server DHCP pada interface ZeroShell tadi.

20

Lalu setting Akses Point dan arahkan securitynya ke RADIUS server yang sudah kita aktifkan di server ZeroShell tadi.

2122

Sekarang kita install Linux Slacko masih pada VirtualBox, klik New dan lakukan penginstalan seperti kita menginstall ZeroShell tadi, tapi hanya menggunakan satu adapter dan di setting sebagai VirtualBox Host-Only Adapter.

23Aktifkan DHCP untuk mendapatkan IP dari ZeroShell. Setelah itu lakukan ping ke gateway dan ke external network. Jika terjadi masalah dan tidak mendapat IP DHCP yang telah ditentukan maka masukan IP secara manual dengan gateway yang valid dengan interface ETH00.

24

Buka web browser dan arahkan ke IP external network.

25

Bila tampilannya seperti ini berarti network pada LAN sudah berhasil kita konfigurasi.

Selanjutnya kita cek network WLAN dan lakukan hal yang sama.

26

Kita sudah berahasil mengcapture kedua interface untuk diarahkan pada Captive Portal dan diotentifikasi oleh RADIUS server. Masukan username dan password yang telah kita buat tadi untuk mengakses external network atau internet.

——————————

  1. https://en.wikipedia.org/wiki/Captive_portal (diakses pada : Senin, 10 Juni 2013)
  2. Sugeng Tri Wahyono : http://sugeng.staff.ipb.ac.id/2010/03/25/hello-world/ (diakses pada : Senin, 10 Juni 2013)
  3. http://en.wikipedia.org/wiki/RADIUS (diakses pada : Senin, 10 Juni 2013)

 

5 thoughts on “Membangun Sistem Otentikasi HotSpot dan RADIUS Server dengan ZeroSHell

  1. Trimakasih banyak atas tutorialnya…
    saat ini masih di baca, saya mohon bantuannya bila ada kesulitan….

  2. Terimakasih sdh shared. Ada beberapa hal yg ingin saya tanyakan.
    1. Kenapa di zeroshell menggunakan 2 ethernet dengan network class yg berbeda? Apakah 1 ethernet saja dengan class yg sama tidak cukup?
    2. Jika kita ingin membuat WLAN dengan enterprise security(Radius Server), dibutuhkan X.509 certificate baik disisi server(radius server) maupun client(laptop, microcontroller, ect). Bagaimana cara membuat certificate tersebut?
    3. Jika ingin skenario lain, misalnya kita hanya ingin agar WLAN yg ter-authentication dgn radius server, sedangkan WAN terhubung langsung ke internet tanpa melalui radius server bagaimana caranya? Apakah harus menggunakan 2 ethernet card? atau cukup 1 ethernet? bagaimana caranya?

    Terimakasih

  3. gan saya mau tanya,, saya mau membuat sebuah web autentikasi,, sperti yang di atas,, agar nnti si user hanya mengisi nama alamat email dll,, terus dia bisa mendapatkan user dan password untuk wifi tersebut,, gimana caranya ia ?

  4. mas,saya mau tanya kalo autentikasi hanya pengguna pc saja gimana ya mas ?
    jadi ipnya yang terdaftar itu saja,apakah program zeroshell ini bisa ?

    terimakasih

Leave a comment