implementasi autentikasi pada virtual private network (vpn

27
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 Salatiga Mei 2015

Upload: others

Post on 02-Apr-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementasi Autentikasi pada Virtual Private Network (VPN

Implementasi Autentikasi pada Virtual Private Network (VPN) Menggunakan Kerberos

Artikel Ilmiah

Kuncoro Satriyo (672010279)Irwan Sembiring, S.T., M.Kom.

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Kristen Satya WacanaSalatigaMei 2015

Page 2: Implementasi Autentikasi pada Virtual Private Network (VPN

Implementasi Autentikasi pada Virtual Private Network (VPN) Menggunakan Kerberos

Artikel Ilmiah

Diajukan kepadaFakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti :Kuncoro Satriyo (672010279)

Irwan Sembiring, S.T., M.Kom.

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Kristen Satya WacanaSalatigaMei 2015

Page 3: Implementasi Autentikasi pada Virtual Private Network (VPN

Lembar Persetujuan

Page 4: Implementasi Autentikasi pada Virtual Private Network (VPN

Lembar Pengesahan

Page 5: Implementasi Autentikasi pada Virtual Private Network (VPN

Lembar Pernyataan Persetujuan Akses

Page 6: Implementasi Autentikasi pada Virtual Private Network (VPN

Lembar Tidak Plagiat

Page 7: Implementasi Autentikasi pada Virtual Private Network (VPN

Lembar Pernyataan

Page 8: Implementasi Autentikasi pada Virtual Private Network (VPN

Lembar Persetujuan Publish Jurnal

Page 9: Implementasi Autentikasi pada Virtual Private Network (VPN

Implementasi Autentikasi pada Virtual Private Network (VPN) Menggunakan Kerberos

1) Kuncoro Satriyo, 2) Irwan Sembiring

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Kristen Satya WacanaJl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email : 1) [email protected], 2) [email protected]

AbstractVirtual 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 MassachusettInstitute 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

AbstrakVirtual 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 tunneling dan 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) Staff Pengajar Fakultas Teknologi Infomasi, Universitas Kristen Satya Wacana Salatiga.

Page 10: Implementasi Autentikasi pada Virtual Private Network (VPN

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, hacking dan tindakan cyber crime pada jaringan VPN. Autentikasi merupakan pengesahan identitas useryang diawali dengan mengirimkan kode unik berupa username dan password yang bertujuan untuk memastikan bahwa user yang meminta service adalah useryang 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 menggunakan RADIUS keamanan autentikasinya tergantung pada password,

Page 11: Implementasi Autentikasi pada Virtual Private Network (VPN

2

karena hal-hal penting lainnya seperti username, IP client RADIUS dan IP clientPPTP dapat ditemukan melalui hasil capture jaringan[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 sharingsamba, 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, bandwidth merupakan faktor utama yang menentukan baik-buruknya konektivitas dalam jaringan. Sedangkan pada pengujian tingkat keamanan VPN, penyerang berhasil menembus akses login client ke server VPN, dengan melakukan hackinguntuk mendapatkan username dan password dengan 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 kerberosdiimplementasikan 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/client dapat 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 headeryang 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. Headertambahan tersebut berisi informasi routing sehingga paket data yang dikirim dapat melewati jaringan internet, jalur yang akan dilalui data melalui internet itulah

Page 12: Implementasi Autentikasi pada Virtual Private Network (VPN

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.

2. Data Intergrity (Keutuhan data)VPN memiliki teknologi yang dapat menjaga keutuhan data yang client kirim, agar sampai ke tujuannya tanpa cacat, hilang, rusak, ataupun dimanipulasi oleh orang lain.

3. Origin Authentication (Autentikasi sumber)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 triple DES 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.

3. Client/Server (CS) Exchange yang digunakan oleh pengguna untuk mengirimkan sebuah tiket sebagai pendaftaran kepada sebuah layanan.

Page 13: Implementasi Autentikasi pada Virtual Private Network (VPN

4

Gambar 1 Sesi Autentikasi Kerberos[5]

Gambar 1 merupakan sesi autentikasi Kerberos yang dilakukan antara clientdan server. Cara kerja dari sesi autentikasi tersebut yaitu sebagai berikut[5]:

1. Komputer pengguna kerberos akan mengirimkan sebuah permintaan terhadap server KDC 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 servertarget 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 server. Modul pada library PAM berisi kode program yang fungsinya

Page 14: Implementasi Autentikasi pada Virtual Private Network (VPN

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 2 Skema Metodelogi PPDIOO

Gambar 2 merupakan skema metodelogi PPDIOO yang terdiri dari 6 faseyaitu 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.c) Implementasi jaringan lokal berdasarkan hasil analisis kebutuhan.

Page 15: Implementasi Autentikasi pada Virtual Private Network (VPN

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 3 Topologi 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 4 Proses Authentikasi pada VPN Menggunakan Kerberos

Proses autentikasi yang terjadi seperti pada Gambar 4 adalah Langkah pertama client menginputkan username dan password, kemudian diteruskanke server VPN, setelah itu PAM menghubungkan server VPN dengan autentikasi Kerberos, agar server VPN dapat mengirimkan username dan password yang diinputkan oleh client untuk 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 server dan 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 desain sistem akan diterapkan pada perangkat fisik. Proses implementasinya

Page 16: Implementasi Autentikasi pada Virtual Private Network (VPN

7

akan dilakukan langsung pada server. Server VPN akan dikonfigurasi sesuai dengan kebutuhan pada penelitian ini.

5. Operate adalah 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. Optimize adalah 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 server dan client sesuai dengan topologi jaringan 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 5 Topologi 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.2dengan subnet 255.255.255.0.

Gambar 6 Topologi 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 subnet 255.255.255.0.

Page 17: Implementasi Autentikasi pada Virtual Private Network (VPN

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 file konfigurasi dari openvpn.

Gambar 7 Copy Directory

Gambar 7 merupakan perintah untuk copy folder beserta file yang berada dalam folder tersebut untuk membuat sertifikat pada folder inialisasi filekonfigurasi dari openvpn. Setelah copy folder tersebut, selanjutnya copy fileserver.conf dari folder /usr/share/doc/openvpn/sample/sample-config-files/ ke folder /etc/openvpn/ seperti pada Gambar 8.

Gambar 8 Copy 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 9 Edit 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 filetersebut konfigurasi yang dilakukan dapat dilihat pada Gambar 10.

Gambar 10 Konfigurasi File Vars

Berdasarkan Gambar 10, maka konfigurasi yang dilakukan pada file vars adalah mengubah export KEY_SIZE, export KEY_COUNTRY, export

Page 18: Implementasi Autentikasi pada Virtual Private Network (VPN

9

KEY_PROVINCE, export KEY_CITY, export KEY_ORG dan export KEY_EMAILsesuai 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 file vars dan menghapus semua konfigurasi yang pernah dibuat dapat dilihat pada Gambar 11.

Gambar 11 Menjalankan File Vars

Setelah file vars dijalankan, langkah selanjutnya membuat Certificate Authority (CA). CA merupakan sertifikat yang digunakan untuk autentikasi yang menandakan bahwa itu berasal dari server yang sah. CA dapat dibuat seperti pada Gambar 12.

Gambar 12 Pembuatan 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.

Gambar 13 Pembuatan Server Key

Page 19: Implementasi Autentikasi pada Virtual Private Network (VPN

10

Gambar 13 merupakan perintah untuk membuat kunci untuk server. Pembuatan kunci untuk server hanya diperbolehkan mempunyai satu kunci. Kunci server merupakan kunci private asymmetric encryption yang harus dimiliki oleh server.

Gambar 14 Proses 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 15 Pembuatan 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.

Gambar 16 Proses Pembuatan Client Key

Page 20: Implementasi Autentikasi pada Virtual Private Network (VPN

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 clientmerupakan sinkronisasi dari kunci server yang terdapat pada server VPN dan menandakan bahwa client tersebut merupakan client dari VPN tersebut.

Gambar 17 Pembuatan 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 1 Edit File Server.conf

PARAMETER KETERANGANServer 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.crtCert /etc/openvpn/keys/server.crtKey /etc/openvpn/keys/server.key

Sertifikat dan kunci-kunci yang digunakan server, serta tempat beradanya sertifikat dan kunci tersebut.

Dh /etc/openvpn/keys/dh1024.pem Parameter Diffie-Hellman dan tempat

Page 21: Implementasi Autentikasi pada Virtual Private Network (VPN

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 client yang diizinkan.User nobodyGroup nogroup

Untuk mengurangi hak istimewa daemon OpenVPN.

Persist-keyPersist-tun

Berguna untuk menghindari akses sumber daya tertentu pada restart yang mungkin tidak dapat diakses lagi karena downgrade hak 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 diinstall sesuai request VPN server dan PAM akan menjalankanfile 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 copy sertifikat dan kunci clientyang 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 pada Tabel 2.

Page 22: Implementasi Autentikasi pada Virtual Private Network (VPN

13

Tabel 2 Edit File Client.ovpn

PARAMETER KETERANGANClient Menunjukkan sebagai client.Proto tcp Protokol yang digunakan adalah TCPDev tap Akan menciptakan tunnelRemote 192.168.0.1 1194 Agar client dapat terkoneksi dengan

serverResolve-retry infinite Untuk mencoba menjaga koneksi dengan

serverCa ca.crtCert client1.crtKey client1.key

Sertifikat dan kunci-kunci yang digunakan client

Nobind Client tidak perlu mengingat portPersist-keyPersist-tun

Berguna untuk menghindari akses sumber daya tertentu pada restart yang mungkin tidak dapat diakses lagi karena downgrade hak istimewa.

Auth-user-pass Menggunakan autentikasi untuk clientyang berupa username dan password.

Comp-lzo Menghidupkan kompresi pada jalur VPN.

Verb 4 Untuk penggunaan umum.

Untuk menjalankan openvpn pada server VPN dapat dilakukan seperti padaGambar 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 18 Start VPN

Gambar 19 Network pada Server

Page 23: Implementasi Autentikasi pada Virtual Private Network (VPN

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 client dapat dilakukan seperti pada Gambar 20.

Gambar 20 Mengkoneksikan 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 connect agar dapat terkoneksi ke server VPN.

Gambar 21 Login 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.

Gambar 22 Client Berhasil Terkoneksi

Page 24: Implementasi Autentikasi pada Virtual Private Network (VPN

15

Gambar 22 merupakan client yang berhasil melakukan koneksi ke serverVPN. Setelah berhasil terkoneksi indikator akan berubah menjadi warna hijau seperti terlihat pada Gambar 23.

Gambar 23 Icon OpenVPN

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 mask 255.255.255.0.

Gambar 24 Network Pada 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 client ketika melakukan login pada VPN. Pada Log tersebut dapat dilihat client yang melakukan login pada VPN adalah vebri.

Gambar 25 Log Autentikasi Kerberos

Page 25: Implementasi Autentikasi pada Virtual Private Network (VPN

16

Gambar 26 Log OpenVPN

Setelah client terkoneksi dengan server VPN dilanjutkan dengan tes koneksi dari client ke server dan sebaliknya. Tes koneksi yang dilakukan dengan melakukan perintah ping.

Gambar 27 Tes Koneksi Client ke Server

Gambar 28 Tes 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 client dengan 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.

Gambar 29 Testing Kerberos

Page 26: Implementasi Autentikasi pada Virtual Private Network (VPN

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 30 Tiket Kerberos

Gambar 31 Proses 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 Address atau 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 diinstallsesuai 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 database maka AS_REP akan mereplay dan membawa TGT yang berisi nama client dan session key ke VPN server. Pada proses request dan replaytersebut 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 terdaftar atau tidak benar maka akses akan ditolak.

Page 27: Implementasi Autentikasi pada Virtual Private Network (VPN

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 client melakukan 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),https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/Pluggable_Authentication_Modules.html. Diakses tanggal 25 Maret 2015.