MODUL 12 OPENVPN TUJUAN PEMBELAJARAN: 1. Mahasiswa mampu memahami cara kerja VPN 2. Mahasiswa mampu menggunakan aplikasi VPN 3. Mahasiswa mampu memahami troubleshot jaringan VPN
DASAR TEORI OpenVPN adalah aplikasi open source untuk Virtual Private Networking (VPN), dimana aplikasi tersebut dapat membuat koneksi point-to-point tunnel yang telah terenkripsi. OpenVPN menggunakan private keys, certificate, atau username/password untuk melakukan authentikasi dalam membangun koneksi. Dimana untuk enkripsi menggunakan OpenSSL.
Gambar 1. Model jaringan VPN
Gambar 2. Langkah-langkah VPN Langkah-langkah membangun jaringan VPN adalah : 1. Pada VPN gateway membuat shared key dan certificate 2. Mengirimkan key tersebut kepada client yang akan melakukan koneksi 3. Membangun koneksi dengan menggunakan key yang telah didapat dari suatu VPN Gateway TUGAS PENDAHULUAN 1. Jelaskan dengan singkat apa kegunaan dari VPN secara umum? 2. Jelaskan proses pertukaran kunci client-server pada aplikasi VPN. PERCOBAAN 1. Bangunlah jaringan seperti berikut :
Gambar 1 Jaringan Percobaan NB: Gunakan dhclient di masing-masing PC untuk mendapatkan IP dari router. 192.168.50.x & y : IP dari router Pilih 192.168.50.x sebagai VPN Gateway
Pilih 192.168.50.y sebagai PC Client A.KONFIGURASI PADA VPN Gateway 2. Install aplikasi openVPN # apt-get install openvpn
3. Mempersiapkan Certificate Authority (CA) dan Key a. Untuk mempersiapkan key pada openvpn dapat dilakukan dengan bantuan tools “easyrsa”, dimana tools tersebut terdapat di /usr/share/doc/openvpn/examples. Salin tools tersebut kedirektori /root, dengan cara # cp /usr/share/doc/openvpn/examples/easy-rsa/ /root –Rf
b. Kemudian gunakan tools tersebut dengan masuk ke direktori tersebut # cd /root/easy-rsa/2.0
c. Key dan certificate yang dibuat akan disimpan pada direktory “/root/easy-rsa/2.0/keys” Untuk mengenerate CA dapat dilakukan dengan cara ~/easy-rsa# source ./vars ~/easy-rsa# ./clean-all ~/easy-rsa# ./build-ca
Pada perintah “build-ca”, akan muncul beberapa pertanyaan, isi dengan : – Country Name : ID – State or Province : East Java – Locality Name : Surabaya – Organization Name : NetSecurity – Organization Unit : VPN – Common Name : kelompok1.eepis-its.edu (isi dengan VPN Gateway) – Email :
[email protected] (isi dengan email masing-masing) 4. Membuat certificate dan key untuk server (VPN Gateway) Untuk membuat key dan certificate disisi server dapat dilakukan dengan cara : ~easy-rsa/2.0# ./build-key-server server
Kemudian akan muncul beberapa pertanyaan yang mirip dengan perintah sebelumnya. Namun pada pertanyaan “Common Name” isikan dengan “nama server/router”. – Common Name : kelompok1.eepis-its.edu Apabila ada pertanyaan password[], kosongkan. Sedangkan pada pertanyaan “Sign the certificate? [y/n]:” dan “1 out of 1 certificate requests certified, commit? [y/n]”, ketik y 5. Membuat certificate dan key untuk client Untuk membuat key dan certificate yang akan digunakan oleh client, dapat dilakukan dengan cara : ~easy-rsa/2.0# ./build-key client
Kemudian akan muncul beberapa pertanyaan yang mirip dengan perintah sebelumnya. Namun pada pertanyaan “Common Name” isikan dengan “nama server/router”.
– Common Name : kelompok1.eepis-its.edu Sedangkan pada pertanyaan “Sign the certificate? [y/n]:” dan “1 out of 1 certificate requests certified, commit? [y/n]”, ketik y 6. Membuat Parameter dari Diffie Hellman Parameter Diffie Hellman digunakan oleh 2 pengguna untuk melakukan pertukaran key rahasia melalui media yang tidak aman. Untuk membuatnya dapat dilakukan dengan cara : ~easy-rsa/2.0# ./build-dh
7. Pemindahan Keys dan Certificate Setelah membuat key dan certificate. Diperoleh key dan certificate yang disimpan di direktory “keys” – ca.crt (root certificate) – ca.key (private key untuk certificate) – dhxxxx.pem, dimana xxxx adalah jumlah enkripsi yang digunakan – server.crt (certificate X509 milik server) – server.csr (certificate request) – server.key (private key untuk server) – client.crt (certificate X509 milik client) – client.csr (certificate request) – client.key (private key untuk client) Kemudian pindahkan key dan certificate tersebut pada direktori /etc/openvpn, sedangkan ca.crt, ca.key, client.crt, client.csr dan client.key harus dipindah ke PC client yang akan membuat koneksi dengan VPN gateway. Salin key dan certificate yang dibutuhkan (dh1024.pem, ca.* dan server.*). dengan cara : ~easy-rsa/2.0# cp ~easy-rsa/2.0# cp ~easy-rsa/2.0# cp
keys/ca.* /etc/openvpn keys/server.* /etc/openvpn keys/dh1024.pem /etc/openvpn
8. Membuat konfigurasi untuk OpenVPN Konfigurasi disisi VPN gateway menggunakan server.conf sedangkan disisi PC client adalah client.conf. Contoh file konfigurasi bisa diambil dari /usr/share/doc/openvpn/examples/sample-config-files/ Salin file konfigurasi ke direktori /etc/openvpn, dengan cara : #gunzip –c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf #vim
/etc/openvpn/server.conf
Rubah pada file konfigurasi /etc/openvpn/server.conf, pada bagian : ;local a.b.c.d Apabila IP dari VPN Gateway adalah 192.168.50.10 maka ganti a.b.c.d dengan
192.168.50.10. Sesuaikan dengan IP Router yang akan dijadikan VPN Gateway. Sehingga file tersebut dirubah menjadi: local 192.168.50.10 9. Menjalankan openvpn a. Sebelum menjalankan openvpn, amatilah prosesnya dengan # tail -f /var/log/daemon.log
b. Menjalankan OpenVPN dengan cara : # /etc/init.d/openvpn
restart
c. Sehingga akan muncul network device tun0: # ifconfig tun0
Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.1 P-t-P:10.8.0.53 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:123 errors:0 dropped:0 overruns:0 frame:0 TX packets:139 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:73514 (71.7 KB) TX bytes:20273 (19.7 KB)
B.KONFIGURASI PADA PC Client 10. Install aplikasi openvpn # apt-get install openvpn
11. Salinlah file-file sertifikat dan kunci pada poin 6 dari VPN Gateway ke PC Client File yang perlu dicopy adalah : ca.crt, ca.key, client.crt, client.csr dan client.key Gunakan aplikasi ftp/sftp untuk mencopy file-file diatas dari VPN Gateway, dan letakkan di /etc/openvpn di PC Client # ftp <no_ip_VPN_Gateway> >mget ca.* >mget client.* >quit # cp
ca.*
client.*
/etc/openvpn
12. Membuat konfigurasi untuk OpenVPN Konfigurasi disisi PC client adalah client.conf. Contoh file konfigurasi bisa diambil dari /usr/share/doc/openvpn/examples/sample-config-files/ Salin contoh file konfigurasi client.conf ke direktori /etc/openvpn, dengan cara # cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
Rubah file konfigurasinya dengan cara # vim /etc/openvpn/client.conf
Pada bagian : remote my-server-1 1194
Menjadi : remote
192.168.50.10
1194
Dimana 192.168.50.10 adalah IP server OpenVPN, ganti IP tersebut dengan IP VPN Gateway yang dituju. 13. Menjalankan openvpn a. Sebelum menjalankan openvpn, amatilah prosesnya dengan # tail -f /var/log/daemon.log
b. Menjalankan OpenVPN dengan cara : # /etc/init.d/openvpn
restart
c. Sehingga akan muncul network device tun0: # ifconfig
C. TES KONFIGURASI VPN GW – PC CLIENT 14. Tes dengan ping dari PC Client ke VPN Gateway dengan menggunakan interface eth0 dan tun0. # ping 192.168.50.10 # ping 10.8.0.1
15. Jalankan wireshark (pilih yang interface eth saja) pada PC Client dan lakukan telnet pada interface eth0 dan tun0 16. Jalankan telnet dari PC Client ke VPN Gateway # telnet 192.168.50.10
Amati prosesnya di wireshark. # telnet 10.8.0.1
Amati prosesnya di wireshark.
LEMBAR ANALISA Praktikum Network Security (OpenVPN) Tanggal Praktikum : Kelas : Nama dan NRP : A. Gambar topologi jaringan beserta dengan IP Addressnya, tunjukkan mana VPN Gateway dan PC Client KONFIGURASI PADA VPN Gateway B. Catat hasil pembuatan certificate authority (CA) pada poin 3.c C. Catat hasil pembuatan certificate dan kunci untuk server (poin 4) D. Catat hasil pembuatan certificate dan kunci untuk client (poin 5) E. Beri pendapat anda tentang proses yang terjadi waktu openvpn dijalankan di VPN Gateway (poin 9.a) F. Catat hasil pada 9.c setelah terbentuk interface tun0 KONFIGURASI PADA PC Client G. Beri pendapat anda tentang proses yang terjadi waktu openvpn dijalankan di VPN Client (poin 13.a) H. Catat hasil pada 13.c setelah terbentuk interface tun0 TES KONFIGURASI VPN GW – PC CLIENT I. Tes konfigurasi dengan perintah ping, bandingkan hasilnya antara menggunakan interface eth0 dan tun0 (poin 14) J. Tes konfigurasi dengan telnet, bandingkan hasilnya dari proses pengamatan di wireshark (poin 16)