Monday, April 23, 2012

Single Sign On Hotspot di Mikrotik Dengan Radius

Dalam kesempatan ini akan dijelaskan langkah-langkah membuat single sign-on (SSO) akses hotspot di beberapa router board Mikrotik menggunakan Radius Server di router board Mikrotik juga. Dengan menggunakan Radius Server berbasis router board Mikrotik, diharapkan bisa mendayagunakan router yang telah ada. Ini akan lebih praktis ketimbang menggunakan server linux yang diinstalasi Free Radius.

Asumsi yang digunakan adalah, kita memiliki 2 router board RB1000 yang masing-masingnya menangani akses hotspot secara terpisah. 2 router ini selanjutnya di sebut Router1 dan Router2. Baik Router1 maupun Router2 masing masing memiliki Access Point (AP). User hotspot di Router1 tidak bisa login di Router2, kecuali ia memiliki akun hotspot yang identik.

Ini tentunya akan cukup repot jika ada user yang ingin bisa akses di semua hotspot dengan akun tunggal. Kita harus memasukkan data akun di kedua router. Karena di kantor kami ada 7 router, maka saya harus memasukkan setiap user ke 7 router. Bisa dibayangkan repotnya. Idealnya, sekali memasukkan akun, bisa digunakan di semua router. Kebetulan di tempat saya kerja, satu router untuk menangani satu kawasan atau cabang.

Untuk membuat prototip sistem SSO, perlu disiapkan 2 buah router board RB1000, 2 buah access point Senao ECB 3220, sebuah switch apa saja, 2 buah notebook yang ada wireless adapternya, 1 buah komputer yang ada NIC-nya. Komputer ber-NIC digunakan untuk menjalankan Winbox dan bisa mengakses kedua router board sekaligus. Untuk memudahkan konfigurasi.

Setelah semua perangkat disiapkan, satu persatu perangkat ini dikonfigurasi. Kelihatannya proses konfigurasi sih gampang, tapi nyatanya wasting time juga karena harus mempersiapkan ini itu, belum lagi mengerjakannya inti pekerjaannya. Intinya adalah setting radius itu sendiri.

Untuk mengkonfigurasi, dibutuhkan pemahaman tentang :
  1. Mengkonfigurasit RB1000 yang awalnya tidak diketahui IP address-nya. 
  2. Mengkonfigurasi dan memastikan RB1000 bisa mendukung layanan hotspot dan bisa untuk koneksi ke Internet
  3. Memasang DHCP Server di RB1000
  4. Mengkonfigurasi Access Point Senao ECB 3220 yang tidak diketahui status awalnya
  5. Instalasi paket User Manager di Mikrotik RouterOS
  6. Instalasi Radius Server di Mikrotik
  7. Instalasi Radius Client di Mikrotik
  8. Cara menghapus Hotspot Cookies dan DHCP Lease di Mikrotik
Instalasi paket User Manager di Mikrotik RouterOS

Setting radius terbentur pada paket user manager. Setelah mendownload dari www.mikrotik.com, ternyata versi user manager-nya 5.15. Padahal versi RouterOS nya 5.7. Karena gak cocok, paket user manager gak bisa diinstalasi.

Apabila anda menggunakan RouterOS 5.7, maka anda juga harus menginstall user manager dari versi 5.7 juga (tidak bisa berbeda versi). Menurut layanan pelanggan www.mikrotik.co.id, untuk mendownload user manager versi 5.7 bisa di-download di http://www.routeros.co.id

Melihat versi RouterOS bisa dengan 2 cara :
  1. Winbox -> System -> Packages
  2. Winbox -> New Terminal

Langkah secara umum instalasi user manager adalah :
  1. Masuk ke situs http://www.routeros.co.id
  2. Masuk ke versi 5.7
  3. Pilih file all_packages-ppc-5.7.zip, lalu download.
  4. Extrak file all_packages-ppc-5.7.zip, sehingga terlihat ada file user-manager-5.7-ppc.npk.
  5. Buka 2 jendela, winbox dan ftp. Winbox masuk ke menu Files. Pindahkan file user-manager-5.7-ppc.npk ke Winbox Files. Pindahkan ke root-nya.
  6. Reboot si Mikrotik
Atau bisa lihat di http://alam-hadi.blogspot.com/2011/08/install-user-manager-mikrotik.html
Selanjutnya adalah setting Radius Server Internal di Mikrotik. Cara bisa melihat di : http://nurmanto.com/cara-setting-radius-dengan-mikrotik-os/

Setelah mengikuti kedua artikel di atas, kenapa login ke userman ditolak? Pesan kesalahannya : invalid username or password.

Saya coba masuk via Winbox lalu masuk ke Terminal.
[msmunir@kuningan#] > tool user-manager customer print
Flags: X - disabled
 0   login="admin" password="nihongonga" backup-allowed=yes time-zone permissions=owner parent=admin signup-allowed=no paypal-allowed=paypal-secure-response=no paypal-accept-pending=no
[msmunir@kuningan#] >

Dari informasi di atas terlihat bahwa, password userman ternyata tidak kosong tetapi ada isinya, yaitu nihongonga. Inilah penyebab tampilnya pesan kesalahan "invalid username or password". Untuk mengganti password, masuk ke userman lalu pilih menu Customers, double click admin, lalu masukkan password yang baru.

Instalasi Radius Server di Mikrotik

Untuk instalasi Radius Server, ada 2 langkah besar yang perlu dilakukan :
  1. Setting di Winbox: IP - Hotspot - Server Profiles dan Radius
  2. Setting di User Manager : Routers, Users, Customers, dan Profiles.
IP - Hotspot - Server Profiles - General :
Name: default
HTML Directory: hotspot

IP - Hotspot - Server Profiles - Login :
Login By: HTTP CHAP, Cookie
HTTP Cookie Lifetime: 3d 00:00:00

IP - Hotspot - Server Profiles - RADIUS :
Use RADIUS : enable
MAC Format: XX:XX:XX:XX:XX:XX
Accounting : enable
NAS Port Type: 19 (wireless-802.11)

Routers : semua router yang mau di link ke radius server ini perlu didaftarkan. Yang perlu diketahui adalah identitas router, IP Address dan shared secret.
Users : semua user wajib didaftarkan di sini. Nama lengkap, No. HP, Kawasan, Nama Satker, bisa ditampung di sini. Menu inilah yang akan sering di-update.
Customers : untuk ganti password admin ke user manager
Profiles : yang penting diisi, kalau gak diisi nanti client gak bisa login.
Instalasi Radius Client di Mikrotik

IP - Hotspot - Server Profiles - RADIUS
Use RADIUS : enable
MAC Format: XX:XX:XX:XX:XX:XX
Accounting : enable
NAS Port Type: 19 (wireless-802.11)

Radius - Add - General :
Service: hotspot
Address: 192.168.0.2
Secret: kng

Rencana Implementasi Single Sign On Hotspot

Dengan berhasilnya implementasi prototip ini, maka akan dilakukan penataan ulang akun hotspot di seluruh lembaga. Puluhan hotspot akan diintegrasikan dalam sebuah password tunggal. Perlu ada pembagian tugas antara router kawasan dan radius server. Konsep pembagian yang ada dibenak saya adalah :
  1. Router kawasan untuk menampung pengguna di kawasan tersebut. Pengguna yang tidak berdomisili di kawasan tersebut akan di-delete
  2. Radius Server untuk menampung pengguna yang nomaden, meskipun hanya lintas 2 kawasan. Akan lebih baik jika ybs lintas di 7 kawasan.
Ini akan lebih baik jika harus menggeser semua pengguna ke Radius Server. Jika Radius Server lumpuh, maka koneksi oleh banyak orang akan terganggu.

Beberapa pesan kesalahan yang mungkin tampil di sisi client atau user :
  1. no valid profile found : ini kayaknya gara-gara profile di userman belum dibuat
  2. web browser did not send challenge response (try again, enable JavaScript)
  3. RADIUS server is not responding : ini gara-gara alamat IP Radius Server salah isi
  4. user not found : isi sih gara-gara usernya emang gak ada atau blom dibuat
  5. Layar form login ke Mikrotik di sisi client blinking : ini gara-gara wired-nya (UTP) ke colok ke switch
  6. invalid username or password : karena lupa password atau salah password saat masuk ke userman
Beberapa tulisan yang perlu dibaca adalah :
  1. Install User Manager Mikrotik : http://alam-hadi.blogspot.com/2011/08/install-user-manager-mikrotik.html 
  2. Cara Setting Radius Dengan Mikrotik OS : http://nurmanto.com/cara-setting-radius-dengan-mikrotik-os/
  3. Radius Server Mikrotik : http://50rry.wordpress.com/2011/07/04/radius-server-mikrotik/
  4. Setting Radius dan hotspot Mikrotik : http://catatan-squid.com/mikrotik/13-mikrotik/21-setting-radius-dan-hotspot-mikrotik
  5. Mikrotik Radius pada jaringan Beberapa router : http://rtrw.net/jaringan/mikrotik-radius-pada-jaringan-beberapa-router/?wap2
  6. Radius Server Mikrotik : http://maone032.wordpress.com/2008/07/22/radius-server-mikrotik/
  7. Download paket user manager : http://www.mikrotik.com/download.html
  8. NEW User Manager v5 : http://mum.mikrotik.com/presentations/ID11/id-doni.pdf 







PENGINGAT
 

Suatu kali saya lupa tentang cara mengoperasikan SSO ini. User manager saya letakkan di router yang mana, kemudian alamat situsnya apa dan akunnya apa. 

Langkah 1:
Untuk lihat Radius Server ada di router mana, terpaksa cek satu per satu router yang ada. Setelah bisa login dengan Winbox, masuk ke menu System  lalu Packages. Perhatikan apakah ada paket "user-manager" gak. Jika ada, kemungkinan pengendali SSO atau Radius Server ada di router ini. Catat alamat IP router ini. (KPB, bukan NOC).

Langkah 2:
Dengan menggunakan web browser, arahkan ke alamat http://ip_address/userman. Ganti ip_address dengan alamat IP router hasil pelacakan pada langkah 1. Jika muncul tampilan username dan password, kemungkinan besar SSO dikendalikan dari router ini.

Langkah 3:
Memasukkan username dan password. Yang pasti usernya admin, namun password harus diingat-ingat dulu. 

Untuk keperluan uji coba di lab, Radius Server saya letakkan di 192.168.16.7.  Sedangkan Radius Client adalah 192.168.16.4.