Langsung ke konten utama

Konfigurasi OpenVPN pada Debian Jessie (Part I)



Virtual Private Network (VPN) merupakan jenis jaringan virtual dimana penguna dapat menggunakan fasilitas antar jaringan publik seolah-olah pengguna berada di jaringan lokal tersebut.

Misalkan, saya mempunyai 2 kantor yang berbeda lokasi. Masing-masing kantor mempunyai koneksi internet. Karakteristik yang sangat umum sekali pada tipe jaringan saat ini adalah, setiap komputer lokal yang terhubung ke internet akan melewati firewall untuk dilakukan masquerading. Sehingga, akses langsung dari jaringan publik ke komputer tersebut tidak diperbolehkan. Selain itu, IP public yang ditawarkan oleh Internet Service Provider (ISP) biasanya berupa IP dinamis.

Nah, padahal setiap kantor mempunyai data yang harus bisa diakses satu sama lain. Solusinya adalah menyewa sebuah Virtual Private Server (VPS) dan menginstal VPN. Ada beberapa jenis protokol VPN, salah satunya adalah OpenVPN. Untuk lebih jelasnya mengenai OpenVPN beserta kelebihannya akan disampaikan pada artikel selanjutnya.

Untuk topik ini akan dibagi menjadi 2 post yang berbeda antara lain:
1. Instalasi dan Pembuatan Certificate OpenVPN
2. Konfigurasi OpenVPN server
3. Konfigurasi OpenVPN client

Instalasi dan Pembuatan Certificate OpenVPN
Pastikan OpenVPN dan Easy-RSA telah terinstall. Easy-RSA akan otomatis menginstall OpenSSL yang berfungsi men-generate certificate/key. Certificate/key tersebut  akan untuk autentikasi user.

aptitude install openvpn easy-rsa

1. Membuat Certificate Directory
Certificate directory  merupakan environment  yang digunakan untuk men-generate certificate/key. Jadi, semua file yang berbau kredensial akan ditaruh disini.

make-cadir open-rsa
cd open-rsa


2. Identitas Certificate
Sebuah certificate membutuhkan identitas, jadi isikan semua identitas yang diperlukan pada file vars.

nano vars

Edit pada bagian:
- export KEY_SIZE=1028
- export KEY_COUNTRY="ID" #(kode negara untuk Indonesia)
- export KEY_PROVINCE="JI" #(kode provinsi untuk Surabaya, lihat disini
- export KEY_CITY="Surabaya" #(nama provinsi)
- export KEY_ORG="Blackhiden" #(nama organisasi)
- export KEY_EMAIL="blackhiden@gmail.com" #(email)
- export KEY_OU="Personal" #(organization unit/unit organisasi)
- export KEY_NAME="server" #(nama key)

Sesuaikan parameter yang bercetak merah. Jangan lupa untuk disimpan.

3. Buat Certificate Authority, Deffi-Helman dan TA.key
Verifikasi semua parameter pada vars dengan cara:

source vars

Syarat membuat certificate adalah environment yang bersih, sehingga pembuatan certificate tidak terganggu. Bersihkan dengan cara:

./clean-all

Kemudian buat Certificate Authority:

./build-ca

Terminal akan menanyakan identitas dari certificate. Karena sebelumnya sudah diisi, maka tinggal tekan ENTER saja. Certificate yang telah dibuat berada pada folder keys dengan nama ca.crt dan ca.key (demi keamanan, jangan bagikan ca.key )

Selanjutnya buat juga Deffie-Hellman:

./build-dh

Deffie-Helman ini digunakan untuk mengamankan jaringan saat pertukaran key.

Dan yang terakhir adalah adalah membuat ta.key yang digunakan untuk memperkuat verifikasi TLS dan diletakkan pada folder open-rsa/keys

openvpn --genkey --secret keys/ta.key

4. Buat certificate untuk Server
Selain membuat certificate dan key pair, beberapa file terenkripsi juga perlu dibuat. Sebagai langkah awal, buat certificate dan key untuk server terlebih dahulu

./build-key-server server

Perlu diperhatikan! server pada argumen pertama merupakan nama yang akan diberikan pada certificate dan keypair. Jadi apabila melakukan perubahan pada nama itu, sesuaikan juga dengan konfigurasinya

Terminal akan menanyakan identitas dari certificate seperti halnya pada langkah nomer 3. Bedanya, diakhir tahap pengguna akan ditanyai password challenge. Password challenge ini digunakan untuk mengamankan certificate dan key pair pada saat import. Karena yang di-generate adalah server, mungkin lebih baik tidak perlu menggunakan password challenge.

Semua file yang telah dibuat harus diletakkan di folder /etc/openvpn.

cd open-rsa/keys
cp ca.crt ca.key server.crt server.key ta.key dh1024.pem /etc/openvpn

5. Buat certificate untuk Client
Langkah selanjutnya adalah membuat certificate dan key untuk masing-masing client. Masukkan perintah berikut ini.

./build-key client1


client1 merupakan common name dari client. Sebisa mungkin untuk setiap client yang terhubung pada OpenVPN, gunakan certificate yang berbeda dan common name yang berbeda. Sehingga, perlu dibuat beberapa certificate untuk client.

Untuk password challenge boleh diisi, dengan catatan pengguna harus tetap mengingatnya. (saran saya sih nggak perlu biar nggak ribet)

Pada beberapa kasus (misalkan import key kedalam MikroTik), key yang telah digenerate harus ditransformsikan dalam bentuk *.pem.

openssl rsa -in keys/client1.key -out keys/client1.pem

client1 merupakan nama dari key dibuat sebelumnya.



Itulah cara bagaimana membuat certificate OpenVPN pada sistem operasi Debian Jessie. Silahkan lanjutkan ke konfigurasi server - Konfigurasi OpenVPN pada Debian Jessie (Part II) pada LINK INI


_______________
reference:
Virtual private network. (2017, August 5). In Wikipedia, The Free Encyclopedia. Retrieved
04:06, August 6, 2017
, from https://en.wikipedia.org/w/index.php?title=Virtual_private_network&oldid=794059105
Ellingwood, J. (2016, May 4). How To Set Up an OpenVPN Server on Ubuntu 16.04. Retrieved August 06, 2017, from https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04

Komentar

Postingan populer dari blog ini

Hubungan Manis antara Conan Edogawa dan Haibara Ai.

( Hubungan Manis antara Conan Edogawa dan Haibara Ai)  Halo para Conaners, tahu kenyataan unik nggak. Ternyata Haibara Ai tuh demen lho sama Conan Edogawa. Tapi dia berusaha menyembunyikannya lantaran dia udah tau kalo Conan (Shinichi) tuh suka dan cinta sama Ran. Haibara yang kita ketahui mempunyai kepribadian dingin ini, tak gampang putus asa nih buat nunjukin kegigihannya untuk mendapatkan perhatian dari Conan. Yuk kita lihat, usaha apa saja yang dilakukan Haibara untuk menaklukan Conan :

Live Streaming ke Banyak Media Sosial

Beberapa dekade terakhir, banyak sekali para gamer yang "nyambi" cari uang dengan melakukan live stream di media sosial terutama Facebook. Sebenarnya saya juga mulai kesel karena para fans live streamer sering membagikan live streaming-nya ke grup Facebook. Sehingga grup Facebook yang awalnya diperuntukkan sebagai media diskusi malah jadi ajang pencarian views. Spam dan annoying banget.

Instalasi FreeRADIUS ft. daloRADIUS | [UPDATE - Study case pada Debian Buster]

NOTE: Artikel ini telah mengalami perubahan. Sebelumnya, versi sistem operasi yang saya gunakan adalah Debian Wheezy. Dengan menggunakan Debian Buster beberapa versi package  juga ikut berubah. Update package akan saya beri warna font merah Remote Authentication Dial-In User Service atau sering disebut dengan RADIUS adalah sebuah protokol jaringan yang melayani administrasi pengguna dalam penggunaan jaringan secara terpusat. Aspek pelayanan yang diberikan meliputi  Authetication, Authorization dan Accounting  yang kemudian disingkat AAA atau triple A . RADIUS akan sangat dibutuhkan oleh provider skala besar, misalkan  Internet Service Provider (ISP) . Untuk platform MikroTik, RADIUS sering dikenal dengan userman ( user manager ) karena tugasnya memang manajemen pengguna.