phone: +62852 5254 2414
e-mail: simonmurdani@gmail.com

ASJ - VPN Server (BAB 5)(Kelas XII)


BAB 5
VPN Server

A. KOMPETENSI DASAR

3.14 Mengevaluasi VPN Server
4.14 Mengkonfigurasi VPN Server

B. MATERI PEMBELAJARAN

1. VPN Server

VPN merupakan singkatan dari Virtual Private Network, yang dapat diartikan sebagai jaringan virtual yang bersifat private, atau dengan kata lain sebuah VPN menyediakan sebuah jaringan yang terkoneksi secara pribadi dengan dient kemudian melalui jaringan privat tersebut client dapat melakukan koneksi kedalam jaringan lainnya. Dengan VPN maka memungkinkan pengguna untuk mengirim dan menerima data di jaringan publik seolah-olah perangkat yang digunakan terhubung langsung ke jaringan privat.
Teknologi VPN dibuat dan dikembangkan agar memungkinkan pengguna dapat mengakses aplikasi dan sumber daya perusahaan dari kantor cabang atau darimana saja seolah-olah berada pada jaringan yang sama. Dari segi keamanan, koneksi VPN dibuat menggunakan protokol tunneling yang terenkripsi serta ketika VPN digunakan maka pengguna harus melakukan otentikasi terlebih dahulu, baik berupa kata sandi maupun sertifikat autentikasi agar mendapatkan akses ke VPN. Dalam fungsi VPN lainnya, pengguna Internet dapat mengamankan transaksi yang dilakukan di internet dengan menggunakan VPN. Pengguna VPN juga dapat menghindari pembatasan geografis dan sensor pada suatu alamat website, atau juga dapat digunakan untuk terhubung ke server proxy sehingga identitas pribadi dan lokasi terlacak anonim ketika melakukan penjelajahan Internet.

2. Prinsip dan cara kerja VPN Server

Pada dasarnya VPN server bekerja seperti pada server pada umumnya, yaitu menerima request dari client kemudian menjawab requestnya. Server VPN berkerja dengan membuat layanan mulai dari menerima koneksi dari client, kemudian bertindak sebagai DHCP server sehingga client memperoleh IP Address, Setelah dient mendapatkan IP Address kemudian server seolah-olah membuat jaringan didalam jaringan atau biasa disebut tunnel (terowongan). Tunneling (terowongan) ini

digunakan untuk membuat jalur privat dengan menggunakan infrastruktur lain, vai provider internet. VPN menggunakan salah satu dari tiga teknologi tunneling va ada yaitu: PPTP, L2TP, dan Internet Protocol Security (IPSec). VPN juga merupakom merupakan perpaduan antara teknologi cunneling dengan enkripsi komunikasi dar sehingga lebih aman dibandingkan dengan koneksi internet biasa.
3. Jenis koneksi VPN

Protokol VPN mendefinisaikan bagaimana data dapat dilewatkan melalui jaringan VPN. Protokol VPN yang digunakan untuk melakukan koneksi diantaranya PPTP, L2TP, SSTP, IKEV2, dan OpenVPN. 

a. PPTP (Point-To-Point Tunneling Protocol). Merupakan salah satu protokol yang sudah lama digunakan dalam komunikasi jaringan, aslinya dibuat oleh Microsoft. Keunggulan dari protokol ini adalah dapat bekerja pada komputer dengan teknologi lama. Kemudian karena protokol ini dibuat oleh Microsoft, maka mudah digunakan di sistem operasi berbasis Windows. Kelemahan dari protokol ini adalah kurang aman, sehingga protokol ini mulai banyak dihindari oleh pengguna VPN.

b. L2TP/IPsec (Layer 2 Tunneling Protocol / Internet Protocol Security). Protokol  ini merupakan kombinasi dari PTPP dengan L2F dari Cisco. Konsem dari protokol ini adalah dengan menggunakan kunci untuk saling terkoneksi dengan aman pada ujung dari tunneling. Pada kenyataannya protokol ini juga tidak terlalu aman, karena sudah ada laporan bahwa protokol ini dapat dibongkar dan dapat mengetahui apa yang dikirimkan melewati tunnel.

c. SSTP (Secure Socket Tunneling Protocol). Merupakan protokol lainnya yang dibuat oleh Microsoft. Koneksi pada protokol ini menggunakan enkripsi SSL/ TLS yang faktanya sekarang ini merupakan standar enkripsi berbasis web. Kekuatan dari SSL dan TLS terletak pada jenis kriptografi yang dipakai, yaitu kriptografi symmetric-key, dimana setiap koneksi yang terjadi hanya dapat dipecahkan oleh kedua belah pihak. Sampai sekaran SSTP merupakan koneksi VPN yang sangat aman.

d. IKEv2 (Internet Key Exchange, Version 2). Protokol ini juga merupakan protokol yang dibuat oleh Microsoft. Pada prinsipnya sama seperti dengan protokol Microsoft lainnya, hanya saja terdapat tambahan fitur keamanan.

e.OpenVPN. Protokol ini dibuat dengan memperhatikan kelebihan-kelebihan protokol sebelumnya serta menghilangkan sebagian besar kekurangan yang ada. Penggunaan SSL / TLS merupakan aspek terpenting dalam protokol ini, terlebih OpenVPN didasarkan pada proyek Open Source, yang berarti bisa dikembangkan oleh banyak pengembang. OpenVPN menggunakan kunci yang hanya bisa diketahui oleh dua pihak yang saling berhubungan. OpenVPN merupakan protokol VPN yang paling aman.

Sayangnya tidak semua peralatan jaringan (device) support terhadap protokol protokol diatas. Misalnya protokol yang dibuat oleh Microsoft, kita tidak menemui banyak masalah jika digunakan pada sistem operasi Windows, akan tetapi jika kita menggunakan device Apple, maka akan terjadi beberapa limitasi terhadap protokol tersebut. Contoh lainnya dalah L2TP/IPsec merupakan defaut protokol pada iPhone, sedang pada android sudah berbeda lagi. Pada akhirnya kita akan memilih protokol yang dapat digunakan di semua peralatan.

4. Konfigurasi VPN Server Linux dengan OpenVPN

Untuk dapat melakukan instalasi OpenVPN , diperlukan akses setara to dalam server Debian 9 untuk membuat layanan OpenVPN. Untuk itu perlu din dan dikonfigurasikan pengguna selain root untuk dapat melakukan konfigura Selain itu, dibutuhkan komputer lain yang berfungsi sebagai otoritas sertifikat (CA) Meskipun secara teknis dimungkinkan untuk menggunakan server OpenVPN a. mesin lokal sebagai CA, hal ini tidak disarankan karena membuka VPN menimbulkan beberapa kerentanan keamanan.

a. Instalasi OpenVPN dan EasyRSA

Untuk memulai instalasi OpenVPN, perbarui indeks paket server VPN dalam server untuk mengenali OpenVPN. OpenVPN tersedia dalam repositori default Debian, sehingga cara untuk melakukan pembaruan indeks paket aplikasi dalah dengan perintah:
Server akan mengambil informasi paket yang ada pada sumber instalasi. Pastikan repositori sudah disetting sebelumnya agar perintah update dapat mengambil informasi pada repositori. Kemudian dilanjutkan dengan perintah instalasi OpenVPN
Akan muncul daftar paket apasaja yang diinstal bersamaan dengan OpenVPN dipasang, seperti dalam gambar berikut ini:
Tekan Y intuk dapat memulai instalasi. Karena OpenVPN menggunakan TLS, berarti perlu dibuat sertifikat keamanan yang digunakan untuk melakukan enkripsi dan deskripsi antara server dengan client. Untuk itu diperlukan aplikasi EasyRSA yang berfungsi untuk membuat sertifikat antentikasi. Gunakan Wyet untuk mengunduh apliasi tersebut. Adapun perintahnya adalah: 
Kemudian masuk ke dalam folder dan extract file tersebut dengan menggunakan perintah:
Perhatikan bahwa versi EasyRSA mungkin berbeda, karena tergantung release dari aplikasi tersebut.

b. Konfigurasi Variabel EasyRSA dan membuat CA (Certificate of Authority)

Setelah instalasi EasyRSA selesai dilakukan, didalamnya sudah terdapat konfigurasi default yang dapat diedit sesuai dengan kebutuhan. Caranya terlebih dahulu masuk ke dalam folder RSA dengan mengetik perintah:
Di dalam folder tersebut terdapat file dengan naman "vars.example”, buat kopian dari file tersebut tanpa menggunakan ekstensi file, sehingga hanya berupa file "vars” saja, dengan mengetikkan perintah berikut ini:
Buka file tersebut dengan perintah:
Kemudian cari baris berikut ini
Kemudian hilangkan pagar di depan baris berikut ini, kemudian sesuaikan dengan isian sesuai konfigurasi server yang disetting, seperti contoh dibawah ini
setelah selesai merubah setting vars, simpan kemudian close file tersebut. Di dalam folder EasyRSA terdapat script "easyrsa” yang dapat digunakan untuk memanggil berbagai tugas yang berkaitan dengan pembuatan sertifikat keamanan. Jalankan script tersebut dengan tambahan option init-pki untuk melakukan inisiasi pembuatan public key infrastructure pada CA server. Perintahnya sebagai berikut ini:
Tampilan output dari perintah diatas adalah: 
Kemudian, panggil script easyrsa kembali tetapi dengan option berbeda. Option yang digunakan adalah build-ca dengan option nopass agar tidak dimintai password. Adapun perintah lengkapnya adalah sebagai berikut:
User akan diminta untuk memasukkan nama Common untuk CA. Tampilan yang akan muncul adalah sebagai berikut:
Setelah langkah ini, berarti sertifikat autentifiakasi sudah dibuat di alamat yang tertera diatas. 

c. Pembuatan Server Certificate, Key, dan Encryption File

Setelah CA berhasil dibuat pada langkah sebelumnya, private key dan certificate juga dapat dibuat dari server kemudian dilakukan request pada server untuk dikenali (signed) oleh server VPN. Selama proses pembuatan enkripsi ini mungkin akan ada tambahan file yang digunakan. Adapun langkah yang harus dijalankan pertama kali adalah masuk kedalam direktori EasyRSA pada server vpn yang dibuat, caranya ketikkan perintah berikut:
Setelah masuk ke dalam folder EasyRSA, jalankan script easyrsa dengan opsi init pki. Meskipun pada langkah sebelumnya sudah dilakukan perintah ini, namun perintah ini perlu dijalankan ulang karena server dan akan memiliki direktori
PKI (public key infrastructure) yang terpisah, caranya ketikkan perintah beriku. |-/easyrsa init-pki Langkah selanjutnya adalah memanggil kembali script easyrsa tetapin dengan tambahan opsi gen-req dan disambung dengan common name yang pada langkah sebelumnya sudah diinisialisasikan. Dalam setting berikut common name disetting dengan nama server, yaitu “server”, sesuaikan nama server dengan nama server telah dimasukkan pada saat pembuatan CA. Jika nama yang digunakan bukan “server”, pada beberapa langkah dibawah harus ada penyesuaian. Misalnya ketika menyalin file yang digenerate / dihasilkan ke dalam direktori /etc/openvpn, harus disesuaikan dengan nama yang benar. Pada konfigurasi file /etc/openvpn/server.conf juga harus dikonfigurasi agar dapat sesuai dengan file .crt dan .key yang benar. Pastikan penggunaan opsi nopass agar tidak terdapat password yang mungkin bisa menyebabkan permasalahan pada langkah selanjutnya. Berikut perintah pemanggilan easyrsa dengan opsi gen-req:
Langkah diatas akan melakukan pembuatan / generate private key untuk server serta sertifikatnya dengan nama server.req seperti ditunjukkan pada tampilan berikut ini
Salin server key tersebut kedalam direktori /etc/openvpn/ dengan mengetikkan perintah berikut ini:
Kemudian kopikan file server.req ke dalam folder temporary dengan mengetikkan perintah berikut ini:
kemudian import bile server.req tersebut kedalam server dengan menggunakan perintah berikut ini:
Setelah dilakukan import, tandai file tersebtu dengan menjalankan script easyrsa dengan opsi sign-req disambung dengan tipe dan common name yang sesuai. Perintah ini dapat disesuaikan apakah akan bertipe server ataupun bertipe client. Adapun perintahnya adalah sebagai berikut:
Akan muncul tampilan yang menanyakan bahwa permintaan berasal dari sumber yang terpercaya, silahkan ketik "yes"kemudian tekan tombol enter.
Jika pada saat pembuatan CA tidak menggunakan opsi “nopass”, maka pada langkah ini akan diminta memasukkan password, tetapi jika opsi "nopas" diikutkan saat pembuatan CA, maka tidak ada permintaan memasukkan password.
Langkah selanjutnya adalah mengkopikan file server.crt dan ca.crt files kedalam direktori /etc/openvpn/ dengan mengetikkan perintah berikut ini :
Kemudian kembali ke dalam direktori EasyRSA dengan perintah berikut:
setelah itu buat key exchange dengan menggunakan salah satu algoritma yang sangat kuat, yaitu algoritma Diffie-Hellman dengan mengetikkan perintah dibawah ini:
Selama beberapa menit sistem akan melakukan generate key exchange dengan tampilan proses seperti dibawah ini
Setelah proses tersebut selesai, parameter DH akan tercipta dan disimpan dalam file dh. pem. Langkah selanjutnya adalah melakukan generate HMAC signature untuk menguatkan integritas dan kemampuan dari TLS Server yang dibuat, yaitu dengan mengetikkan perintah:
Jika perintah diatas sudah selesai dijalankan, salin dua buah file berikut kedalam direktori openvpn yang berada pada alamat letc/openvpn/, yaitu dengan perintah:
Setelah proses salin data diatas selesai, berarti semua sertifikat dan file kunci yang diperlukan oleh server VPN teralh berhasil dibuat. Langkah selanjutnya adalah membuat sertifikat keamanan dan file kunci untuk digunakan pada client ketika mengakses server OpenVPN. 

d. Pembuatan Client Certificate dan Key Pair

Meskipun Client Certificate dan Key Pair dapat dibuat di client kemudian dikirim kedalam server CA dan kemudian di signed, cara dibawah ini akan menguraikan proses untuk menghasilkan permintaan sertifikat di server. Manfaatnya agar server dapat membuat skrip yang secara otomatis sehingga dapat menghasilkan file konfigurasi klien yang berisi semua kunci dan sertifikat. Sehingga ketika client akan melakukan koneksi dengan server VPN tidak perlu lagi melakukan transfer key, file konfigurasi, maupun sertifikat keamanan, karena sudah berada di server. Pada langkah ini akan menghasilkan client tunggal dan pasangan sertifikat untuk server dan client. Jika client lebih dari satu maka proses berikut ini dapat diulangi untuk masing-masing klien. Perhatikan bahwa nama setiap client harus unik untuk setiap masing masing klien. Dalam proses dibawah ini client akan diberi nama client1. Sebagai langkah awal dalam proses pembuatan Client Certificate dan Key Pair ini adalah dengan membuat direktori home yang digunakan untuk menyimpan client certificate dan key files, yaitu dengan perintah :
Sebagai langkah keamanan, karena di direktori ini akan digunakan untuk menyimpan Client Certificate dan Key Pair serta file konfigurasi klien disarankan untuk mengunci hak aksesnya, yaitu dengan perintah:
setelah itu, kembali kedalam folder EasyRSA untuk menjalankan script easy dengan opsi gen-req dan nopass, kemudian dilanjutkan dengan nama dari client Langkah ini digunakan untuk menghasilkan file keypair, adapun perintahnya adalah sebagai beriktu:
Adapun tampilan proses diatas adalah sebagai berikut
Salin file key yang telah berhasil dibuat kedalam direktori client-configs dengan menggunakan perintah berikut
Kemudian signed request seperti yang dilakukan untuk server pada langkah sebelumnya. Hanya saja pastikan pada langkah ini digunakan untuk client
Tampilan proses signed request seperti berikut ini
Setelah itu salin juga file sertifikat tersebut kedalam direktori client-configs dengan menggunakan perintah berikut:
langkah selanjutnya adalah dengan menyalin file ca.crt dan ta.key yang telah dibuat pada proses sebelumnya kedalam direktori client-configs dengan menggunakan perintah berikut:
Setelah langkah diatas selesai dilakukan, maka semua sertifikat dan key server maupun client telah dibuat dan disimpan di direktori yang sesuai di server. Langkah selanjutnya adalah mengonfigurasi layanan OpenVPN di dalam server. 

e. Konfigurasi Layanan OpenVPN server

Setelah Client Certificate dan Key Pair klien serta server telah dibuat, langkah selanjutnya adalah melakukan konfigurasi OpenVPN dengan dimulai dari menyalin contoh file konfigurasi OpenVPN ke direktori konfigurasi, kemudian lakukan ekstrak agar dapat digunakan sebagai dasar untuk acuan pengaturan. Adapun perintahnya adalah sebagai berikut :
Kemudian buka file konfigurasi server tersebut dengan perintah:
Cari pada bagian HMAC untuk konfigurasi ols-auth. Baris tersebut sehari sudah tidak terdapat komentar berupa semicolon (:), jika masih ada kome semicolon hilangkan terlebih dahulu semicolon didepan tls-auth, kemudi di bawahnya tambahkan perintah “key-direction” dengan nilai 0 seperti non tampilan dibawah ini:
Selanjutnya, pada seccion cryptographic ciphers cari perintah mengenai cipher, pastikan bernilai AES-256-CBC dan tidak terdapat komentar dengan tanda semicolon (;) seperti pada tampilan berikut ini:
Tambahkan dibawah cipher tersebut algoritma yang digunakan untuk aces digest. Gunakan SHA256 sudah cukup aman. Ubahlah menjadi seperti tampilan dibawah ini:
Langkah selanjutnya adalah mencari parameter Diffie-Hellman yang digunakan oleh EasyRSA. Secara default parameter tersebut bernama dh2048.pem, akan tetapi pada langkah sebelumnya kita beri nama dh.pem sehingga diperlukan perubahan parameter dengan cara menghilangkan angka 2048 seperti pada tampilan berikut ini:
Kemudian untuk mengurangi beban Daemon OpenVPN saat melakukan inisialisasi, hilangkan komentar / semicolon pada user nobody dan group
nogroup sehingga baris tersebut akan aktif. Seperti pada tampilan berikut ini :
f. Melakukan konfigurasi jaringan untuk layanan OpenVPN
 
Agar layanan OpenVPN dapat melakukan routing terhadap traffic koneksi yang tersambung, ada beberapa aspek konfigurasi jaringan server yang perlu diubah. Jika dalam proses routing tidak disesuaikan, maka OpenVPN tidak dapat merutekan traffic dengan benar melalui Virtual Private Network. Konfigurasi yang pertama yang harus disesuaikan adalah IP Forwarding. IP Forwarding merupakan sebuah langkah dimana server bertindak sebagai router yang bertugas untuk meneruskan paket data yang diterimanya pada suatu jaringan ke jaringan yang lain sesuai tujuan dari paket data tersebut, jadi IP Forwarding merupakan syarat utama agar layanan VPN dapat berfungsi sebagaimana mestinya. Untuk mengaktifkan IP Forwarding dengan cara menghilangkan komentar pada pengaturan sysctl, adapun perintah untuk membuka konfigurasi sysctl adalah sebagai berikut:
hilangkan tanda # pada baris net.ipv4.ip_forward=1, sehingga menjadi seperti berikut ini:
setelah itu, simpan dan keluar dari editor pico. Untuk melakukan pengecekan apakah IP Forwarding sudah berjalan, ketikkan perintah berikut ini di terminal:
jika sudah muncul bahwa net.ipv4.ip_forward=1 di layar, maka IP Forwarding sudah berhasil diaktifkan. Langkah selanjutnya jika dalam debian 9 terdapat firewall (ufw), maka selain firewall tersebut dapat digunakan untuk melakukan blocking terhadap traffic yang tidak diinginkan, juga dapat digunakan untuk memanipulasi traffic yang menuju ke server, misalkan dengan melakukan masquerading. Untuk dapat melakukan masquerading maka gunakan konsep iptable yang dapat mengarahkan koneksi yang datang dari klien ke dalam tunnel OpenVPN di server. Sebelum membuka konfigurasi firewall untuk menambahkan rule masquerading, terlebih dahulu dicek interface network yang digunakan server ini, untuk mengecek interface network yang digunakan pada server gunakan perintah
akan muncul koneksi public yang digunakan oleh server, misalkan pada interface echo, echl ataupun enpos3, enp0s8, dan sebagainya, contoh:
setelah diketahui bahwa interface tersebut yang digunakan untuk koneksi internet, buka konfigurasi ufw untuk menambahkan konfigurasi router. Cara membuka konfigurasi ufw adalah sebagai berikut:
Pengaturan pada firewall UFW biasanya dilakukan dengan perintah ufw. Perintah yang dimasukkan dalam file before.rules diatas dibaca oleh sistem sebelum ar UFW lainnya, sehingga apa yang dimasukkan pada file ini akan dijalankan ol sistem terlebih dahulu. Adapun perintah yang akan kita masukkan didalam fl. tersebut adalah perintah iptables yang akan routing dan masquerading traff yang datang melewati VPN. Hasil akhirnya adalah sebagai berikut ini:
Setelah selesai melakukan konfigurasi, simpan dan tutup konfigurasi tersebut. Langkah berikutnya adalah mengatur agar firewall UFW mengijinkan melewatkan forwarding packet, karena secara default, forwarding packet tidak diijinkan dalam firewall. Caranya adalah dengan membuka konfigurasi default UFW dengan perintah berikut ini:
setelah itu cari baris perintah DEFAULT_FORWARD_POLICY kemudian ganti nilai dari perintah tersebut dari DROP menjadi ACCEPT seperti tampilan dibawah ini:
Setelah selesai melakukan konfigurasi, simpan dan tutup konfigurasi tersebut. Langkah berikutnya adalah mengatur firewall agar mengijinkan port yang digunakan oleh OpenVPN. Adapun port yang digunakan adalah port 1194 dengan protocol UDP. Selain itu firewall juga harus dikonfigurasi agar mengijinkan SSH sebagai persyaratan agar koneksi berjalan dengan aman. Caranya adalah ketikkan perintah berikut kedalam terminal
Tampilan saat perintah tersebut dilakukan adalah sebagai berikut: 
Setelah semua konfigurasi dilakukan, langkah selanjutnya adalah melakukan restarting pada UFW, yaitu dengan cara men-disable kemudian diaktifkan / enable agar dapat menjalankan konfigurasi yang sebelumnya telah dimasukkan. Adapun perintah untuk melakukan disabling dan enabling ufw adalah sebagai berikut:
Tampilan yang muncul saat melakukan aktifitas diatas adalah sebagai berikut:
g. Menjalankan Layanan OpenVPN

Untuk menjalankan layanan OpenVPN pada server, dapat menggunakan utility bawaan sistem yaitu systemctl. Caranya adalah dengan memanggil aplikasi OpenVPN dengan menyertakan file konfigurasi di belakang perintahnya. Nama konfigurasi dapat dilihat pada file /etc/openvpn/server.conf. Contoh perintahnya adalah sebagai berikut:
Langkah selanjutnya untuk memastikan kembali bahwa service untuk OpenVPN benar-benar sudah jalan adalah dengan mengetikkan perintah berikut: 

Jika semuanya berjalan dengan baik, maka output dari perintah diatas adalah sebagai berikut ini:
Untuk melakukan pengecekan bahwa OpenVPN sudah menjalankan tunneling dengan benar, dapat dilakukan dengan melihat IP Address yang dikeluarkan oleh tunneling tersebut. Berikut adalah perintah untuk melihat IP Addres pada ethernet tunnel OpenVPN: 
Perintah diatas akan menghasilkan informasi mengenai IP address pada tuno seperti tampilan dibawah ini:
Agar layanan OpenVPN dapat berjalan setiap kali server melakukan rebooting, maka diperlukan konfigurasi tambahan. Adapun perintah untuk menambahkan fungsi tersebut adalah:
Adapun tampilan dari perintah diatas adalah sebagai berikut ini:
Setelah sampai tahap ini, berarti layanan OpenVPN sudah jalan dan dapat digunakan. Sebelum menggunakan layanan OpenVPN, pastikan konfigurasi untuk client juga sudah berhasil dilakukan. Adapun konfigurasi untuk client ada di langkah selanjutnya. 

h. Pembuatan Konfigurasi Infrastruktur yang akan digunakan Client

Untuk dapat membuat client terkoneksi dengan server OpenVPN, masing masing client harus memiliki konfigurasi tersendiri. Konfigurasi client tersebut harus selaras dengan konfigurasi server. Agar masing-masing client dapat mendapatkan konfigurasi dari server secara otomatis, perlu dibuat konfigurasi dasar yang nanti akan digunakan sebagai konfigurasi default, kemudian disesuaikan dengan konfigurasi client, sertifikat keamanan, dan kunci keamanan. 

Langkah pertama yang dilakukan adalah membuat direktori baru yang akann digunakan untuk menyimpak konfigurasi client, yaitu dengan perintah:
Selanjutnya salin contoh konfigurasi yang sudah disediakan oleh OpenVPN kedalan folder yang sudah dibuat diatas. Caranya dengan mengecikkan perintah berikut ini:

(ket: disambung dan diberi spasi dengan perintah diatas) 
Setelah itu buka file yang sudah disalin tersebut dengan menggunakan text editor seperti dibawah ini:
Setelah masuk ke dalam konfigurasi tersebut, carilah baris mengenai remote. Pada baris ini berisi target client ke alamat OpenVPN server, gunakan IP Public dari server, misalkan remote 10.0.2.15 1194. Jika port yang digunakan berbeda dengan port default, maka port 1194 juga harus diganti sesuai dengan port yang digunakan, adapun tampilan saat konfigurasi ini adalah sebagai berikut:
Kemudian pastikan juga protokol yang digunakan diatas adalah protokol UDP, seperti pada tampilan diatas terdapat pada baris proto udp. Kemudian hilangkan tanda komentar (semicolon) pada baris user dan group, seperti pada tampilan dibawah ini:

Carilah baris yang mengatur ca, cert, dan key, kemudian non aktifkan dengan memberi tanda pagar di depannya. Baris ini dinonaktifkan karena ca, cert, dan key akan ditambahkan tersendiri. Adapun tampilan konfigurasi untuk dinonaktifkan adalah sebagai berikut ini:

Hal yang sama juga dilakukan untuk dls-auth, karena nanti ta.key akan langsung diberikan pada file konfigurasi client, sehingga dalam konfigurasi tersebut harus dimatikan dulu, seperti pada tampilan berikut ini :
Sesuaikan setting cipher dan auch sesuai dengan konfigurasi di file /etc/ openvpn/server.conf, yaitu cipher menggunakan AES-256-CBC sedangkan auth menggunakan SHA256 sesuai tampilan diatas. Langkah berikutnya adalah menambahkan baris key-direction dengan nilai 1 agar VPN dapat bekerja dengan baik pada client. Setelah semua konfigurasi diatas dilakukan, maka simpan file dan tutup file editor tersebut. Langkah selanjutnya adalah membuat script sederhana yang akan mengkompilasi konfigurasi dasar agar berisi sertifikat keamanan, key, dan enkripsi yang sesuai, kemudian dapat di tempatkan pada konfigurasi pada direktori - /client-configs/ files. Adapun langkahnya adalah dengan melakukan membuat file make_config. sh yang berada pada direktori -/client-configs dengan perintah seperti berikut ini:
Setelah masuk ke dalam file tersebut, tambahkan script berikut ini di dalamnya. Pastikan nama “mustibisa” disesuaikan dengan nama user account selain root yang dipakai di server. Di konfigurasi ini karena user yang bukan root adalah "mustibisa” sehingga di dalam script dibawah menggunakan isian “mustibisa”. Berikut ini adalah script yang harus ditambahkan pada file make_config.sh :
Sehingga tampilan pada editor file seperti berikut ini
Setelah selesai membuat file tersebut simpan dan cucup file editor. Langkah selanjutnya adalah memastikan bahwa script diatas dapat dijalankan dengan mengetikkan perintah dibawah ini:
kemudian buat direktori untuk menampung hasil script tersebut
Cara kerja dari dari script diatas yang pertama adalah membuat salinan file base.conf, kemudian membuat semua sertifikat kemanan dan key file yang akan digunakan untuk client. Selanjutnya dalam script tersebut juga terdapat perintah untuk mengekstrak isi dan menambahkannya ke dalam salinan file konfigurasi dasar, kemudian mengekspor semua konten tersebut ke dalam file konfigurasi client. Sehingga pada tahapan ini semua informasi yang diperlukan akan disimpan di satu tempat. Manfaatnya adalah jika ada penambahkan klien di masa mendatang, script tersebut dapat dijalankan agar dapat membuat file konfigurasi dengan cepat dan memastikan bahwa semua informasi penting disimpan dalam satu lokasi yang mudah diakses. 

i. Membuat File Konfigurasi Client

Pada langkah sebelumnya, sudah dibuat file make_config.sh yang berfungsi untuk membuat file konfigurasi client secara otomatis. Pastikan terlebih dahulu masuk ke dalam folder tempat script tersebut disimpan, yaitu dengan perintah
Kemudian panggil script tersebut beserta nama client yang dibuat. Untuk menjalankan script tersebut gunakan perintah :
Jika script diatas benar dan langkah-langkah sebelumnya juga benar, maka akan terbentuk file dengan nama clientl.ovpn yang berlokasi pada /home/mustibisa/ client-configs/files. Jika dibuka file tersebut berisi konfigurasi dasar beserta Sertifikat keamanan yang digunakan. Salin file tersebut keluar dari server dengan menggunakan FTP atau dengan menggunakan Aplikasi WinSCP seperti pada tampilan berikut ini:
Dengan terbentuknya file konfigurasi client tersebut, maka pembuatan VPN Server beserta konfigurasi untuk client selesai dilakukan.

j. Pemasangan konfigurasi pada client

Untuk melakukan pemasangan konfigurasi di client, didasarkan pada sistem operasi yang digunakan oleh client. OpenVPN dapat dipasang di semua sistem operasi, bahkan dalam smartphone berbasis android maupun iOS. Dalam contoh ini akan dipasang pada sistem operasi berbasis Windows. Sebelum dilakukan pemasangan konfigurasi, terlebih dahulu dilakukan instalasi aplikasi OpenVPN. Adapun sumber / master instalasi OpenVPN dapat di download secara gratis di https://openvpn.net/index.php/open-source/downloads.html .

Pada saat melakukan unduhan / download di website OpenVPN, pastikan dipilih sistem operasi yang sesuai, yaitu Windows Installer seperti pada tampilan dibawah ini
Setelah master aplikasi selesai di unduh, langkah selanjutnya adalah menjalankan instalasi aplikasi OpenVPN. Jalankan file openvpn-install yang telah diundun, akan muncul tampilan seperti dibawah ini:
Pilih next untuk melanjutkan instalasi
Terdapat jendela persetujuan lisensi OpenVPN. Pada jendela ini terdapat berbagai informasi dan persetujuan lisensi apabila menggunakan OpenVPN. Pilih I Agree untuk melanjutkan instalasi.
Akan muncul jendela pemilihan komponen yang akan diinstal, jika di dalam komputer sudah terdapat TAP Virtual Ethernet Adapter, maka bisa dihilangkan checkbox nya, tetapi jika di dalam komputer tidak terdapat aplikasi pendukung yang dipersyaratkan, maka harus dicentang sesuai dengan konfigurasi default Untuk menyetujui bahwa paket tersebut akan diinstall, maka klik next untuk melanjutkan instalasi.
Tampilan selanjutnya adalah alamat tujuan instalasi aplikasi. Secara default aplikasi akan terinstall pada alamat direktori C:\Program Files\OpenVPN. Apabila akan dirubah tempat instalasinya, dapat menekan tombol browse dan mengarahkan ke direktori tujuan yang diinginkan. Setelah itu untuk memulai Instalasi tekan tombol Install.
Instalasi akan berjalan dengan menampilkan komponen apa saja yang sedang dilakukan pemasangan. Pada saat pemasangan TAP adapter, akan muncul jendela konfirmasi pemasangan TAP Virtual Ethernet Adapter seperti pada gambar berikut:
Tekan Install untuk memulai pemasangan TAP Virtual Ethernet Adapter.
Setelah beberapa saat, aplikasi OpenVPN akan selesai dipasang. Tekan Finish untuk mengakhiri pemasangan aplikasi OpenVPN. 

k. Testing pada client

Sebelum menjalankan OpenVPN, salin terlebih dahulu file clientl.ovpn yang pada langkah sebelumnya telah dibuat. File tersebut diletakkan di dalam folder config dimana letak instalasi OpenVPN dilakukan, secara default berada di C:\Program Files\OpenVPN\config. Setelah disalin ke dalam folder config, secara automatis ketika aplikasi dijalankan akan membaca konfigurasi yang berada pada folder tersebut. Untuk percobaan pada Client, jalankan aplikasi OpenVPN yang telah dipasang dengan cara double klik pada icon OpenVPN GUI yang ada di desktop, seperti pada tampilan berikut ini:
Setelah dijalankan / di klik dua kali, maka seperti tidak ada tampilan apapun yang muncul. Hal itu dikarenakan aplikasi OpenVPN GUI berjalan di belakang layar / service. Untuk mengecek apakah aplikasi tersebut dapat dilakukan dengan mengklik show hidden icon pada taskbar di pojok kanan bawah. Akan muncul tampilan monitor yang berisi gembok seperti pada gambar dibawah ini:
Untuk melakukan koneksi, klik kanan icon Open VPN GUI yang terdapat pada taskbar tersebut, kemudian pilih Connect. Seperti pada tampilan dibawah ini: 

Untuk melakukan koneksi, klik kanan icon Open VPN GUI yang terdapat pada taskbar tersebut, kemudian pilih Connect. Seperti pada tampilan dibawah ini:
Akan muncul jendela proses koneksi ke server. Di dalam jendela tersebut akan terlihat berbagai perintah yang dilakukan oleh OpenVPN. Jendela tersebut akan tertutup otomatis jika koneksi berhasil dilakukan.
Setelah koneksi berhasil dilakukan, terdapat notifikasi jika koneksi berhasil dilakukan. Seperti pada gambar dibawah ini.
Jika di dalam taskbar icon monitor pada aplikasi OpenVPN berwarna hijau, kemudian jika pointer mouse mengarah ke icon tersebut muncul deskripsi keterangan koneksi, maka client sudah berhasil terkoneksi dengan VPN Server.

C. TUGAS MANDIRI

Jawablah pertanyaan di bawah ini dengan tepat dan benar!
1. Jelaskan yang dimaksud dengan VPN! 
2. Jelaskan prinsip kerja dari VPN! 
3. Sebutkan 3 teknologi tunneling yang digunakan VPN! 
4. Jelaskan keunggulan PPTP (Point-To-Point Tunneling Protocol)! 
5. Mengapa dalam melakukan instalasi Open VPN di Debian 9, juga memerlukan instalasi EasyRSA?

D. TUGAS KELOMPOK

1. Buatlah kelompok yang terdiri dari 2 – 4 anak 
2. Lakukan praktikum installasi dan konfigurasi server VPN dengan menggunakan OpenVPN. 
3. Lakukan koneksi dari client ke server VPN dengan menggunakan OpenVPN. 
4. Catat kendala yang terjadi saat pembuatan Server VPN, baik saat instalasi maupun pengaksesan aplikasi, kemudian cek ulang permasalahan tersebut. 
5. Presentasikan instalasi Server VPN beserta kendala yang terjadi dengan kompak, jelas, padat, dan singkat!

E. UJI KOMPETENSI

PILIHAN GANDA Pilihlah jawaban yang paling tepat dengan memberikan tanda silang (X) pada bu A, B, C, D atau E!

1. Apa kepanjangan dari VPN?
A. Visual Private Network
B. Valid Private Network
C. Various Private Network 
D. Virtual Private Network 
E. Virtual Praise Networking 

2. Yang dimaksud dengan VPN adalah....
A. Jaringan Pribadi
B. Jaringan komersial
C. Jaringan global 
D. Jaringan local 
E. Jaringan nirkabel 

3. VPN menggunakan salah satu dari tiga teknologi tunneling yang ada yaitu, Kecuali...
A. PPTP
B. L2TP dan standar terbar
C. Internet Protocol Security 
D. IPSec  
E . TCM

4. VPN adalah sebuah koneksi virtual yang bersifat private, karena....
A. Jaringan ini tidak ada secara fisik hanya berupa jaringan virtual 
B. Jaringan ini merupakan jaringan yang sifatnya publik 
C. Jaringan ini dapat di akses oleh semua orang 
D. Jaringan ini bisa terlihat secara fisik 
E. Jaringan ini bersifat tidak aman 

5. Protocol VPN yang digunakan untuk koneksi yang merupakan kombinasi dari Cisco adalah....
A. PPTP
B. L2TP/IPsec
C. SSTP 
D. IKEv2 
E. OpenVPN 

6. Protokol yang dibuat oleh microsoft yang menggunakan enkripsi SSL/TLS kriptografi symmetric-key adalah....
A. PPTP
B. L2TP/IPsec
C. IKEv2 
D. SSTP
E. OpenVPN 

7. Tidak semua peralatan jaringan (device) support terhadap protokol – protokol VEN, Sebagai contoh iphone yang protokol defaultnya adalah...
A. PPTP
B. IKEv2 
C. OpenVPN 
E. L2TP/IPsec 
D. SSTP 

8. Aplikasi yang digunakan untuk membuat sertifikat keamanan untuk melakukan enkripsi dan deskripsi antara server dan client pada konfigurasi OpenVPN adalah... 
A. FreeBSD
B. Wine  
C. EasyRSA 
D. ProFtpd 
E. MySql 

9. Cara masuk ke folder RSA pada debian  9 adalah....
A. Cp EasyRSA-v3.0.6/
B. Pico EasyRSA-v3.0.6/
C. Cd EasyRSA-v3.0.61 
D. Wget EasyRSA-v3.0.6/ 
E. Tar xvf EasyRSA-unix-v3.0.6.tgz/ 

10. Perintah yang digunakan untuk meng-extract file EasyRSA pada debian 9 adalah...
A. Dpkg -i EasyRSA-unix-v3.0.6.tgz 
B. Pico EasyRSA-unix-v3.0.6.tgz 
C. Nano EsayRSA-unix-v3.0.6.tgz
D. Tar xvf EasyRSA-unix-v3.0.6.tgz 
E. Wget -P EasyRSA-unix-v3.0.6.tgz

11. Script “easyrsa” di dalam folder EasyRSA digunakan untuk....
A. Menginstall EasyRSA 
B. Menjalankan EasyRSA 
C. Memanggil berbagai tugas yang berhubungan dengan ip address 
D. Memanggil berbagai tugas yang berhubungan dengan sistem debian 
E. Memanggil berbagai tugas yang berhubungan dengan pembuatan sertifikat keamanan 

12. Cara menjalankan script easyrsa dengan option init-pki adalah...
A. Init-pki easyrsa
B. /init-pki easyrsa 
C. Jeasyrsa init-pki 
D. easyrsa init-pki/
E. easyrsa./init-pki 
 
13. Perhatikan perintah berikut ini
Perintah di atas digunakan untuk... 
A. Membuat / generate private key untuk server serta sertifikatnya 
B. Masuk kedalam folder easyrsa 
C. Mengektrak file Easyrsa 
D. Membuat / generate dhcp server
E. Melakukan instalasi Open VPN 

14. Cara mensalin server key kedalam direktori /etclopevpn/ adalah...
A. p -/EasyRSA-v3.0.6/pki/reqs/server.req/tmp 
B. cp server.key /etc/openvpn/ 
C. cd - EasyRSA-v3.0.6/pki/private/server.key /etc/openvpn/ 
D. cp -/EasyRSA-v3.0.6/pki/private/server.key /etc/openvpn/
E. - EasyRSA-v3.0.6/pki/private/server.key /etc/openvpn/ 

15. Perhatikan gambar dibawah ini:
Proses diatas adalah proses pada saat... 
A. Instalasi OpenVPN 
B. Opsi Nopass untuk menghilangkan inputan password 
C. Proses generate Algoritma Diffie-Hellman 
D. Penanda sign-req pada server 
E. Pembuatan private key
 
16. Cara untuk melakukan generate HMAC signature yang digunakan untuk menguatkan integritas dan kemampuan dari TLS Server adalah...
A. Openvpn --genkey --secret ta.key  
B. /easyrsa gen-dh
C. Jeasyrsa sign-req server server 
D. Jeasyrsa gen-req server nopeas
E. Jeasyrsa init-pki 

17. Letak folder konfigurasi server Open Vpn server.conf terdapat pada...
A. Openvpn/etc/server.conf/ 
B. Home/openvpn/server/server.conf 
C. letclopenvpn/server.conf 
D. etc/var/openvpn/server.conf 
E. Openvpn/server.conf

18. Pada section cryptographic cipher cari perintah mengenai cipher, dan pastikan bernilai...
A. AES-128-BCB
B. AES-256-CBC  
C. SAE-256-CBD
D. ASE-256-BCC 
E. AES-255-CBC 

19. algoritma yang digunakan untuk auth digest pada script dibawah ini adalah....
A. MD5
B. SHA-1
C. SHA-512 
D. SHA-256 
E. Base64 

20. Agar layanan OpenVPN dapat berjalan setiap kali server melakukan rebooting, maka
diperlukan konfigurasi tambahan yaitu.... 
A. Systemctl enable openvpn@server 
B. Ip addr show tuno 
C. Systemctl status openvpn@server 
D. Systemctl start openvpn 
E. Sysctl -p

F. SOAL VARIASI
 
Jawablah soal di bawah ini dengan petunjuk sebagai berikut!
Pilihan : 
A. Jika 1, 2 dan 3 benar 
B. Jika 1 dan 3 benar 
C. Jika 2 dan 4 benar 
D. Jika hanya 4 benar
E. Jika semua benar
 
1. Pernyataan berikut yang benar mengenai VPN adalah
(1) VPN adalah jaringan virtual yang bersifat private 
(2) VPN menggunakan ip address secara manual dari server VPN 
(3) VPN dibuay dengan menggunakan protokol tunneling yang terenkripsi
(4) VPN dapat dilakukan pada jaringan yang tanpa akses internet 

2. Pada dasarnya VPN Server bekerja dengan cara....
(1) Menerima request dari client kemudian menjawab requestnya 
(2) Bertindak sebagai DHCP server sehngga client memperolah IP Address 
(3) Membuat jaringan didalam jaringan atau tunneling 
(4) Merupakan perpaduan antara teknologi tunneling dengan enkripsi komunikasi data 

3. VPN menggunakan tiga teknologi tunneling yang ada, yaitu...
(1) PPTP
(3) Internet Protocol Security (IPSec) (2) L2TP
(4) LPTKA 

4. Merupakan protokol default pada iphone
(1) PPTP
(3) IKEv2 (2) SSTP
(4) L2TP/IPsec 

5. Merupakan protokol yang dibuat oleh Microsoft
(1) PPTP
(2) SSTO  
(3) IKEv2 
(4) OpenVPN
 
6. Cara kerja dari OpenVPN adalah..
(1) OpenVPN adalah proyek berbayar sehingga sulit dikembangkan oleh banyak orang 
(2) Penggunaan SSL/TLS merupakan aspek terpenting dalam protokol ini 
(3) Dikembangkan oleh Microsoft dan Cisco 
(4) OpenVPN menggunakan kunci yang hanya bisa diketahui oleh dua pihak yang saling berhubungan 

7. Untuk dapat melakukan instalasi OpenVPN diperlukan
(1) Akes setara root ke dalam server 
(2) Instalasi ProFTPD 
(3) Komputer lain yang berfungsi sebagai otoritas sertifikat (CA)
(4) Jalur internet private 

8. Pada konfigurasi vars berikut ini:
Baris yang perlu di hilangkan tanda pagar (#)-nya adalah... 
(1) set_var EASYRSA_REQ_COUNTRY "US" 
(2) set_var EASYRSA_REQ_PROVINCE "California" 
(3) set_var EASYRSA_REQ_CITY "San Franscisco"
(4) set_var EASYRSA_REQ_ORG "Copyleft Certificate Co" 

9. langkah konfigurasi VPN server linux dengan OpenVPN adalah...
(1) Instalasi OpenVPN dan EasyRSA 
(2) Konfigurasi Variabel Easy RSA dan membuat CA (Certificate of Authority) 
(3) Pembuatan Server Certificate, key dan encripstion file 
(4) Pembuatan server DHCP

10. Langkah yang terdapat pada pembuatan server Certificate, key dan encryi adalah... 
(1) Pico vars
(3) Chmod -R 700 -/clinet-configs 
(2) Jeasyrsa init-pki
(4) Openvpn --genkey --secret ta.key

0 komentar: