Remote Access Dial-In User Service (RADIUS)

Selamat Pagi, Siang, Sore , Malem..... :D. Posting pertama di bulan Agustus, setelah dua bulan kgak ngeblog.hehe... Artikel yang akan saya share disini merupakan kelanjutan atau masih berhubungan dengan artikel yang sebelumnya yakni tentang PPTP dan L2TP, jika anda belum baca silakan dibaca biar nambah pengetahuannnya. :)

Pada artikel ini saya akan menshare tentang RADIUS, singkatan dari Remote Access Dial-In User Service. Terdiri dari pengenalan, karakteristik, cara kerja dan contoh implementasi. Mungkin secara singkatnya saja, namun jika anda masih belum mengerti dan paham silakan tanya mbah google saja.hehe...

Pengenalan

Remote Access (pada sebagian literatur Authentication) Dial-In User Service, yang sering disingkat menjadi RADIUS, adalah sebuah protokol keamanan komputer yang digunakan untuk melakukan autentikasi, otorisasi, dan pendaftaran akun pengguna secara terpusat untuk mengakses jaringan. RADIUS didefinisikan didalam RFC 2865 dan RFC 2866, yang pada awalnya digunakan untuk melakukan autentikasi terhadap akses jaringan jarak jauh (remote) dengan menggunakan koneksi dial-up.

RADIUS kini telah diimplementasikan untuk melakukan autentikasi terhadap akses jaringan secara jarak jauh dengan menggunakan koneksi selain dial-up, seperti halnya Virtual Private Networking (VPN), access point nirkabel, switch Ethernet, dan perangkat lainnya.

RADIUS mula-mula dikembangkan oleh perusahan Livingston. Pada awal pengembangannya, RADIUS menggunakan port 1645, yang ternyata bentrok dengan layanan “datametrics”. Sekarang, port yang dipakai RADIUS adalah port 1812. Berikut ini adalah RFC (Request For Comment) yang berhubungan dengan RADIUS:
  • RFC 2865 : Remote Authentication Dial-In User Service (RADIUS)
  • RFC 2866 : RADIUS Accounting
  • RFC 2867 : RADIUS Accounting for Tunneling
  • RFC 2868 : RADIUS Authentication for Tunneling
  • RFC 2869 : RADIUS Extensions
  • RFC 3162 : RADIUS over IP6
  • RFC 2548 : Microsoft Vendor-Specific RADIUS Attributes
Karakteristik

Beberapa karakteristik dari RADIUS adalah sebagai berikut:
  • Berbasis UDP Protocol
  • Bisa ditempatkan dimana saja di internet dan dapat membuat autentikasi (PPP, PAP, CHAP, MS-CHAP, EAP) antara Network Access Server (NAS) dan server itu sendiri
  • RADIUS menggunakan Remote Access Server (RAS) Secure ID untuk membuat autentikasi yang kuat dalam pengontrolan akses
Struktur paket data RADIUS bisa digambarkan sebagai berikut:

Paket Data RADIUS

Code, memiliki panjang satu oktet dan digunakan untuk membedakan tipe pesan RADIUS yang dikirimkan pada paket. Kode-kode tersebut (dalam desimal) antara lain:
1. Access-Request
2. Access-Accept
3. Access-Reject
4. Accounting-Request
5.Accounting-Response
11.Access-Challenge
12. Status-Server
13. Status-Client
255. Reserved


Identifier, Memiliki panjang satu oktet dan bertujuan untuk mencocokkan permintaan.

Length, Memiliki panjang dua oktet, memberikan informasi mengenai panjang paket.

Authenticator, Memiliki panjang 16 oktet, digunakan untuk membuktikan balasan dari RADIUS server, selain itu digunakan juga untuk algoritma password.

Attributes, Berisikan informasi yang dibawa pesan RADIUS. Setiap pesan dapat
membawa satu atau lebih atribut. Contoh atribut RADIUS: nama pengguna, password, CHAP-password, alamat IP access point (AP), pesan balasan.


Cara Kerja


RADIUS menggunakan konsep AAA (Authentication, Authorization, Accounting). Konsep tersebut dapat digambarkan sebagai berikut:

Aliran Data Pada RADIUS
  • Access Reject
    User ditolak aksesnya ke semua sumberdaya dalam jaringan. Penyebabnya bisa termasuk kegagalah untuk menyediakan indentifikasi yang tepat atau nama akun yang salah/tidak aktif
  • Access Challenge
    Permintaan informasi tambahan dari user, seperti password alteernatif, PIN, token atau kartu.
  • Access Accept
    User diberikan akses masuk. Begitu User ter-autentifikasi, server RADIUS akan sering mengecek agar User hanya menggunakan sumberdaya sesuai dengan yang diminta. Misalnya User hanya boleh mengakses fasilitas hotspot, dan tidak untuk menggunakan printer. Informasi tentang User dalam database bisa disimpan secara lokal dalam server RADIUS atau disimpan dalam tempat penyimpanan eksternal seperti LDAP atau Active Directory
Proses Authentication
    Proses autentikasi diperlukan ketika Anda mempunyai kebutuhan untuk membatasi siapa saja yang diperbolehkan masuk ke dalam jaringan remote access milik Anda. Untuk memenuhi kebutuhan tersebut, pengguna yang ingin mengakses sebuah jaringan secara remote harus diidentifikasi terlebih dahulu. Pengguna yang ingin masuk ke dalam jaringan pribadi tersebut perlu diketahui terlebih dahulu sebelum bebas mengakses jaringan tersebut. Pengenalan ini bertujuan untuk mengetahui apakah pengguna tersebut berhak atau tidak untuk mengakses jaringan.
    Analoginya sederhananya adalah seperti rumah Anda. Apabila ada orang yang ingin berkunjung ke rumah Anda, kali pertama yang akan dilakukan oleh pemilik rumahnya adalah mengidentifikasi siapa yang ingin datang dan masuk ke dalamnya. Jika Anda tidak mengenal orang tersebut, bisa saja Anda tolak permintaannya untuk masuk ke rumah Anda. Namun jika sudah dikenal, maka Anda mungkin akan langsung mempersilakannya masuk. Demikian juga dengan apa yang dilakukan oleh perangkat remote access terhadap pengguna yang ingin bergabung ke dalam jaringan di belakangnya.
    Pada umumnya, perangkat remote access telah dilengkapi dengan sebuah daftar yang berisikan siapa-siapa saja yang berhak masuk ke jaringan di belakangnya. Metode yang paling umum digunakan untuk mengenali pengakses jaringan adalah dialog Login dan Password. Metode ini juga didukung oleh banyak komponen lainnya, seperti metode challenge dan response, messaging support, dan enkripsi, tergantung pada protokol sekuriti apa yang Anda gunakan.
Proses Authorization
    Proses authorization merupakan langkah selanjutnya setelah proses autentikasi berhasil. Ketika pengguna yang ingin mengakses jaringan Anda telah dikenali dan termasuk dalam daftar yang diperbolehkan membuka akses, langkah berikutnya Anda harus memberikan batasan hak-hak apa saja yang akan diterima oleh pengguna tersebut.
    Analogi dari proses ini dapat dimisalkan seperti peraturan-peraturan yang tertempel di dinding-dinding rumah Anda. Isi dari peraturan tersebut biasanya akan membatasi para pengunjung agar mereka tidak dapat dengan bebas berkeliling rumah Anda. Tentu ada bagian yang privasi di rumah Anda, bukan? Misalnya setiap pengunjung rumah Anda tidak diperbolehkan masuk ke ruang kerja Anda. Atau setiap pengunjung harus membuka alas kakinya ketika memasuki ruangan ibadah di rumah Anda. Atau setiap pengunjung hanya diperbolehkan masuk sampai teras rumah.
    Semua itu merupakan peraturan yang dapat dengan bebas Anda buat di rumah Anda. Begitu juga dengan apa yang terjadi pada proses pengamanan jaringan remote access Anda. Perlu sekali adanya batasan untuk para pengguna jaringan remote karena Anda tidak akan pernah tahu siapa yang ingin masuk ke dalam jaringan Anda tersebut, meskipun telah teridentifikasi dengan benar. Bisa saja orang lain yang tidak berhak menggunakan username dan password yang bukan miliknya untuk mendapatkan akses ke jaringan Anda.
    Bagaimana untuk membatasi masing-masing pengguna tersebut? Banyak sekali metode untuk melakukan pembatasan ini, namun yang paling umum digunakan adalah dengan menggunakan seperangkat atribut khusus yang dirangkai-rangkai untuk menghasilkan policy tentang hak-hak apa saja yang dapat dilakukan si pengguna. Atribut-atribut ini kemudian dibandingkan dengan apa yang dicatat di dalam database.
    Setelah dibandingkan dengan informasi yang ada di database, hasilnya akan dikembalikan lagi kepada fasilitas AAA yang berjalan pada perangkat tersebut. Berdasarkan hasil ini, perangkat remote access akan memberikan apa yang menjadi hak dari si pengguna tersebut. Apa saja yang bisa dilakukannya dan apa saja yang dilarang sudah berlaku dalam tahap ini.
    Database yang berfungsi untuk menampung semua informasi ini dapat dibuat secara lokal di dalam perangkat remote access atau router maupun dalam perangkat khusus yang biasanya disebut dengan istilah server sekuriti. Di dalam server sekuriti ini biasanya tidak hanya informasi profil penggunanya saja yang ditampung, protokol sekuriti juga harus berjalan di sini untuk dapat melayani permintaan informasi profil dari perangkat-perangkat yang berperan sebagai kliennya. Pada perangkat inilah nantinya attribute-value (AV) dari pengguna yang ingin bergabung diterima dan diproses untuk kemudian dikembalikan lagi menjadi sebuah peraturan oleh fasilitas AAA tersebut.
    Metode authorization biasanya dilakukan dalam banyak cara. Bisa dilakukan dengan cara one-time authorization yang memberikan seluruh hak dari si pengguna hanya dengan satu kali proses authorization. Atau bisa juga dilakukan per service authorization yang membuat pengguna harus diotorisasi berkali-kali ketika ingin menggunakan layanan tertentu. Authorization juga bisa dibuat per pengguna berdasarkan daftar yang ada di server sekuriti, atau kalau protokolnya mendukung otorisasi bisa diberlakukan per group pengguna. Selain itu, jika keamanan server memungkinkan, Anda dapat memberlakukan aturan-aturan otorisasi berdasarkan sistem pengalamatan IP, IPX, dan banyak lagi
Proses Accounting
    Proses accounting dalam layanan koneksi remote access amat sangat penting, apalagi jika Anda membuat jaringan ini untuk kepentingan komersial. Dalam proses accounting ini, perangkat remote access atau server sekuriti akan mengumpulkan informasi seputar berapa lama si pengguna sudah terkoneksi, billing time (waktu start dan waktu stop) yang telah dilaluinya selama pemakaian, sampai berapa besar data yang sudah dilewatkan dalam transaksi komunikasi tersebut. Data dan informasi ini akan berguna sekali untuk pengguna maupun administratornya. Biasanya informasi ini akan digunakan dalam melakukan proses auditing, membuat laporan pemakaian, penganalisisan karakteristik jaringan, pembuatan billing tagihan, dan banyak lagi. Fasilitas accounting pada jaringan remote access umumnya juga memungkinkan Anda untuk melakukan monitoring terhadap layanan apa saja yang digunakan oleh pengguna. Dengan demikian, fasilitas accounting dapat mengetahui seberapa besar resource jaringan yang Anda gunakan. Ketika fasilitas AAA diaktifkan pada sebuah perangkat jaringan remote access, perangkat tersebut akan melaporkan setiap transaksi tersebut ke keamanan server. Tergantung pada protokol sekuriti apa yang Anda gunakan, maka cara melaporkannya pun berbeda-beda. Setiap record accounting akan mempengaruhi nilai-nilai atribut dari proses AAA yang lain seperti authentication dan authorization. Semua informasi yang saling terkait ini kemudian disimpan di dalam database server sekuriti atau jika memang diperlukan, kumpulan informasi ini dapat disimpan di server khusus tersendiri. Biasanya server khusus billing diperlukan jika penggunanya sudah berjumlah sangat banyak. Berikut ini adalah contoh cara kerja RADIUS:
    1. Sebuah Wireless Node (WN) / Supplicant dengan alamat IP 192.168.10.30 dan IP yang telah terdaftar dalam pemfilteran MAC ADDRESS meminta akses ke wireless network atau Access Point (AP).

    2. Access Point (AP) akan menanyakan identitas Supplicant. Tidak ada trafik data selain Client yang diperbolehkan sebelum Supplicant terautentikasi. Dalam hal ini, Access point bukanlah sebuah autentikator, tetapi access point berisi autentikator.

    3. Setelah nama-pengguna dan password dikirim, proses autentikasi dimulai. Autentikator mengenkapsulasi kembali pesan ke dalam format RADIUS, dan mengirimnya ke RADIUS server. Selama proses autentikasi, autentikator hanya menyampaikan paket antara Supplicant dan RADIUS server. Setelah proses autentikasi selesai, RADIUS server mengirimkan pesan sukses (atau gagal, apabila proses autentikasinya gagal.) Apabila proses autentikasi sukses, Supplicant diperbolehkan untuk mengakses wireless LAN dan/atau internet.

    4. Jika nama Supplicant tidak terautentifikasi, maka radius server akan mengirim pesan gagal. Dan proses authentifikasi tidak berjalan atau gagal.
Contoh Implementasi

RADIUS umumnya digunakan oleh ISP (Internet Service Provider) atau penyedia layanan internet untuk melakukan Authentication (pembuktian keaslian pengguna), Authorize (mengatur pemberian hak/otoritas) dan Accounting (mencatat penggunaan layanan yang digunakan).

RADIUS menjalankan sistem administrasi pengguna yang terpusat. Sistem ini akan mempermudah tugas administrator. Dapat kita bayangkan berapa banyak jumlah pelanggan yang dimiliki oleh sebuah ISP, dan ditambah lagi dengan penambahan pelanggan baru dan penghapusan pelanggan yang sudah tidak berlangganan lagi.

Apabila tidak ada suatu sistem administrasi yang terpusat, maka akan merepotkan administrator dan tidak menutup kemungkinan ISP akan merugi atau pendapatannya berkurang.

Dengan sistem ini pengguna dapat menggunakan hotspot di tempat yang berbeda-beda dengan melakukan autentikasi ke sebuah RADIUS server.

No comments:

Post a Comment