Saturday, 5 March 2016

Konfigurasi OpenVPN server dan OpenVPN client

Seperti yang sudah saya jelaskan pada postingan sebelumnya, VPN adalah  Virtual Private Network yang memungkinkan kita dapat mengakses jaringan lokal menggunakan internet dengan teknologi tunneling. Sedangkan OpenVPN adalah software open source yang dapat menjalankan VPN. Dengan tingkat enkripsi yang tinggi, memungkinkan data yang akan kita terima maupun kita kirimkan akan jauh lebih aman dan dikarenakan tingkat enkripsi yang tinggi, saya akan menunjukkan tutorial setting VPN pada server, maupun OpenVPN pada client.

Untuk setting VPN server, pastinya harus membutuhkan VPS (Virtual Private Server) yaitu server yang berapa pada cloud server atau bisa dibilang sebagai server yang berapa pada cloud, dan nantinya kita akan mendapat IP private yang memungkinkan kita dapat kita dapat menggunakan alamat IP tersebut dikarenakan pada IP publik terdapat NAT yang memungkinkan IP pc kita dapat ditranslate atau dimanipulasi menjadi IP server yang kita gunakan ketika terhubung dengan internet. Untuk pembuatan VPS, anda dapat mengakses situs jasa pembuatan VPS dan pastinya BERBAYAR.

Jika sudah mendapatkan IP, masuk ke putty dan login menggunakan ssh yang berjalan pada port 22. Perlu diketahui, untuk dapat remote server anda harus mempunyai koneksi internet.


Jika anda merupakan pengguna linux, anda dapat menggunakan terminal dikarenakan linux sudah menyediakan fitur ssh yang memungkinkan kita dapat menggunakan port 22 untuk remote server atau keperluan lainnya. 


ssh : fitur yang kita gunakan
root : Kita login dengan menggunakan superuser
@128.199.197.50 : Alamat server yang ingin kita remote 
-p 22 : port yang akan kita gunakan, yaitu port ssh 

Untuk login, username yang kita gunakan adalah root. Mengapa root? Apakah user yang lain tidak dapat digunakan untuk meremote server? Dalam linux, kita tidak dapat mengedit file system dengan sembarangan. Untuk dapat mengedit directory file system, maka kita akan gunakan superuser. 

Setelah anda masuk kedalam server tersebut, langkah selanjutnya adalah mengupdate server. Kita melakukan update terhadap server dikarenakan memungkinkan server lebih up to date terhadap software maupun pembaruan yang dapat mendukung fitur dan memungkinkan bug yang ada pada software sebelumnya sudah di fix oleh pengembang.  Untuk perintahnya, dapat dilakukan seperti ini :


Setelah sistem di update, langkah selanjutnya adalah mengganti hostname server. Hostname diganti untuk memudahkan mengenali suatu perangkat atau server.



Lalu ganti dengan hostname sesuai hostname yang kita dapatkan dari vps. 



 Setelah selesai mengedit hostname, save dan quit dengan cara [ESC] lalu ketik :wq! lalu tekan enter. Setelah selesai disimpan, langkah selanjutnya adalah mengganti hostname secara paksa. 



Setelah itu, kita mengedit kembali hostname agar hostname kita mendapatkan ip publik. 


Maka akan muncul seperti berikut. 


Hapus localhost yang mubazir dan sisakan 1 localhost kemudian ":1" diganti menjadi ip publik yang kita dapatkan dan jangan lupa tambahkan hostname dibelakang ip publik. Dan hasilnya akan seperti berikut. 


Dan setelah itu jangan lupa save. Setelah selesai, coba ping hostname yang telah kita ganti. Selain perintah ping, kita dapat menggunakan nslookup [hostname] dan untuk kegunaannya, nslookup lebih mendefinisikan suatu hostname. Setelah selesai, masukkan repository openvpn pada vps dengan cara seperti berikut.


Setelah ditambahkan, instal openvpn pada server. 


Jika sudah terinstal, langkah selanjutnya adalah konfigurasi openvpn. Pertama kali, download dan install easy-rsa sebagai CA vpn server yang kita punyai. Certificate Authority adalah sebuah entitas yang bertugas mengeluarkan sertifikat digital untuk pihak lainnya.


Setelah menginstal easy-rsa, langkah selanjutnya adalam membuat sertifikat ssl pada openvpn. sertifikat ssl nantinya akan digunakan sebagai enkripsi pada openvpn. Ekstrak terlebih dahulu file yang telah kita download sebelumnya. File tersebut nantinya akan digunakan sebagai pembuat sertifikat yang akan kita buat, dan kemudian masuk kedalam direktori tersebut, lebih tepatnya pada direktori 2.0 yang ada didalam direktori easy-rsa.


Langkah selanjutnya adalah memeriksa terlebih dahulu source ./vars dan kemudian mengeksekusinya (optional). kemudian tunggu hingga selesai.


Jika sudah selesai, bersihkan cache yang ada pada CentOS.


Jika sudah, buatlah CA untuk OpenVPN. Pada sertifikat pada openvpn, akan ada beberapa pernyataan yang harus diisi seperti nama, organisasi, dan lain lainnya.


Kemudian pindahkan keys yang berisi sertifikat yang telah kita buat ke direktori utama dari openvpn.


Jika sudah dipindahkan, buatlah file konfigurasi untuk VPN OpenVPN tersebut pada /etc/openvpn/server.conf. File konfigurasi berisikan konfigurasi lanjutan untuk OpenVPN server.


Setelah selesai membuat file konfigurasi, langkah selanjutnya adalah membuat routing table dan sysctl pada OpenVPN server. Routing table memungkinkan kita untuk mengakses "jaringan lokal" yang ada pada server. Keduanya akan memforward connection terhadap OpenVPN.


Setelah selesai, buat user yang akan kita gunakan untuk login menggunakan OpenVPN client dan restart service OpenVPN nya.


Jika sudah, langkah selanjutnya adalah mendownload certificate yang sebelumnya telah kita buat. Download certificate pada winscp /etc/openvpn/keys/ca.crt dan kemudian taruh pada folder C:\Program Files\OpenVPN\config. Setelah selesai, buat file OpenVPN.ovpn dengan notepad dan isikan :


Jika semua sudah selesai, tinggal connect menggunakan client, isikan username dan password yang telah kita buat sebelumnya.

Thursday, 3 March 2016

Apa itu VPN?


Apa itu vpn? VPN adalah Virtual Private Network yang memungkinkan kita dapat mengakses jaringan lokal menggunakan internet dengan teknologi tunneling. Ini merupakan solusi mudah  untuk melakukan konektivitas dengan jaringan lokal hanya dengan menggunakan internet. Namun perlu kita ketahui, bahwa VPN itu hanya bersifat virtual. Dengan artian, jaringan publik seolah olah sebagai jaringan lokal dan kita termasuk didalamnya. VPN biasanya digunakan oleh suatu sekolah maupun suatu perusahaan supaya dapat berkomunikasi dengan sekolah atau perusahaan lainnya dalam virtual jaringan lokal. 


Ada software yang mendukung penggunaan VPN, seperti contohnya OpenVPN. OpenVPN adalah sebuah software open source untuk VPN yang dapat digunakan dengan cross platform (dapat saling terhubung walaupun berbeda sistem operasi) dimana aplikasi tersebut bekerja point to point tunnel yang memungkinkan personal computer yang kita miliki dapat langsung terhubung dengan server
secara point to point.


OpenVPN lebih diunggulkan dalam menggunakan VPN, dikarenakan tingkat enskripsi/keamanan yang tinggi yang meminimalisir terjadinya sniffing data pada jaringan publik.

Adapun fungsi tersendiri dari OpenVPN tersebut, yaitu
a. Kerahasiaan
     VPN melindungi data yang akan di transfer dengan adanya enskripsi data pada VPN. Ketika melewati internet, data akan dijaga kerahasiaannya

b. Data integrity (keutuhan data), data akan dijaga dari suatu personal computer ke server maupun sebaliknya dengan data yang akan tetap utuh. Ketika melewati internet, VPN akan menjaga data yang akan di transfer tersebut tanpa ada cacat sama sekali.

c. Origin Authentication (Verifikasi Sumber), OpenVPN akan melakukan verifikasi terhadap sumber data yang akan masuk kepada server tersebut.VPN akan memeriksa source data, dan jika authentication berhasil, VPN akan mensetujui data yang masuk.

d. Enkripsi, yaitu OpenVPN akan mengenskripsi dan melindungi data sehingga data sulit dibaca. Enkripsi akan merubah suatu data menjadi chipper (Bahasa mesin) yang pastinya akan menyulitkan untuk membaca apa isi dari data tersebut. Bahkan dengan adanya enkripsi, data akan di kompress dan tentunya akan menghemat kuota kita.