Implementasi Autentikasi pada Virtual Private Network
(VPN) Menggunakan Kerberos
Artikel Ilmiah
Kuncoro Satriyo (672010279) Irwan Sembiring, S.T., M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Implementasi Autentikasi pada Virtual Private Network
(VPN) Menggunakan Kerberos
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Kuncoro Satriyo (672010279) Irwan Sembiring, S.T., M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Implementasi Autentikasi pada
Virtual Private Network
(VPN)
Menggunakan Kerberos
1)
Kuncoro Satriyo, 2)Irwan Sembiring
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia Email :1)Kunsatriyo28@gmail.com, 2)Irwan@staff.uksw.edu
Abstract
Virtual Private Network (VPN) is some tool for sharing resource between computer on network. VPN is some private network by using public network (in this case internet) by using tunneling technology and safety procedure. Internet consuming as public network are certain many kind risk on data stealing, because the network is general opened so confidentiality and authentication problem on sending data is also opened. One of the safety technique that we can use is kerberos. Kerberos is one of protocol on the communication network system that guarantee authentication develop by Massachusett Institute of Technology (MIT). In this research, conducted at the VPN implementation using Kerberos authentication. Kerberos authentication implemented on a VPN using library Pluggable Authentication Modules (PAM). Testing does is the testing of VPN network connectivity and analyze the workings of the VPN authentication process by using Kerberos.
Keywords: VPN, Authentication, Kerberos, PAM, Network Security
Abstrak
Virtual Private Network (VPN) adalah suatu sarana untuk sharing resource baik antar komputer maupun jaringan. VPN merupakan suatu jaringan private yang menggunakan sarana jaringan publik (dalam hal ini internet) dengan memakai teknologi tunnelingdan prosedur pengamanan. Pemakaian internet sebagai jaringan publik banyak mengandung resiko terhadap pencurian data, karena jaringannya terbuka untuk umum, maka masalah kerahasiaan dan autentikasi atas data yang dikirim pun juga terbuka. Salah satu teknik pengamanan yang dapat digunakan untuk keamanan tersebut adalah kerberos. Kerberos merupakan salah satu protokol dalam sistem jaringan komunikasi yang menjamin autentikasi yang dikembangkan oleh Massachusets Insitute of Technology(MIT). Dalam penelitian ini, dilakukan implementasi autentikasi pada VPN menggunakan Kerberos. Autentikasi kerberos diimplementasikan pada VPN menggunakan library Pluggable Authentication Modules (PAM). Pengujian yang dilakukan adalah pengujian terhadap konektivitas jaringan VPN dan melakukan analisa cara kerja dari proses autentikasi pada VPN dengan menggunakan Kerberos.
Kata Kunci: VPN, Autentikasi, Kerberos, PAM, Keamanan Jaringan
1)
Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya Wacana Salatiga.
2)
1
1. Pendahuluan
Virtual Private Network (VPN) adalah suatu jaringan private yang
menggunakan sarana jaringan komunikasi publik (dalam hal ini internet) dengan
memakai teknologi tunneling dan prosedur pengamanan. Internet merupakan
sebuah jaringan global dan terbuka, dimana setiap pengguna dapat saling
berkomunikasi dan bertukar informasi. Pemakaian internet sebagai sarana
jaringan publik banyak mengandung resiko terhadap pencurian data, karena jaringannya terbuka untuk umum, maka masalah kerahasiaan dan autentikasi atas
data yang dikirim pun juga terbuka. Karena VPN menggunakan jaringan internet,
maka dibutuhkan perhatian yang serius pada keamanan autentikasi atas data yang dikirim. Oleh karena itu, diperlukan tindakan yang tepat untuk mencegah
terjadinya hal-hal yang tidak diinginkan seperti penyadapan, hackingdan tindakan
cyber crimepada jaringan VPN. Autentikasi merupakan pengesahan identitas user
yang diawali dengan mengirimkan kode unik berupa username dan password
yang bertujuan untuk memastikan bahwa user yang meminta service adalah user
yang sah.
Terdapat beberapa metode yang dapat digunakan untuk pengamanan data pada teknologi jaringan VPN. Dalam penelitian ini, metode yang akan digunakan
untuk pengamanan data tersebut adalah AAA (Authentication, Authorization,
Accounting). AAA merupakan program server yang bertugas untuk menangani permintaan akses ke suatu komputer dengan menyediakan proses otentikasi, otorisasi dan akuntansi. Terdapat tiga protokol AAA yang dapat digunakan antara
lain Remote Authentication Dial In User Service (RADIUS), Terminal Access
Controller Access Control System(TACACS) dan Kerberos.
Dalam penelitian ini, protokol AAA yang digunakan adalah Kerberos yang
bertujuan untuk memungkinkan user/client dan service untuk saling
mengautentikasi satu dengan yang lainnya dan saling menunjukkan identitasnya, dan juga untuk dapat mengatasi serangan-serangan keamanan yang tidak dapat
diatasi oleh sistem autentikasi konvensional (password based). Protokol kerberos
digunakan untuk melakukan proses autentikasi pada user sebelum terhubung ke
jaringan VPN. Mekanisme autentikasi oleh kerberos dilakukan dengan
menggunakan kunci privat yang dibagi (shared) antara client dan server. Kunci
privat tersebut dikeluarkan oleh pihak ketiga yang dipercayai bersama (trusted
third party). Kerberos merupakan solusi yang diharapkan untuk mengatasi masalah keamanana pada teknologi jaringan VPN, dimana kerberos
memungkinkan client untuk dapat melakukan koneksi pada server yang dituju
menggunakan sebuah kunci privat.
2. Kajian Pustaka
Adapun penelitian terdahulu yang berkaitan dalam penelitian ini adalah penelitian dengan judul Implementasi dan Analisa Keamanan Autentikasi pada
Virtual private Network (VPN) Menggunakan Remote Authenticatian Dial In User Service (RADIUS) . Penelitian ini menggunakan RADIUS untuk keamanan autentikasi pada teknologi jaringan VPN. Hasil dari penelitian tersebut, dengan
2
karena hal-hal penting lainnya seperti username, IP clientRADIUS dan IP client
PPTP dapat ditemukan melalui hasil capturejaringan[1].
Penelitian dengan judul Analisa Autentikasi Kerberos pada Samba LDAP (Lightweight Directory Access Protocol) juga merupakan salah satu penelitian yang berkaitan dengan penelitian ini. Dalam penelitian tersebut, dilakukan analisis cara kerja autentikasi kerberos pada Samba LDAP, dengan melihat apakah dengan menggunakan kerberos dapat memberikan solusi keamanan pada client untuk mengakses file sharing samba. Hasil dari penelitian tersebut, kerberos
memberikan solusi keamanan autentikasi pada client saat mengakses file sharing
samba, sehingga terhindar dari serangan keamanan yang tidak diinginkan[2]. Penelitian lain yang berkaitan dengan penelitian ini adalah penelitian
dengan judul Analisis Implementasi Keamanan Jaringan Virtual Private Network
(VPN) pada PT.Layar Sentosa Shipping Corporation . Pada penelitian tersebut, dilakukan pengujian terhadap konektivitas jaringan dan tingkat keamanan pada VPN. Hasil dari penelitian tersebut adalah dalam pengujian konektivitas jaringan,
bandwidthmerupakan faktor utama yang menentukan baik-buruknya konektivitas dalam jaringan. Sedangkan pada pengujian tingkat keamanan VPN, penyerang
berhasil menembus akses login client ke serverVPN, dengan melakukan hacking
untuk mendapatkan usernamedan passworddengan menggunakan tools yang ada
pada aplikasi linux backtrack[3].
Mengacu pada penelitian terdahulu, maka akan dilakukan penelitian yang
berjudul Implementasi Autentikasi pada Virtual Private Network (VPN)
Menggunakan Kerberos. Dalam penelitian ini, autentikasi kerberos
diimplementasikan pada VPN dengan meggunakan modul yang ada pada library
Pluggable Authentication Modules (PAM) untuk menghubungkan server VPN dan server Kerberos, sehingga autentikasi kerberos dapat berjalan pada VPN. Dengan menggunakan kerberos pada VPN diharapkan dapat menjamin keamanan
autentikasi, sehingga user/clientdapat mengirim dan mengakses informasi secara
aman dan terlindung dari kemungkinan disusupi oleh pengakses yang tidak diinginkan.
Virtual Private Network (VPN) adalah suatu jaringan private yang
menggunakan sarana jaringan komunikasi publik (dalam hal ini Internet) dengan
memakai teknologi tunneling dan prosedur pengamanan. VPN dapat mengirim
data antara dua komputer yang melewati jaringan publik sehingga seolah-olah
terhubung secara point to point. Data dienkapsulasi (dibungkus) dengan header
yang berisi informasi routing mendapatkan koneksi point to point sehingga data
dapat melewati jaringan publik dan dapat mencapai akhir tujuan. Proses
enkapsulasi data sering disebut tunneling [1].
Tunneling merupakan sebuah terowongan atau metode yang digunakan
untuk transfer data antar jaringan dengan memanfaatkan jaringan internet secara
terselubung. Sistem kerja tunneling hanya melihat dua point atau ujung, oleh
karenanya paket yang dikirimkan melalui tunnel hanya akan melakukan satu kali
lompatan atau hop. Paket yang dikirimkan melalui protokol tunneling akan
dienkapsulasi (dibungkus) dalam header tambahan terlebih dahulu. Header
tambahan tersebut berisi informasi routingsehingga paket data yang dikirim dapat
3
yang disebut tunnel. Saat data sudah terkirim sampai ke jaringan tujuan akan
dilakukan proses dekapsulasi dan setelah itu data original akan diteruskan ke
penerima akhir[4].
Teknologi VPN menyediakan tiga fungsi utama untuk penggunaannya. Fungsi utama tersebut adalah sebagai berikut[1] :
1. Confidentially(Kerahasiaan)
Dengan digunakannya jaringan publik yang rawan pencuriaan data, maka teknologi VPN menggunakan sistem kerja dengan cara mengenkripsi semua data yang lewat melaluinya.
Teknologi VPN memiliki kemampuan untuk melakukan autentikasi terhadap sumber-sumber pengirim data yang akan diterimanya.
OpenVPN merupakan salah satu jenis aplikasi penyedia layanan VPN yang
bersifat gratis dengan menggunakan SSL untuk menangani tunneling. OpenVPN
memiliki dukungan yang luas terhadap berbagai macam produk-produk open
source, terutama untuk aplikasi-aplikasi yang menangani proses enkripsi SSL/TLS dan otentikasi.
Kerberos merupakan salah satu protokol dalam sistem jaringan komurnikasi
yang menjamin autentikasi yang dikembangkan oleh Massachusets Insitute of
Technology (MIT). Mekanisme autentikasi kerberos dilakukan dengan
menggunakan kunci privat yang dibagi (shared) antara client dan server. Kunci
privat tersebut dikeluarkan oleh pihak ketiga yang dipercayai bersama (trusted
third party), yang nantinya akan memberikan autentikasi dua arah, baik terhadap
client maupun servernya. Kerberos adalah protokol autentikasi yang menggunakan sistem kriptografi simetrik. Biasanya menggunakan kriptografi
DES ataupun tripleDES dan bahkan telah dirancang menggunakan AES.
Protokol kerberos dibangun berdasarkan kriptografi kunci simetris dari
protokol Needham-Schroeder dan dalam penggunaannya membutuhkan layanan
dari pusat distribusi kunci (Key Distribution Center atau KDC). KDC merupakan
pihak ketiga yang terpercaya dan terdiri dari dua bagian yang terpisah, yaitu AS (Autentication Service) dan TGS (Ticket Granting Service). Agar dapat melakukan aksinya kerberos memiliki tiga subprotokol, protokol tersebut yaitu sebagai berikut[5] :
1. Autentication Service (AS) Exchange yang digunakan oleh Key Distribution Center (KDC) untuk menyediakan Ticket-Granting Ticket
(TGT) kepada pengguna dan membuat kunci sesi logon.
2. Ticket-Granting Service (TGS) Exchange yang digunakan oleh KDC untuk mendistribusikan kunci sesi layanan dan tiket diasosiasikan dengannya.
4
Gambar 1Sesi Autentikasi Kerberos[5]
Gambar 1 merupakan sesi autentikasi Kerberos yang dilakukan antara client
dan server. Cara kerja dari sesi autentikasi tersebut yaitu sebagai berikut[5]:
1. Komputer pengguna kerberos akan mengirimkan sebuah permintaan
terhadap serverKDC untuk mengakses TGS dengan menggunakan protokol
AS Exchange. Dalam permintaan tersebut terdapat bukti identitas pengguna dalam bentuk terenkripsi menggunakan kunci rahasia pengguna.
2. KDC kemudian menerima permintaan dari pengguna Kerberos, lalu mencari
kunci utama (disebut sebagai Master Key) yang dimiliki oleh pengguna
dalam layanan direktori Active Directory (dalam Windows 2000/Windows
Server 2003 atau layanan direktori lainnya seperti LDAP) untuk selanjutnya melakukan dekripsi terhadap informasi identitas yang terdapat dalam permintaan yang dikirimkan. Jika identitas pengguna berhasil diverifikasi, KDC akan meresponnya dengan memberikan TGT dan sebuah kunci sesi
untuk mengakses TGS dengan penggunaan protokol AS Exchange.
3. Pengguna selanjutnya mengirimkan permintaan yang terenkripsi dengan kunci sesi kepada KDC, permintaan itu mengandung TGT yang sebelumnya
diterima dari KDC dan identifier akses terhadap layanan aplikasi server
target dengan menggunakan protokol TGS Exchange.
4. KDC selanjutnya menerima permintaan, melakukan otentikasi terhadap
layanan dan meresponnya dengan memberikan sebuah tiket dan kunci sesi
untuk mengakses server target kepada pengguna dengan menggunakan
protokol TGS Exchange.
5. Pengguna selanjutnya mengirimkan permintaan terhadap server target yang
mengandung tiket yang didapatkan sebelumnya dengan menggunakan
protokol CS Exchange. Server target kemudian melakukan otentikasi
terhadap tiket yang bersangkutan, membalasnya dengan sebuah kunci sesi dan pengguna akhirnya dapat mengakses layanan yang tersedia dalam
server.
Pluggable Authentication Modules (PAM) merupakan suatu library yang terdapat pada Linux yang dapat membuat seorang administrator mampu
menambahkan autentikasi baru dengan menginstall modul-modul yang ada pada
library PAM. Dengan menggunakan library PAM seorang administrator tidak perlu mengkonfigurasi fungsi untuk autentikasi yang digunakan pada aplikasi
5
mengimplementasikan suatu primitives didalam satu atau lebih facilities yang
membentuk satu mekanisme untuk layanan autentikasi seperti UNIX password
database, NIS, LDAP, RADIUS dan sebagainya.
Ada beberapa kelebihan yang dimiliki PAM yaitu sebagai berikut[6] : (1) PAM menyediakan skema autentikasi umum yang dapat digunakan pada berbagai macam aplikasi; (2) PAM menyediakan fleksibilitas yang signifikan dan kontrol atas autentikasi, baik untuk sistem administrator dan pengembang aplikasi; (3) PAM menyediakan library yang memungkinkan pengembang untuk menulis program tanpa harus membuat skema autentikasi sendiri.
3. Metode dan Perancangan Sistem
Metode yang digunakan pada penelitian ini yaitu metode PPDIOO (Prepare, Plan, Desaign, Implement, Operate and Optimize). Metode PPDIOO
adalah sebuah metode penelitian yang dikembangkan oleh Cisco System. Pada
metode ini ada beberapa tahap dalam membangun sebuah jaringan. Dengan adanya tahapan-tahapan pada perancangan dan desain sistem, maka akan lebih mudah dalam pengerjaan serta mempermudah dalam menganalisis sistem. Metode ini dipilih karena cocok dengan sistem dan pengujian yang akan dilakukan.
Gambar 2Skema Metodelogi PPDIOO
Gambar 2 merupakan skema metodelogi PPDIOO yang terdiri dari 6 fase
yaitu sebagai berikut[2] :
1. Prepare adalah tahap dimana rencana kerja disusun agar penelitian dapat terorganisir dengan baik. Pada tahapan ini akan dikumpulkan data-data yang berkaitan dengan kebutuhan sistem yang sesuai dengan tujuan dari penelitian ini. Pengumpulan data kebutuhan tersebut antara lain spesifikasi akan kebutuhan perangkat keras atau lunak yang akan dipakai dalam penelitian ini.
2. Plan adalah tahap dimana akan dirancang mekanisme autentikasi kerberos
pada VPN dan tahapan yang dijadikan sebagai parameter dan perlu mendapat perhatian sebelum merancang sebuah jaringan komputer yaitu :
a) Menganalisis kebutuhan alat jaringan yang akan digunakan dalam
perancangan topologi jaringan.
b) Mendesain topologi sesuai dengan kebutuhan penelitian.
6
3. Design adalah tahapan dimana akan digambarkan desain secara logis dari perancangan implementasi VPN menggunakan autentikasi kerberos. Topologi jaringan pada penelitian ini dapat dilihat pada Gambar 5 :
Gambar 3Topologi Jaringan
Berdasarkan Gambar 3, maka laptop 1 bertindak sebagai client, laptop 2
sebagai VPN server dan Kerberos server, dan laptop 3 sebagai jaringan
LAN yang akan dituju oleh client.
Pada fase design, juga dilakukan perancangan untuk proses autentikasi pada
VPN menggunakan autentikasi kerberos. Perancangan ini diperlukan agar
proses implementasi lebih sistematis dan terarah. Flowchart proses
autentikasi pada VPN menggunakan kerberos dapat dilihat pada Gambar 6.
Gambar 4Proses Authentikasi pada VPN Menggunakan Kerberos
Proses autentikasi yang terjadi seperti pada Gambar 4 adalah Langkah
pertamaclientmenginputkanusernamedan password, kemudian diteruskan
ke server VPN, setelah itu PAM menghubungkan server VPN dengan
autentikasi Kerberos, agar server VPN dapat mengirimkan username dan
passwordyang diinputkan oleh clientuntuk diautentikasi terlebih dahulu ke
server Kerberos, agar dapat mengetahui benar tidaknya informasi atau
identitas client dengan database Kerberos server, setelah diautentikasi dan
identitasnya benar maka akan dikembalikan ke VPN serverdan client akan
mendapatkan IP tunnel. Setelah mendapatkan IP tunnel, client bisa masuk
ke jaringan LAN dan bisa mengakses data dari jaringan LAN tersebut. 4. Implement adalah tahapan dimana perangkat yang telah terintegrasi dalam
7
akan dilakukan langsung pada server. ServerVPN akan dikonfigurasi sesuai
dengan kebutuhan pada penelitian ini.
5. Operateadalah tahapan pengujian sistem yang dilakukan pada waktu nyata
serta melakukan proses monitoring. Pada tahap operate dapat dilakukan
proses perbaikan pada sistem yang sudah dibuat, hal ini akan disesuaikan dengan analisis yang dilakukan pada sistem yang dibuat. Pada tahap ini dapat dilakukan pemecahan masalah yang timbul selama proses yang mengakibatkan tidak berjalannya proses komunikasi secara baik dalam jaringan.
6. Optimizeadalah tahap terakhir dimana setelah melakukan implementasi dan analisis, sistem dapat diperbaharui sesuai dengan kebutuhan agar sistem menjadi lebih baik dari sebelumnya, karena mungkin saja sebelumnya sistem tidak dapat bekerja dengan sempurna. Tahapan ini juga dilakukan penilaian terhadap sistem yang dibangun apakah sudah sesuai dengan tujuan awal serta pencapaian yang sudah dilakukan.
4. Hasil dan Pembahasan
Pada bagian hasil dan pembahasan akan dibahas mengenai tahap implementasi yang akan dilakukan berdasarkan analisis dan perancangan yang telah dibuat. Setelah implementasi selesai dilakukan, maka akan dilakukan pengujian terhadap VPN yang menggunakan autentikasi kerberos yang telah dibangun.
Dalam konfigurasi jaringan dilakukan pengalamatan IP terhadap serverdan
clientsesuai dengan topologijaringan yang telah dibangun. Adapun pengalamatan
IP terhadap VPN server, Kerberos server, client dan client dalam jaringan LAN
dapat dilihat pada Gambar 5 dan Gambar 6.
Gambar 5Topologi Jaringan VPN
Berdasarkan Gambar 5, VPN dan Kerberos server memiliki IP publik
192.168.0.1 dengan subnet 255.255.255.0 dan IP publik pada client 192.168.0.2
dengan subnet255.255.255.0.
Gambar 6Topologi Logik Jaringan VPN
Gambar 6 merupakan topologi logik pada jaringan VPN yang dibangun.
VPN server akan diberikan IP address 10.10.10.1 dengan subnet 255.255.255.0
dan IP address client akan berada pada range 10.10.10.2-10.10.10.254 dengan
8
Pada server digunakan sistem operasi Linux Fedora 20 dan juga
menggunakan software OpenVPN untuk VPN servernya. Sebelum
mengkonfigurasi VPN server, sangat penting untuk menyalin berbagai script dan
dokumentasi yang dibutuhkan untuk konfigurasi. Script dan dokumentasi yang dibutuhkan dipindahkan ke folder /etc/openvpn, karena di folder tersebut
merupakan folder untuk inialisasi filekonfigurasi dari openvpn.
Gambar 7Copy Directory
Gambar 7 merupakan perintah untuk copy folder beserta file yang berada
dalam folder tersebut untuk membuat sertifikat pada folder inialisasi file
konfigurasi dari openvpn. Setelah copy folder tersebut, selanjutnya copy file
server.conf dari folder /usr/share/doc/openvpn/sample/sample-config-files/ ke folder /etc/openvpn/ seperti pada Gambar 8.
Gambar 8Copy File
Gambar 8 merupakan perintah untuk copy file server.conf ke folder
openvpn. File tersebut digunakan sebagai file eksekusi yang menandakan bahwa
komputer tersebut merupakan VPN server.
Gambar 9Edit File
Gambar 9 merupakan perintah untuk mengedit file vars. File vars
merupakan konfigurasi yang paling dasar dalam openvpn dan file tersebut
berisikan informasi penting dalam pembuatan VPN yang akan dibuat. Pada file
tersebut konfigurasi yang dilakukan dapat dilihat pada Gambar 10.
Gambar 10Konfigurasi FileVars
Berdasarkan Gambar 10, maka konfigurasi yang dilakukan pada file vars
9
KEY_PROVINCE, export KEY_CITY, export KEY_ORG dan export KEY_EMAIL
sesuai dengan kebutuhan. Apabila file vars telah dikonfigurasi, maka file vars
dapat dijalankan untuk menginialisasi pembuatan sertifikat dan kunci yang
dibutuhkan. Perintah yang digunakan untuk menjalankan filevars dan menghapus
semua konfigurasi yang pernah dibuat dapat dilihat pada Gambar 11.
Gambar 11MenjalankanFileVars
Setelah file vars dijalankan, langkah selanjutnya membuat Certificate
Authority (CA). CA merupakan sertifikat yang digunakan untuk autentikasi yang
menandakan bahwa itu berasal dari serveryang sah. CA dapat dibuat seperti pada
Gambar 12.
Gambar 12Pembuatan CA
Berdasarkan Gambar 12, maka pada proses pembuatan CA akan diminta
konfirmasi terhadap bagian Country Name, State or Province Name, Locality
Name, Organization Name, Organizational Unit Name, Common Name, Name
dan Email Address, bagian tersebut merupakan hal yang diubah pada file vars sebelumnya. Apabila informasi-informasi pada bagian tersebut telah sesuai, maka tidak perlu mengisi ulang informasi tersebut. Akan tetapi, apabila informasi terdapat kesalahan, maka dapat mengisi ulang dengan informasi yang benar dan sesuai.
10
Gambar 13 merupakan perintah untuk membuat kunci untuk server.
Pembuatan kunci untuk serverhanya diperbolehkan mempunyai satu kunci. Kunci
server merupakan kunci private asymmetric encryption yang harus dimiliki oleh
server.
Gambar 14Proses Pembuatan Server Key
Gambar 14 merupakan proses dari pembuatan kunci untuk server. Pada
proses pembuatan kunci tersebut, akan diminta konfirmasi seperti pembuatan CA tadi. Apabila informasi-informasi pada bagian yang dikonfirmasi tersebut telah sesuai, maka tidak perlu mengisi ulang informasi tersebut. Akan tetapi, apabila informasi terdapat kesalahan, maka dapat mengisi ulang dengan informasi yang benar dan sesuai.
Gambar 15Pembuatan Client Key
Gambar 15 merupakan perintah membuat kunci untuk client. Sama halnya
dengan pembuatan kunci pada server, proses pembuatan kunci untuk client akan
mengeneralisasi informasi-informasi yang dibutuhkan seperti pada Gambar 16.
11
Gambar 16 merupakan proses dari pembuatan kunci untuk client. Pada
proses pembuatan kunci tersebut, akan diminta konfirmasi seperti pembuatan
kunci pada server tadi. Apabila informasi-informasi pada bagian yang
dikonfirmasi tersebut telah sesuai, maka tidak perlu mengisi ulang informasi tersebut. Akan tetapi, apabila informasi terdapat kesalahan, maka dapat mengisi ulang dengan informasi yang benar dan sesuai.
Pada pembuatan kunci untuk client diperbolehkan mempunyai lebih dari
satu kunci, sedangkan pembuatan kunci untuk server hanya diperbolehkan satu
kunci. Kunci server maupun kunci client merupakan kunci private asymmetric
encryption yang harus dimiliki oleh server maupun client. Kunci pada client
merupakan sinkronisasi dari kunci server yang terdapat pada server VPN dan
menandakan bahwa clienttersebut merupakan clientdari VPN tersebut.
Gambar 17Pembuatan DH Key
Gambar 17 merupakan proses dari pembuatan kunci Diffie-Hellman(DH).
Kunci DH merupakan metode enkripsi dengan algoritma kunci publik (public key
distribution system), yang memungkinkan dua belah pihak yang tidak memiliki koneksi sebelumnya untuk dapat membentuk suatu kunci rahasia untuk menciptakan komunikasi yang aman.
Setelah semua kunci telah terbentuk, maka selanjutnya server dapat dikonfigurasi dengan mengedit isi file server.conf yang berada di folder /etc/openvpn/server.conf sesuai dengan kebutuhan jaringan VPN yang ingin dibangun. Pada file server.conf yang harus di edit dapat dilihat pada Tabel 1.
Tabel 1Edit File Server.conf
PARAMETER KETERANGAN
Server Menunjukkan sebagai server.
Port 1194 Port yang akan dibuka untuk VPN (1194
merupakan port untuk OpenVPN.
Proto tcp Protokol yang digunakan adalah TCP.
Dev tap Akan menciptakan tunnel.
Ca /etc/openvpn/keys/ca.crt Cert /etc/openvpn/keys/server.crt Key /etc/openvpn/keys/server.key
Sertifikat dan kunci-kunci yang
digunakan server, serta tempat beradanya
sertifikat dan kunci tersebut.
12
beradanya parameter Diffie-Hellman.
Server 10.10.10.0 255.255.255.0 Mode konfigurasi server dan suplai dari subnet VPN.
Ifconfig-pool-persist ipp.txt Record perbaikan dari client.
Push route 192.168.1.0
255.255.255.0
Melakukan routing ke jaringan intranet dengan alamat 192.168.1.0/24.
Client-to-client Mengizinkan client untuk dapat melihat satu sama lain.
Keepalive 10 120 Menjaga agar komunikasi dapat terjaga, dengan asumsi sistem akan ping selama 10 detik apabila pada jangka waktu 120 detik tidak diterima ping.
Comp-lzo Menghidupkan kompresi pada jalur
VPN.
Max-clients 10 Jumlah clientyang diizinkan.
User nobody Group nogroup
Untuk mengurangi hak istimewa daemon OpenVPN.
Persist-key Persist-tun
Berguna untuk menghindari akses
sumber daya tertentu pada restart yang
mungkin tidak dapat diakses lagi karena
downgradehak istimewa.
Status /var/log/openvpn-status.log Log dari status koneksi VPN.
Verb 4 Untuk penggunaan umum.
Mute 10 Tidak mengulangi pesan. Maksimal 10
pesan dari kategori pesan yang sama akan menjadi output untuk log.
Plugin /usr/lib/openvpn/openvpn-authpam.so login
Menggunakan plugin untuk autentifikasi
client.
Parameter Plugin /usr/lib/openvpn/openvpn-authpam.so login pada
server.conf merupakan modul pada library PAM yang berfungsi untuk
menghubungkan OpenVPN server dengan Kerberos server agar autentikasi
Kerberos dapat berjalan pada jaringan VPN. Pada saat server VPN mengirimkan
request pada Kerberos, PAM akan menginialisasikan request tersebut dengan
modul yang telah diinstallsesuai requestVPN serverdan PAM akan menjalankan
file konfigurasi pada modul tersebut, sehingga VPN server dapat menggunakan layanan pada autentikasi Kerberos.
Setelah konfigurasi pada server selesai, maka akan dilakukan konfigurasi
pada sisi client. Pada client digunakan sistem operasi Windows 7 dan juga
menggunakan software OpenVPN GUI untuk VPN clientnya. Sebelum
melakukan konfigurasi pada client, sangat penting copysertifikat dan kunci client
yang telah dibuat dari server. Sertifikat dan kunci tersebut yaitu ca.crt, client1.crt
dan client1.key, simpan file tersebut kedalam folder C:/program
files/openvpn/config. Selanjutnya edit file client.ovpn dan sesuaikan dengan
konfigurasi yang ada pada server. Konfigurasi pada file client.ovpn dapat dilihat
13
Tabel 2 Edit File Client.ovpn
PARAMETER KETERANGAN
Client Menunjukkan sebagai client.
Proto tcp Protokol yang digunakan adalah TCP
Dev tap Akan menciptakan tunnel
Remote 192.168.0.1 1194 Agar client dapat terkoneksi dengan
server
Resolve-retry infinite Untuk mencoba menjaga koneksi dengan
server Ca ca.crt
Cert client1.crt Key client1.key
Sertifikat dan kunci-kunci yang
digunakan client
Nobind Client tidak perlu mengingat port
Persist-key Persist-tun
Berguna untuk menghindari akses
sumber daya tertentu pada restart yang
mungkin tidak dapat diakses lagi karena
downgradehak istimewa.
Auth-user-pass Menggunakan autentikasi untuk client
yang berupa usernamedanpassword.
Comp-lzo Menghidupkan kompresi pada jalur
VPN.
Verb 4 Untuk penggunaan umum.
Untuk menjalankan openvpn pada server VPN dapat dilakukan seperti pada
Gambar 18. Pada Gambar tersebut menunjukkan tidak terjadi kesalahan pada saat openvpn dijalankan, maka konfigurasi yang dilakukan benar, apabila statusnya menunjukkan kesalahan pada saat openvpn dijalankan, maka pada konfigurasi masih terdapat kesalahan.
Gambar 18StartVPN
14
Gambar 19 merupakan network yang terbentuk pada server. Pada gambar tersebut dapat dilihat kalau server memiliki interface tap0 dengan IP address 10.10.10.1. Hal ini menandakan bahwa network VPN telah terbentuk. Untuk
menjalankan OpenVPN pada clientdapat dilakukan seperti pada Gambar 20.
Gambar 20Mengkoneksikan ke Server VPN
Sebelum client terkoneksi dengan server VPN , indikator openvpn akan
menunjukkan warna merah. Berdasarkan Gambar 20, maka untuk mulai koneksi
click kanan pada icon openvpn yang ada pada taskbar menu, setelah itu pilih
connectagar dapat terkoneksi ke serverVPN.
Gambar 21Login ke Server VPN
Gambar 21 merupakan proses koneksi ke server VPN dengan menginputkan
username dan password. Jika client telah terkoneksi, maka secara otomatis akan
mendapatkan IP address, namun sebelum terkoneksi client terlebih dahulu
diautentikasi ke Kerberos server. Apabila username dan password benar, maka
client VPN akan mencoba koneksi ke server VPN sampai berhasil dikoneksikan seperti pada gambar 22.
15
Gambar 22 merupakan client yang berhasil melakukan koneksi ke server
VPN. Setelah berhasil terkoneksi indikator akan berubah menjadi warna hijau seperti terlihat pada Gambar 23.
Gambar 23IconOpenVPN
Setelah client berhasil terkoneksi dengan server VPN, maka akan terbentuk
network baru seperti terlihat pada Gambar 24. Gambar tersebut menunjukkan IP
address yang telah didapat oleh client VPN yang terlihat pada adapter local area connection 2 dengan IP 10.10.10.8 dan subnet mask255.255.255.0.
Gambar 24NetworkPada Client
Client yang berhasil terkoneksi akan dicatat pada Log dari OpenVPN dan
Kerberos server seperti terlihat pada Gambar 25 dan Gambar 26. Log tersebut
berfungsi untuk mencatat dan menyimpan data clientketika melakukan loginpada
VPN. Pada Log tersebut dapat dilihat client yang melakukan login pada VPN
adalah vebri.
16
Gambar 26Log OpenVPN
Setelah clientterkoneksi dengan serverVPN dilanjutkan dengan tes koneksi
dari client ke server dan sebaliknya. Tes koneksi yang dilakukan dengan
melakukan perintah ping.
Gambar 27Tes Koneksi Client ke Server
Gambar 28Tes Koneksi Server ke Client
Gambar 27 dan Gambar 28 merupakan tes koneksi yang telah berhasil dari
client ke server dan server ke client VPN, dimana pada client dilakukan tes
koneksi ke server dengan ping ke IP address 10.10.10.1, dan pada server
dilakukan tes koneksi ke clientdengan ping ke IP address 10.10.10.8.
Dalam pengujian autentikasi kerberos cara mudah untuk melakukan testing dengan menggunakan kinit, seperti pada Gambar 29. Gambar tersebut menunjukkan testing kerberos untuk riyo dan testing tersebut bekerja dengan benar karena tidak menunjukkan kesalahan pada proses testing.
17
Setelah selesai dapat melihat tiket yang diterima dengan menggunakan perintah klist, seperti pada Gambar 30. Pada Gambar tersebut dapat dilihat nama
client/principal, waktu valid starting dan waktu expires-nya.
Gambar 30Tiket Kerberos
Gambar 31Proses Autentikasi
Gambar 31 merupakan proses autentikasi pada VPN menggunakan autentikasi Kerberos. Pada proses autentikasi tersebut ada beberapa tahap yaitu : (1) Login Request; (2) Access Request; (3) AS_REQ; (4) Check Database (DB); (5)Access Reject or Access Accept (AS_REP); (6) Login Reject or Login Accept;
(7) Memberikan IP Addressatau akses ditolak; (8) Akses Jaringan VPN.
Pertama client melakukan proses login request ke VPN server dengan
menginputkan username dan password. Setelah sampai pada VPN server akan
langsung diteruskan ke Kerberos server dengan mengirimkan access request.
PAM akan menginialisasikan request tersebut dengan modul yang telah diinstall
sesuai request VPN server dan PAM akan menjalankan file konfigurasi pada
modul tersebut, sehingga VPN server dapat menggunakan layanan pada
autentikasi Kerberos. Setelah sampai pada Kerberos server, maka AS_REQ akan
melakukan pengecekkan username dan password pada database-nya. Jika
terdaftar dalam databasemaka AS_REP akan mereplaydan membawa TGT yang
berisi nama clientdan session keyke VPN server. Pada proses requestdan replay
tersebut akan dikemas dan dienkripsi dengan menggunakan kunci rahasia client
(password) sehingga hanya KDC yang dapat mendeskripsikannya. Setelah
menerima TGT, VPN server akan memberikan IP tunnel pada client untuk dapat
mengakses jaringan VPN, jika nama client dan session key itu benar dan jika tidak
18
5. Simpulan
Berdasarkan hasil analisa dan implementasi autentikasi pada VPN menggunakan Kerberos yang telah dilakukan, maka dapat diambil kesimpulan
sebagai berikut : (1) Software OpenVPN mempermudah dalam konfigurasi dan
pembuatan jaringan VPN; (2) Protokol Kerberos digunakan dalam penelitian ini sebagai autentikasi pada teknologi jaringan VPN; (3) Autentikasi Kerberos dapat
diimplementasikan pada jaringan VPN dengan menggunakan modul pada library
PAM; (4) Berdasarkan hasil pengujian koneksi, autentikasi Kerberos berjalan
dengan baik dan tidak terjadi error, ketika clientmelakukan koneksi pada jaringan
VPN. Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut adalah sebagai berikut : (1) Dapat dikembangkan dengan melakukan pengujian pada keamanan teknologi jaringan VPN dengan menggunakan autentikasi Kerberos; (2) Autentikasi pada VPN tidak hanya menggunakan autentikasi Kerberos yang digunakan, tetapi dapat menggunakan autentikasi lain, misalnya autentikasi TACACS, LDAP dan sebagainya.
6. Daftar pustaka
[1] Patiallo, Tri S., Sembiring, Irwan., Chandra, Dian W., 2010, Implementasi
dan Analisa Keamanan Authentikasi pada Virtual Private Network (VPN) Menggunakan Remote Authentication Dial In User Service (RADIUS), Skripsi, Salatiga : Universitas Kristen Satya Wacana.
[2] MS, Lusi Teguh., Sembiring, Irwan., Bayu, Teguh I., 2011, Analisis
Authentikasi Kerberos pada Samba LDAP (Lightweight Directory Access Protocol), Skripsi, Salatiga : Universitas Kristen Satya Wacana.
[3] Ratmoko, Hari., Nurhadiyono, Bowo., 2014, Analisis Implementasi
Keamanan Jaringan Virtual Private Network (VPN) pada PT.Layar Sentosa Shipping Corporation, Jurnal, Semarang : Universitas Dian Nuswantoro.
[4] Sugiarto, Suggy J., Falahab., 2014, Pemanfaatan OpenVPN Pada Model
Bisnis AS Service, Skripsi, Bandung : Universitas Widyatama.
[5] Abdurrahman, Luthfi., Soeharwinto., Fahmi., 2012, Implementasi Sistem
Single Singn-On Menggunakan OpenAM Dengan Otentikasi Kerberos dan OpenLDAP, Skripsi, Medan : Universitas Sumatera Utara.
[6] Redhat, 2015, Chapter 2. Using Pluggable Authentication Modules (PAM),