RANCANG BANGUN RADIUS SERVER PADA JARINGAN VPN MENGGUNAKAN IPV6 Ajeng Retno Yuniar Rahmi1, M.Zen Samsono Hadi, ST, MSc1, Ir. Nanang Syahroni, Mkom1 Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember,Kampus ITS,Surabaya 6011 e-mail :
[email protected] Abstrak - Dengan semakin berkembangnya mobilitas manusia, maka kebutuhan akan layanan informasi yang mobile (dapat diperoleh dimana saja) juga semakin diperlukan. Namun demikian, adakalanya informasi penting yang dibutuhkan merupakan informasi rahasia yang tidak semua orang boleh mengaksesnya. Oleh karena itu dibutuhkan adanya suatu jaringan yang mengkhususkan user tertentu untuk mengakses data pribadi dari suatu server (misalnya dari perusahaan yang memiliki anak cabang yang banyak). Karena mobilisasi sudah sangat dibutuhkan, maka digunakan jaringan public yang seolah-olah dibuat private. Dalam hal ini kita menyebutnya dengan VPN (Virtual Private Network). Jaringan VPN ini memberikan layanan yang bersifat private meskipun sebenarnya data atau informasi yang disampaikan melewati jaringan public. Pengalamatan yang diberikan untuk VPN server ini sendiri dibuat dengan IPv6. Dimana Ipv6 memiliki tingkat kerumaitan dan alamat yang lebih luas. Untuk proses pengenalan user oleh server diberikan suatu system yang disebut RADIUS (Remote Authentication Dial-In User Service). Hasil yang diperoleh dari proyek akhir ini adalah dihasilkannya suatu jaringan vpn yang support untuk Ipv6 dan client yang berbeda OS dengan Server dengan sistem RADIUS Server sebagai autentikasi untuk clientnya. Kata Kunci - RADIUS server, Authentication, Autorization, Accounting, VPN(Virtual Private Network) 1.
PENDAHULUAN
Adakalanya suatu perusahaan atau badan pendidikan memiliki data-data penting yang tidak boleh diketahui oleh semua orang. Hanya karyawan dari perusahaan atau lembaga tersebut yang boleh mengakses data tersebut. Hal ini dapat ditanggulangi dengan penggunaan jaringan LAN (Local Area Network) untuk akses data di kantor tersebut. Namun bagaimana dengan perusahaan yang memiliki cabang di tempat yang jauh terpisah? Pastinya dibutuhkan suatu akses yang menggunakan jaringan publik. Namun, Jaringan publik mempunyai kelemahan yaitu kurangnya keamanan informasi, untuk mengatasi hal itu maka digunakanlah teknologi VPN (Virtual Private Network) pada jaringan tersebut. Sementara pada pihak server, untuk menambah security Network system diberikan suatu proses yang dinamakan RADIUS Server yang menerapkan proses 3A/AAA yaitu Authentikation, Accounting, dan Autorization. AAA adalah sebuah model akses jaringan yang memisahkan tiga macam fungsi kontrol, yaitu Autentikasi(ijin masuk), Autorisasi (hak akses), dan Akunting (pencatatan kegiatan), untuk diproses secara independen.
Pada Tugas Akhir ini akan dibuat sebuah Rancang Banggun RADIUS server yang memiliki proses Autentikasi, Accounting dan Authorisasi yang digabungkan dengan suatu bentuk jaringan yang berbasis VPN sehingga diharapkan tercipta suatu bentuk Security Network System yang selain mampu melindungi informasi pelanggan pada jaringan public, tapi juga dapat mengetahui kegiatan client. 2.
LANDASAN TEORI
2.1 RADIUS SERVER RADIUS (Remote Access Dial-in User Service) Server atau dalam penelitian ini disebut sebagai authenticator server adalah sebuah model akses jaringan yang memisahkan tiga macam fungsi kontrol, yaitu Authentication, Authorization, dan Accounting, untuk diproses secara independen. Psds penelitian ini, RADIUS server yang digunakan adalah freeradius yang merupakan aplikasi dari RADIUS Server. Protokol AAA (Authentication, Authorization, Accounting) mengatur mekanisme bagaimana tata cara berkomunikasi, baik antara client ke domainjaringan maupun antar client dengan domain yang berbeda dengan tetap menjaga keamanan pertukaran data. AAA framework, merupakan
1
arsitektur kerja atau framework, digunakan sebagai background yang diperlukan untuk mengenali cara kerja RADIUS secara keseluruhan. Model AAA mempunyai fungsi yang berfokus pada tiga aspek dalam mengontrol sebuah user yaitu: a)
2.3 VPN (Virtual Private Network) Konsep kerja VPN pada dasarnya membutuhkan sebuah server yang berfungsi sebagai penghubung antar PC. Jika digambarkan seperti gambar 2.2 berikut ini:
Autentikasi (Authentication): yaitu proses pengesahan identitas pengguna (end user) untuk mengakses jaringan.
b) Autorisasi (Authorization); merupakan proses pengecekan wewenang pengguna, mana saja hak-hak akses yang diperbolehkan dan mana yang tidak. c)
Pencatatan (Accounting); merupakan proses pengumpulan data informasi seputar berapa lama user melakukan koneksi dan billing time yang telah dilalui selama pemakaian.
2.2 DIALUPADMIN Dialupadmin adalah interface berbasis PHP (php3) yang khusus digunakan untuk mengontrol freeradius. Dialup Admin juga digunakan utnuk memonitoring aktivitas client dan melihat trafik serta statistic client. Karena diletakkan pada direktori yang berbarengan dengan web akses client maka diperlukan adanya pembatasan akses untuk halaman dialupadmin ini. Pembuatannya dapat dialkukan dengan bantuan utility htpasswd (disediakan oleh web server apache). Tampilan permintaan hak akses yang dihasilkan ditunjukkan seperti pada gambar 2.1 sebagai berikut:
Gambar 2 Konfigurasi VPN Pertama-tama Server harus dikonfigurasi terlebih dahulu kemudian di client harus diinstall program VPN. Lalu setelah itu antara server dan client baru dapat melakukan koneksi. Karena VPN bersifat pribadi, yang menggunakan ruang alamat pribadi juga, bisa jadi dalam pemakaian jaringannya terjadi tumpang tindih dengan ruang alamat VPN lain pada internet public. Memanfaatkan VPN (Virtual Private Network) yang memberikan keuntungan sbb : 1. 2.
3. 4.
5. 6.
7. 8. Gambar 1 htaccess pada Dialupadmin
Anonymous surfing (menjelalah internet tanpa terlacak) Keamanan informasi yang diterima atau dikirim melalui internet dengan enkripsi standar VPN 128 bit / 1024 bit Dapat mengakses apapun situs yang memblok IP dari Indonesia Melindungi komputer dari serangan virus, malware, worm, trojan, dsb, karena saat Anda online IP yang digunakan ada IP server VPN bukan IP user Menjaga keamanan User dan Password dari sniffers Menaikkan kembali kecepatan bagi pelanggan ISP atau Provider tertentu dengan batasan Quota, jika telah melebihi Quota yang ditentukan Bypass semua blok yang dilakukan ISP , seperti download torrent dan leecher Mempercepat koneksi yang terhubung dengan hotspot (dengan bandwith limiter)
2.4 IPv6 Alamat IP versi 6 (sering disebut sebagai alamat IPv6) adalah sebuah jenis pengalamatan jaringan yang digunakan di dalam protokol jaringan TCP/IP yang menggunakan protokol IP versi 6. Panjang totalnya adalah 128-bit, dan secara teoritis dapat mengalamati hingga 2128=3,4 x 1038 host komputer di seluruh dunia. Dari sisi keamanan, IPv6 lebih aman dibanding IPv4. Sebab, IPv6 menggunakan protokol keamanan IPSec, yang sudah menjadi satu bagian (embedded) di dalam stack protocol atau peranti lunak. Berikut ini adalah perbedaan header dari IPv4 dan IPv6;
Jika terjadi permintaan koneksi oleh client maka akan terjadi proses seperti berikut: 1.
Melewati jaringan public dengan penggunaan ip public dengan tahapan tunneling dan enkripsi 2. Melalui vpn gateway maka akan ditanyakan username dan password 3. Melewati switch menuju pc RADIUS server lalu diidentifikasi dengan memberikan system Authentication, Authorization, dan Accounting Proses tersebut juga akan dijelaskan lebih lanjut melalui flowchart yang digambarkan pada gambar 3.2 berikut:
Gambar 3 Perbandingan Struktur Header IPv4 dan IPv6 Dari segi struktur, header IPv6 didesain mempunyai lebih sedikit field dibandingkan dengan IPv4. Panjang header yang selalu tetap dan fragmentasi yang terbatas pada paket IPv6 yang terbatas akan membuat router menjadi lebih cepat dalam memproses paket IPv6. 3.
METODOLOGI
3.1 Perencanaan Sistem
Gambar 5 Flowchart sistem
Gambar 4 Rancang Bangun Sistem Pada sisi tunneling dengan VPN akan diberikan pengalamatan berupa IPv6. Dimana pada protokol IP versi 6 memiliki Panjang total 128-bit, dan secara teoritis dapat mengalamati hingga 2128=3,4 x 1038 host komputer di seluruh dunia.
Apabila ada permintaan koneksi dari client maka akan dihubungkan dengan server VPN yang menanyakan kesamaan sertifikat antara server dan client VPN. Apabila sertifikat antara client dengan server sama, maka client diijinkan masuk lebih jauh ke sistem server. Selanjutnya aplikasi RADIUS Server akan bekerja untuk mengautentikasi client yang akan mengakses data dari server. Jika autentikasi berhasil selanjutnya client diijinkan mengakses data dari server. Kemudian dilakukan proses authorisasi (semacam pengalokasian client)
untuk memberikan hak akses apa saja yang boleh diakses oleh client. Dari server sendiri akan memonitoring kegiatan client dengan aplikasi Dialupadmin. 3.1 Instalasi dan Konfigurasi RADIUS Server Radius Server freeradius merupakan paket bagian dari instalasi Linux. Tahap awal untuk mengkonfigurasi RADIUS server adalah dengan menginstall aplikasi freeradius pada pc yang akan digunakan sebagai server Radius. 3.2 Pembuatan Database untuk freeradius Untuk mendukung paket freeradius diperlukan database untuk menyimpan data-data client. Berikut tabel-tabel yang ditambahkan untuk paket-paket freeradius: Tabel 1 Isi tabel dalam database radius
Fungsi dari tabel-tabel tersebut yaitu: 1) tabel radaact merupakan bagian terpenting dalam accounting FreeRADIUS dimana tabe1 ini berfungsi menyimpan semua data user client yang terkoneksi terhadap FreeRADIUS server tersebut. 2) Tabel radcheck berfungsi menyimpan data informasi dari seorang user client yang berupa username, attribute, op (operator) dan value. 3) Tabel radgroupcheck berfungsi untuk membatasi akses dari sebuah groupname user client. 4) Tabel radgroupreply berfungsi untuk me-reply message terhadap suatu groupname. 5) Tabel radreply berfungsi sama seperti raggroupcheck tetapi khusus untuk me-reply message terhadap seorang user wireless client. 6) Tabel usergroup berfungsi untuk menyimpan data – data user yang tergabung ke dalam suatu groupname. 7) Tabel radpostauth berfungsi untuk menyimpan informasi reply message dari seorang user client pada saat proses authentikasi. 8) Tabel nas digunakan untuk menyimpan data – data RADIUS client yang terhubung ke RADIUS server.
Selain itu ada 4 tabel lagi sebagai paket table dari dialup-admin. Fungsi table-tabel tersebut antara lain : 1) Tabel badusers mencatat users yang gagal login, tanggal login dan alasan penyebabnya. 2) Tabel mtotacct digunakan untuk menyimpan total account bulanan untuk masing-masing user yang pernah login di radius server. 3) Tabel totacct digunakan untuk menyimpan total account harian untuk masing-masing user yang login di radius server. 4) Tabel userinfo menyimpan informasi detail pengguna seperti nama, email, departemen, telepon. 3.3 Instalasi dan Konfigurasi VPN Untuk VPN digunakan aplikasi open source yang berupa OpenVPN dimana aplikasi tersebut menggunakan koneksi point-to point tunnel yang telah terenkripsi. OpenVPN menggunakan private keys, certificate, atau username/password untuk melakukan authentikasi dalam membangun koneksinya. Konfigurasi openvpn pada client dengan OS linux dapat dilakukan dengan melakukan penginstalan paket openvpn-2.2.1 yang berekstensi .deb. Lalu mengkopikan sertifikat yang dibuat di server untuk kemudian dapat dijalankan oleh openvpn client agar dapat terkoneksi dengan server OpenVPN. Sementara untuk client dengan OS windows, openVPN hanya perlu diinstall lalu ditambahkan paket-paket client-nya dan memasangkan ip address server yang akan diremote.
4
PENGUJIAN DAN ANALISA
4.1 Pengujian VPN OpenVPN dapat diakses dari client ketika client tersebut mendapatkan kunci dan sertifikat yang sama yang telah dibuat oleh server OpenVPN.
Gambar 6 Tes Sertifikat Server
Gambar 9 OpenVPN Client Untuk ping IPv6 sendiri dapat dilihatpada gambar 4.2 berikut;
Gambar 9 ping6 ipv6 tun0
4.2 Pengujian RADIUS Server
Gambar 7 Tes Sertifikat Client Dalam kasus ini digunakan client dengan OS Linux debian lenny dan Windows XP. Untuk client dengan Operating System Linux dapat dikatakan client tersebut telah terkoneksi ketika client tersebut berhasil melakukan ping ke alamat IP OpenVPN di server (tun0) dan mendapatkan balasan dari server.
Pengujian RADIUS Server dilakukan dari 2 sisi. Yaitu dari sisi client dan dari sisi server. Pada sisi client diuji apakah akses autentikasi yang diberikan berhasil berjalan atau tidak. Sementara pada sisi server diuji apakah fungsi dialupadmin yang digunakan sebagai remote user yang sedang online berjalan dengan baik atau tidak. Untuk pengujian dari sisi client dapat diamati ketika proses autentikasinya berhasil atau tidak. Hasil pengujian dapat dilihat pada table berikut;
Tabel 3-7 Uji Pengguna Authentikasi RADIUS Server Username Password Berhasil Tidak criminal criminal criminal Criminal criminal CRIMINAL Enok ajeng enok ajeng Gambar 8 keberadaan tun0
Sementara untuk client dengan OS windows XP pertama-tama dilakukan klik kanan OpenVPN, lalu pilih menu connect. Jika pada pesan balasan tidak terdapat pesan error, seperti pada gambar 4.1, maka openVPN bekerja dengan baik.
Dapat dilihat dari tabel di atas, ketika username benar (sesuai) namun password yang dimasukkan tidak sesuai huruf besar-kecilnya, maka akses untuk masuk ke halaman login akan gagal. Hal ini disebabkan karena pada program halaman login, akses untuk password dipasang sensitive font dengan cara menambahkan perintah REGEXP pada field password. Selain itu juga dengan menambahkan model collation pada database radius pada tabel radcheck untuk field value dengan jenis “latin1_general_cs”. Penambahan ini tidak dilakukan pada field username sehingga jika username tidak sesuai besar-kecilnya huruf tidak akan mempengaruhi proses login dan pencocokan ke database.
Gambar 4.4 Awal Client Jika ingin masuk halaman login, klik “Click Here for Login”, lalu akan masuk halaman login seperti tampilan gambar 4.3 berikut ini:
Gambar 4.5 Login Jika username dan password yang dimasukkan oleh client telah terdaftar di database server, maka client tersebut dapat masuk ke halaman web yang ingin diakses.
Gambar 4.6 Access berhasil Sementara di sisi server, akan dilakukan pengujian dengan mengamati akses client yang sedang aktif di dialupadmin. Akses dialup-admin yang diakses dari server juga bersifat rahasia, oleh karena itu dibutuhkan suatu pengamanan dengan menyantumkan user server dan password server. Hak tersebut diatur dalam pembuatan htaccess. Setelah hak akses diterima, maka Dialupadmin dapat dibuka.
5
KESIMPULAN
Setelah membuat rancang bangun RADIUS server dengan VPN ini diperoleh kesimpulan sebagai berikut : 1.
2. 3. 4.
5.
6
Pada pengecekan password terdapat case sensitive dimana pada saat memasukkan password tidak boleh salah huruf besar atau kecilnya. Koneksi client-server dengan client yang berbeda OS sudah dapat dilakukan Interkoneksi antara VPN dengan Ipv6 sudah dapat dilakukan Untuk Koneksi OpenVPN client dengan server diperlukan key yang sama yang dibuat oleh server sebagai sertifikat yang memberikan kepercayaan bagi client untuk mengakses data dari server. Perbandingan kecepatan akses data antara interface eth0 dengan tun0 lebih cepat eth0.
DAFTAR PUSTAKA 1.
2.
3.
2.
Andersson & Madsen. “Provider Provisioned VPN Terninology”,RFC 4026, March 2005 M.Zen Samsono Hadi. “Modul Praktikum 12 OpenVPN”, Politeknik Elektronika Negeri Surabaya. 2008 Stritusta Sukaridhoto. “Buku Jaringan Komputer 2”, Politeknik Elektronika Negeri Surabaya. 2008 C. Rigney, S. Willens, A. Rubens, W. Simpson, “Remote Authentication Dial In User Service (RADIUS)”, RFC 2138, 1997, http://www.ietf.org/rfc/rfc2138.txt, (7 Mei 2008)
3.
Darmariyadi, A. , “Remote Access Dial-In User Service dan Aspek Keamanannya”, Laporan Akhir EC7010 ITB, 2003, http://www.cert.or.id/~budi/courses/ec7010/ 2003/index.html, (6 Mei 2008)
4.
H. Ventura, “DIAMETER Next Generation’s AAA Protocol”, Master Thesis in nformation Theory, Linköpings University, 2002, http://www.divaportal.org/liu/abstract.xsql? dbid=1195 , (6 Mei 2008)
5.
J. Hassel, RADIUS, O’Reilly, 2002
6.
Muh Ahyar.”Implementasi Mobile-IPv6 di PENS-ITS”, Tugas Akhir Politeknik Elektronika Negeri Surabaya. 2008
7. Hagino. “IPv6 Network Programming”, Elsevier Digital Kingdom. 2005
Press
Uniited