OpenVPN = Server – Multiple Clients =


Implementasi OpenVPN sebagai software VPN (Virtual Private Network) adalah hal yang menakjubkan untuk merealisasikan sebuah infrastruktur jaringan yang aman dalam penggunaan media internet sebagai media koneksi publik.  Prinsip dasar dari sebuah koneksi yang menggunakan VPN adalah dibentuknya sebuah selubung pribadi (tunnel private) dalam pita koneksi internet dengan metode penyandian atas transfer data (data ecncryption).

Dalam prakteknya, kunci dari implementasi VPN ini adalah penyandian.  Seperti kita ketahui bersama metode-metode penyandian tersebut terdapat beberapa yang telah diakui dan digunakan secara umum.  OpenVPN sendiri sebagai software infrastruktur VPN menggunakan metode Static Key – menggunakan sebuah pre-shared static key dan TLS – yang menggunakan SSL/TLS + certificates for authentication dan key exchange.

Dalam modus Static Key, pre-shared key dihasilkan dan dibagi antara kedua OpenVPN  sebelum selubung dimulai. Kunci statis ini berisi 4 kunci independen: HMAC mengirim, HMAC menerima, mengenkripsi, dan mendekripsi. Secara default dalam modus static key, kedua host akan menggunakan kunci HMAC yang sama dan sama mengenkripsi / mendekripsi kunci. Namun, dengan menggunakan parameter arah – rahasia, adalah mungkin untuk menggunakan semua 4 kunci secara mandiri.
Dalam SSL / TLS modus, sesi SSL didirikan dengan otentikasi dua arah (yakni masing-masing sisi sambungan harus menunjukkan sertifikat sendiri). Jika SSL / TLS otentikasi berhasil, enkripsi / dekripsi dan sumber kunci HMAC  ini kemudian secara acak yang dihasilkan oleh fungsi OpenSSL’s RAND_bytes dan bertukar di atas sambungan SSL / TLS . Kedua sisi sambungan memberikan bahan sumber pengacak. Modus ini tidak pernah menggunakan key bidirectionally, sehingga setiap rekan mengirim  HMAC berbeda , menerima HMAC, mengenkripsi paket, dan mendekripsi paket kunci. Jika – Tombol-metode 2 digunakan, kunci sebenarnya dihasilkan dari bahan sumber pengacak menggunakan fungsi PRF TLS. Jika – Tombol-metode 1 digunakan, tombol dihasilkan secara langsung dari fungsi RAND_bytes OpenSSL. – Tombol-metode 2 telah diperkenalkan dengan OpenVPN 1.5.0 dan akan membuat default dalam OpenVPN 2.0.
Hal yang perlu diperhatikan dalam prakteknya adalah file config server.opvn dan client.opvn beserta file-file sertifikasi (certificate), file-file kunci (.key).  Sisi server mempunyai file ca (certificate authentication), cert (certificate) dan key (key file yang menyimpan data enkripsi rahasia dari sebuah server – file ini jangan sampai diketahui orang sebab merupakan file identitas unik sebuah server VPN). Berikut adalah isi dari file Server.ovpn yang disimpan di server openVPN.
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.3.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Dan disisi client, sama seperti di sisi server harus disimpan file ca (certificate authentication) yg sama dengan ca dari server, file cert (certificate) yang dihasilkan dari proses enkripsi khusus untuk client menggunakan openssl (utility ini disertakan dalam paket openVPN), dan file key (yang dibuat khusus untuk client). Selain itu file configurasinya berbeda dengan configurasi server, berikut adalah isi dari file client.ovpn untuk membuat koneksi ke server
client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194  atau remote example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3
catatan : xxx dimaksud dalam pernyataan remote adalah alamat ip dari server openvpn yang dimaksud atau bisa juga langsung disebutkan nama domain dari server dimaksud.
Bentuk koneksi yang dimaksud dengan multi clients adalah kita bisa menambahkan beberapa client yang bisa terhubung kepada sebuah server dengan menyiapkan sertipikat (file cert) dan kunci (key) untuk masing-masing client yang diinginkan, kemudian dalam file client.ovpn dalam pernyataan cert dan pernyataan key isikan dengan nama dari file certificate dan key yang dibuat untuk client baru.
Sifat koneksi ini menggunakan metode route sehingga koneksi yang terbentuk memungkinkan terputusnya koneksi antara client ( komputer client1 tidak dapat melihat komputer client2 dan seterusnya) TETAPI dari komputer server semua client dapat terlihat oleh komputer server.  (Apabila membutuhkan perluasan workgroup diantara server dan client-client maka harus dipakai metode bridge – dalam kesempatan akan dibahas karena metode bridge mempunyai tingkat kesulitan yang lumayan rumit).
Ini adalah setting openVPN khusus dalam Windows XP tetapi secara prinsip penyiapan file server.ovpn dan client.ovpn serta file2 ca, certificate dan key sama saja.  Dalam Linux cara instalasinya lebih rumit dari windows XP.

1 comment so far

  1. xna kool on

    keren gan blognya, saya follow yah..??hehe..
    nice post gan. mampir donk gan..??
    jutaan traffic blog dari youtube


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: