LEMBAR PENGESAHAN
Batam, 22 Februari 2011
Pembimbing,
Uuf Brajawidagda, MT NIK. 100015
LEMBAR PERNYATAAN
Dengan ini, saya:
NIM : 3310801092
Nama : Seri Ganda Mey Ulima
adalah mahasiswa Teknik Informatika Politeknik Batam yang menyatakan bahwa tugas akhir dengan judul:
“Implementasi VPN (Virtual Private Network) di Politeknik Batam”
disusun dengan:
1. Tidak melakukan plagiat terhadap naskah karya orang lain 2. Tidak melakukan pemalsuan data
3. Tidak menggunakan karya orang lain tanpa menyebut sumber asli atau tanpa ijin pemilik
Jika kemudian terbukti terjadi pelanggaran terhadap pernyataan di atas, maka saya bersedia menerima sanksi apapun termasuk pencabutan gelar akademik.
Lembar pernyataan ini juga memberikan hak kepada Politeknik Batam untuk mempergunakan, mendistribusikan ataupun memproduksi ulang seluruh hasil Tugas Akhir ini.
Batam, 22 Februari 2011
Seri Ganda Mey Ulima
KATA PENGANTAR
Puji syukur atas kehadirat Tuhan Yang Maha Esa atas karunia-Nya penyusun dapat menyelesaikan Tugas Akhir yang berjudul “Implementasi VPN (Virtual Private
Network) di Politeknik Batam”.
Pada kesempatan ini, penyusun ingin menyampaikan ucapan terima kasih kepada pihak-pihak yang telah membantu proses penyelesaian Tugas Akhir ini, antara lain:
1. Bapak Uuf Brajawidagda, MT selaku koordinator Tugas Akhir dan pembimbing.
2. Dosen-dosen Teknik Informatika yang telah memberikan kritik dan saran sehingga penyusun dapat menyelesaikan Tugas Akhir dengan baik.
3. Keluarga yang telah memberikan dukungan dan doa.
4. Sahabat atau teman-teman yang yang telah membantu penyusun dalam menyelesaikan Tugas Akhir ini.
Penyusun juga menyadari bahwa masih terdapat kekurangan dalam penyusunan Tugas Akhir ini. Untuk itu, penyusun mengharapkan kritik dan saran yang membangun dari pihak-pihak lain. Semoga laporan ini dapat berguna bagi pembaca yang ingin melakukan pengembangan selanjutnya.
Batam, 22 Februari 2011
ABSTRAK
Implementasi VPN (Virtual Private Network) di Politeknik Batam
Jaringan komputer terdiri dari jaringan lokal dan jaringan publik atau internet. Jaringan publik bersifat terbuka dan dapat diakses oleh umum, sedangkan jaringan lokal hanya dapat diakses secara terbatas untuk keperluan internal. Data-data internal tersebut terkadang perlu diakses dengan memanfaatkan jaringan publik sehingga membutuhkan usaha untuk melindungi keamanan data.
Salah satu teknologi yang tersedia untuk melindungi keamanan akses data internal tersebut adalah VPN (Virtual Private Network). VPN adalah sebuah jaringan data private dengan tunneling pada jaringan publik yang menggunakan
metode enkripsi data serta menerapkan otentikasi user. Penelitian ini tentang implementasi VPN di Politeknik Batam.
ABSTRACT
Implementation of VPN (Virtual Private Network) in Polytechnic
Batam
Computer network consist of local networks and public networks or the internet. Public network is open and accessible to the public, while the local network only can be accessed only limited for internal purposes. Sometimes internal data need to be accessed by using a public network that requires effort to protect data security.
One of the technologies available to protect the security of internal data access is VPN (Virtual Private Network). VPN is a network of private data with tunneling on public networks which uses data encryption method and implement user authentication. This research is about VPN implementation in Polytechnic Batam.
DAFTAR ISI
LEMBAR PENGESAHAN ... i
LEMBAR PERNYATAAN ... ii
KATA PENGANTAR... iii
ABSTRAK ... iv
ABSTRACT ... v
DAFTAR ISI ... vi
DAFTAR TABEL ... viii
DAFTAR GAMBAR ... ix
BAB 1 Pendahuluan ... 1
I.1 Latar Belakang ... 1
I.2 Rumusan Masalah ... 2
I.3 Batasan Masalah ... 2
I.4 Tujuan ... 2
I.5 Sistematika Penulisan ... 3
BAB II Tinjauan Pustaka... 4
II.1 VPN (Virtual Private Network) ... 4
II.2 OpenVPN ... 9 II.3 Iptables ... 11 II.4 Protokol ... 13 II.5 Tunneling ... 13 II.6 Apache2 ... 13 II.7 Bind9 ... 14
BAB III Analisis... 15
III.1 Kebutuhan Data atau Resource Menggunakan Jalur VPN ... 15
III.2 Alternatif Teknologi VPN ... 15
III.3 Skema Jaringan Politeknik Batam ... 21
BAB IV Perancangan dan Implementasi ... 24
IV.2 Konfigurasi VPN pada Jaringan ... 26
IV.2.1Spesifikasi Implementasi VPN 27 IV.2.2Instalasi OpenVPN 28 IV.3 Konfigurasi Firewall ... 32
IV.4 Pengujian Implementasi VPN ... 33
BAB V Kesimpulan dan Saran... 36
V.1 Kesimpulan ... 36
V.2 Saran ... 36
DAFTAR PUSTAKA ... 37
DAFTAR TABEL
Table 1 Kebutuhan Pengaksesan Data atau Resource ... 15
Table 2 Perbandingan Solusi VPN ... 17
Table 3 Perbandingan Cara Koneksi Client VPN ... 20
Table 4 Deskripsi Isi Setiap Server ... 22
Table 5 Spesifikasi PC Server VPN ... 27
Table 6 Spesifikasi PC Client VPN ... 28
Table 7 Spesifikasi Webserver ... 28
DAFTAR GAMBAR
Gambar 1 Teknologi VPN ... 5
Gambar 2 Skema Jaringan Politeknik Batam ... 22
Gambar 3 Skema Jaringan VPN Politeknik Batam ... 25
Gambar 4 Contoh Skema Jaringan VPN yang baik ... 26
Gambar 5 Simulasi Skema Jaringan Pengimplementasian VPN ... 27
Gambar 6 Pengaksesan Web Resource Politeknik Batam sebelum Penginstalan Key dan Certificate ... 34
Gambar 7 Pengaksesan Web Resource Politeknik Batam setelah Penginstalan key dan Certificate ... 35
BAB 1 Pendahuluan
I.1 Latar Belakang
Keamanan data pada jaringan internet sangat diperlukan karena pentingnya data-data yang melalui jaringan internet. Ada berbagai cara yang dilakukan oleh pihak-pihak yang mempergunakan internet agar data-data tersebut terhindar dari penyusupan atau pencurian data yaitu salah satunya dengan merancang data-data tersebut hanya dapat diakses pada jaringan internal saja dan tidak secara global. Data-data tersebut merupakan resource atau sumber daya dalam jaringan internal berupa aplikasi atau web dan data lainnya. Namun hal tersebut menimbulkan keterbatasan yaitu berkurangnya ruang lingkup tempat dan waktu hak akses penggunanya dalam mengakses data-data tersebut.
Hal itu terjadi di Politeknik Batam yang membatasi pengaksesan beberapa
resource hanya di jaringan internal Politeknik Batam. Contoh resource tersebut
adalah akad atau SIMPOL (Sistem Informasi Politeknik Batam) untuk dosen, intranet atau penerapan iso Politeknik Batam, sdm atau informasi penerapan sumber daya dan sebagainya.
Masalah keamanan data dan terbatasnya pengaksesan resource Politeknik Batam dapat diselesaikan dengan menggunakan VPN (Virtual private network). VPN merupakan sebuah jaringan data private pada jaringan publik dengan
mempergunakan metode pengenkripsian data pada jalur datanya serta penerapan otentikasi user sehingga akses terhadap jaringan tersebut hanya dapat dilakukan oleh pihak-pihak tertentu. Dengan menggunakan VPN, user yang terhubung ke
wireless harus membuat tunnel atau jalur terowongan terlebih dulu ke VPN server agar dapat mengakses aplikasi-aplikasi internal tersebut.
Terdapat banyak aplikasi atau software VPN yang ada, seperti OpenVPN, OpenSwan, Clarkconnect, VPN Mikrotik, PopTop dan lain-lain. Dari
software-software yang ada tersebut, OpenVPN merupakan software-software yang lebih mudah
dalam pengimplementasiannya dan bersifat multiplatform yaitu dapat dijalankan di berbagai Operating System, seperti Linux, Windows dan Mac.
I.2 Rumusan Masalah
Berdasarkan latar belakang di atas, rumusan masalah yang akan diselesaikan adalah bagaimana merancang sebuah VPN dan mengimplementasikannya pada jaringan Politeknik Batam agar keamanan jalur data aplikasi yang ada di Politeknik Batam aman sehingga resource Politeknik Batam dapat diakses di luar jaringan Politeknik
Batam.
I.3 Batasan Masalah
Batasan masalah dalam tugas akhir ini adalah:
1. Implementasi VPN yang dilakukan adalah untuk membuka jalur pengaksesan jaringan internal pada Politeknik Batam.
2. Implementasi VPN dilakukan dengan menggunakan aplikasi OpenVPN.
3. Sistem Operasi server yang di pakai adalah Linux Ubuntu, sedangkan sistem operasi client menggunakan Linux Ubuntu atau Windows.
4. Pengujian implementasi VPN di Politeknik Batam dilakukan dengan pengujian teknik instalasi VPN dan aspek aturan firewall.
I.4 Tujuan
Tujuan dari implementasi VPN di Politeknik Batam ini adalah melakukan perancangan atau pengimplementasian VPN di Politeknik Batam agar resource pada jaringan internal Politeknik Batam seperti SIMPOL, intranet, invideo dan sebagainya dapat diakses di luar jaringan Politeknik Batam. Berikut adalah langkah-langkah yang akan dicapai:
1. Analisis kebutuhan pengaksesan resource yang terdapat pada jaringan internal Politeknik Batam.
2. Melakukan implementasi VPN pada jaringan internal Politeknik Batam berdasarkan kebutuhannya.
3. Melakukan pengujian teknik instalasi VPN dan aspek aturan firewall untuk mengetahui keberhasilan pengimplementasian VPN di Politeknik Batam.
I.5 Sistematika Penulisan
Sistematika penulisan laporan ini terdiri atas:
Bab 1 Pendahuluan
Berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan, dan sistematika penulisan.
Bab 2 Tinjauan Pustaka
Berisi tentang definisi atau penjelasan tentang hal-hal yang terkait dengan VPN, seperti definisi VPN, jenis implementasi VPN, metode sistem keamanan VPN, dan solusi pengimplementasian VPN yang ada.
Bab 3 Analisis
Bagian ini memuat uraian tentang langkah-langkah penyelesaian masalah kebutuhan yang ada di Politeknik Batam berdasarkan analisis yang dilakukan.
Bab 4 Implementasi
Bagian ini memuat uraian langkah pengimplementasian VPN dan pengujian pengimplementasian VPN di Politeknik Batam.
Bab 5 Kesimpulan dan Saran
BAB II Tinjauan Pustaka
II.1 VPN (Virtual Private Network)
VPN (Virtual Private Network) adalah sebuah jaringan data private pada jaringan publik dengan mempergunakan metode pengenkripsian data pada jalur datanya serta penerapan otentikasi user sehingga akses terhadap jaringan tersebut hanya dapat dilakukan oleh pihak-pihak tertentu. Perlu penerapan teknologi tertentu agar
traffic (lalu lintas) antar remote-site tidak dapat disadap dengan mudah, juga tidak
memungkinkan pihak lain untuk menyusupkan traffic yang tidak semestinya ke dalam remote-site jaringan tersebut.
Menurut IETF (Internet Engineering Task Force), VPN is an emulation of [a]
private Wide Area Network(WAN) using shared or public IP facilities, such as the Internet or private IP backbones. VPN merupakan suatu bentuk private internet
yang melalui public network (internet), dengan menekankan pada keamanan data dan akses global melalui internet. Hubungan ini dibangun melalui suatu tunnel (terowongan) virtual antara dua node.
Pada buku Network Complete terbitan SYBEX tahun 2000, a virtual private
network uses strong encryption and authentication to Secure a private channel across a public network like the Internet. These private channel can link two remote networks or connect a host to a remote network. When linking two networks, a virtual private network provides a channel that can carry all traffic between the two networks. Virtual private networks usually operate by encapsulating regular IP traffic inside an encrypted IP channel. The virtual private network host or gateway transmits the encrypted, encapsulated packets directly to the remote virtual private network gateway, which decrypts the datagrams and forwards them to their final destinations on the remote segment of the virtual private network.
Sebuah virtual private network menggunakan enkripsi dan otentikasi yang kuat untuk mengamankan jaringan private seperti internet. Jaringan private tersebut dapat menghubungkan dua jaringan atau menghubungkan sebuah host ke sebuah jaringan. Ketika menghubungkan kedua jaringan tersebut, VPN menyediakan sebuah jalur yang dapat membawa semua trafik jalur data antara dua jaringan. VPN selalu berjalan dengan pengansulapsian IP trafik ke dalam jalur enkripsi IP. VPN
host atau gateway menyalurkan paket data yang terenkripsi dan terenkapsulasi itu
secara langsung ke gateway VPN yang mana gateway VPN tersebut mendekripsikan kembali dan men-forward datagram-datagram paket ke tujuan akhir pengiriman paket.
Gambar 1 Teknologi VPN
Gambar 1 adalah suatu contoh teknologi VPN yang membuat tunnel atau jalur terowongan baru dalam jaringan internet yang menghubungkan suatu host dengan
jaringan internal suatu lembaga atau instansi yang pengaksesan ke dalam jaringan internal tersebut harus melalui suatu server VPN.
Sistem keamanan di VPN menggunakan beberapa lapisan yang merupakan komponen cara kerja VPN, antara lain:
1. Metode tunneling yaitu membuat terowongan virtual diatas jaringan publik atau saluran jaringan private menggunakan protokol seperti Point to Point
Protocol (PPTP), Layer 2 Tunneling Protocol (L2TP), Generic Routing Encapsulation (GRE) atau IP Sec (IP Security).
2. Metode Enkripsi yaitu membungkus (encapsulations) paket data yang lewat di dalam tunneling yang telah diciptakan. Data yang dilewatkan pada pembungkusan tersebut dirubah dengan metode algoritma kripthography tertentu seperti DES, 3DES, atau AES.
3. Metode Otentikasi User yaitu membuat pengenalan pada user yang akan mengakses jaringan VPN tersebut dengan menggunakan beberapa metode otentikasi user, seperti Remote Access Dial In User Services (RADIUS) dan
Digital Certificates.
4. Integritas Data, paket data yang dilewatkan di jaringan publik perlu penjaminan integritas data atau kepercayaan data apakah terjadi perubahan
atau tidak.
Selain itu, terdapat juga metode-metode pengamanan jaringan VPN yang perlu diimplementasikan dalam jaringan VPN. Metode pengamanan tersebut antara lain:
1. Firewall
Firewall merupakan komponen yang diletakkan pada jaringan lokal yang
membatasi akses antara komputer atau jaringan tersebut dengan internet.
Firewall juga merupakan pertahanan yang melindungi jaringan lokal dari
serangan luar. Terdapat fungsi dari firewall, yaitu:
1. Menfilter paket yang terdapat pada jenis firewall paket filtering. Firewall menerapkan beberapa aturan untuk memfilter paket yang akan masuk dan keluar jaringan.
2. Menyembunyikan alamat network LAN yang terdapat pada jenis firewall NAT (Network Address Translation). NAT menerjemahkan IP Private pada komputer menjadi alamat IP Publik, sehingga komputer client bisa mengakses internet.
3. Monitoring dan Logging yang terdapat aplikasi proxy. Proxy merupakan pengembangan dari paket filtering. Pemeriksaan pada aplikasi proxy
dilakukan pada seluruh bagian data paket IP mulai dari alamat IP hingga layer aplikasi berupa content web dan jenis file yang dapat dibuka.
2. Enkripsi
Enkripsi adalah proses mengamankan suatu informasi atau data dengan membuat informasi atau data tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Enkripsi data dilakukan untuk menghindari penyusupan atau pencurian data. Jenis enkripsi yang banyak diterapkan pada saat ini yaitu enkripsi kunci simetris dan enkripsi kunci publik. Penerapan enkripsi kunci simetris dilakukan menggunakan kunci yang sama pada waktu pendekripsiannya dan waktu pengenkripsiannya. Oleh karena itu, kunci tersebut harus dimiliki kedua komputer. Sedangkan enkripsi kunci publik menggunakan kombinasi kunci private dan kunci publik. Kunci private hanya
diketahui oleh pihak pengirim informasi dan kunci publik dapat dikirimkan ke pihak penerima dan diketahui oleh semua orang. Pihak penerima harus menggunakan kunci publik dan kunci private miliknya untuk mendekripsikan informasi.
Solusi VPN ada beberapa macam, antara lain:
1. IPSEC (IP Secure) adalah solusi VPN via IP Secure Protocol yang merupakan suatu teknologi jaringan yang didasarkan pada Network Layer dari OSI Model. IPSec VPN mengamankan semua aplikasi berbasis IP. Tingkat keamanan yang cukup baik namun dalam implementasinya cukup rumit. Ipsec VPN lebih cocok untuk sambungan antar jaringan atau gateway. Pengimplementasian Ipsec VPN memerlukan penginstalan atau pengkonfigurasian sebuah perangkat lunak client Ipsec pada PC atau workstation yang terlibat. Aplikasi yang digunakan yang berbasis open source yaitu Open/Free Swan.
2. PPPT (Point to Point Tunneling Protocol) merupakan protokol jaringan yang dikembangkan oleh Microsoft dan Cisco yang memungkinkan pengamanan transfer data dari remote client ke server pribadi perusahaan dengan membuat
sebuah VPN melalui TCP/IP. Aplikasi Open Source yang menggunakan PPPT adalah PopTop.
3. VPN SSL (Secure Socket Layer) adalah solusi VPN dengan menerapkan protokol SSL yang merupakan suatu teknologi jaringan yang didasarkan pada Transport Layer dari OSI Model. SSL VPN diperuntukkan untuk keamanan aplikasi berbasis web dan beberapa produk lanjutan seperti FTP, Telnet, dan lain-lain. Pengimplementasian SSL VPN ini tidak memerlukan pengkonfigurasian sebuah perangkat lunak client Ipsec pada PC atau
workstation yang terlibat. Solusi ini diawali dengan aplikasi OpenVPN.
4. SSH Socks Proxy adalah metode untuk menghubungkan dua komputer secara aman yang protokolnya mendukung tunneling dalam jalur koneksi SSH (Secure Shell). SSH Socks Proxy client menggunakan akses SSH ke server
dalam melakukan koneksi dan menggunakan web browser yang proxy-nya telah dikonfigurasi untuk membuka web yang dilarang oleh server tersebut. Hal tersebut yang membuat SSH Socks Proxy dapat menjadi alternatif dalam masalah pengaksesan resource Politeknik Batam.
Beberapa fungsi VPN antara lain:
1. Mempercepat pengaksesan jaringan intranet suatu perusahaan, lembaga pendidikan atau pemerintahan dengan menggunakan jalur VPN.
2. Mengamankan jaringan wireless. Dengan menggunakan VPN, jaringan
wireless atau jaringan publik yang dapat diakses oleh siapa saja yang berada di
jangkauan wireless tersebut dapat aman yaitu dengan login ke VPN server terlebih dahulu. Antara user satu dengan user lainnya dalam koneksi dengan
server VPN, menggunakan saluran yang berbeda sehingga jalurnya lebih aman.
Jenis implementasi VPN pada umumnya yang banyak diterapkan, antara lain:
1. Remote Access VPN
Remote access yang biasa juga disebut virtual private dial-up network
pengguna mobile dengan local area network (LAN). Pada VPN jenis ini, ketika sebuah komputer ingin membangun koneksi VPN maka PC tersebutlah yang berusaha membangun tunnel dan melakukan proses enkripsi hingga mencapai tujuannya dengan aman. Namun, proses ini tetap mengandalkan jasa dari jaringan Internet Service Provider (ISP) yang dapat digunakan untuk umum.
2. Site-to-site VPN
Jenis implementasi VPN yang kedua adalah site-to-site VPN. Implementasi jenis ini menghubungkan antara dua kantor atau lebih yang letaknya berjauhan, baik kantor yang dimiliki perusahaan itu sendiri maupun kantor perusahaan mitra kerjanya. VPN yang digunakan untuk menghubungkan suatu perusahaan dengan perusahaan lain (misalnya mitra kerja, supplier atau pelanggan) disebut
ekstranet. Sedangkan bila VPN digunakan untuk menghubungkan kantor pusat dengan kantor cabang, implementasi ini termasuk jenis intranet site-to-site VPN.
II.2 OpenVPN
OpenVPN adalah aplikasi untuk membuat VPN yaitu membuat koneksi
point-to-point tunneling yang telah terenkripsi. Aplikasi ini bersifat open source dan
merupakan kelanjutan dari metode VPN SSL. Deskripsi mengenai OpenVPN, antara lain:
1. Pengimplementasian OpenVPN dilakukan pada OSI layer 2 dan layer 3 network
extension.
2. OpenVPN menggunakan standar SSL/TLS protokol dan proses enkripsinya menggunakan OpenSSL. SSL/TLS adalah protokol security untuk layer
application .OpenSSL adalah sebuah alat implementasi kriptografi dari Secure Sockets Layer (SSL v2/v3) dan Transport Layer Security (TLS v1) pada network protokol.
3. Dalam membangun koneksi, OpenVPN menggunakan PKI (Public Key
Infrastructure) atau username/password untuk melakukan otentikasi. PKI
terdiri dari:
- Sebuah certificate (yang dikenal dengan publik key) dan sebuah privat key masing-masing untuk server dan client.
- Sebuah Certificate Authority (CA) dan key yang digunakan mengenali setiap certificate server dan client.
Untuk membangun koneksi menggunakan username/password, dilakukan untuk login ke lokal user server VPN. Sebelumnya client VPN harus memiliki akses login user pada server VPN.
4. Otentikasi OpenVPN adalah otentikasi dua arah berdasarkan certificate, yang berarti client harus melakukan otentikasi terhadap certificate server begitu juga sebaliknya sebelum melakukan koneksi. Server dan client akan memverifikasi
certificate yang ada yang telah ditanda tangani oleh CA (Certificate Authority),
lalu mengenali informasi yang pada certificate header, seperti certificate
common name atau certificate type (client atau server).
5. Tunneling OpenVPN cocok untuk rules firewall, mekanisme forwarding dan konsep NAT (Network Address Translation).
6. Konfigurasi OpenVPN dapat bekerja pada port UDP (User Datagram
Protocol) atau port TCP (Transmission Control Protocol). Port tujuan dan
asal default OpenVPN tunneling adalah port UDP 1194. Penggunaan port TCP dapat menurunkan performances. Penggunaan TCP dapat mengakibatkan
TCP over TCP tunnel yaitu paket ditransmisikan ulang pada TCP tunnel. Jika
hal itu terjadi pada kedua tunnel server maupun client, maka akan mengakibatkan slow performances seperti waktu respon yang lama.
7. OpenVPN memiliki dua mode tunnel, yaitu IP tunneling (TUN driver) dan Ethernet tunneling (TAP driver). IP tunneling digunakan untuk jaringan model
routing, sedangkan Ethernet tunneling digunakan untuk jaringan model bridging atau peer-to-peer.
dan tidak dapat digunakan untuk perangkat mobile.
9. Instalasi dan penggunaan OpenVPN mudah dilakukan pada setiap platform OS (Operating System).
II.3 Iptables
Iptables adalah sebuah tools firewall untuk OS linux yang berfungsi untuk melakukan filtering atau penyaringan data pada trafik data. Iptables mengatur semua data yang akan masuk, keluar, dan yang lewat pada komputer.
Terdapat dua pendekatan dalam setup firewall, antara lain:
1. Negative list, yaitu membuka semua port secara default lalu menutup satu per satu port yang ingin ditutup. Pendekatan setup firewall ini mudah dilakukan, tetapi beresiko lupa menutup port yang penting untuk ditutup.
2. Positive list, yaitu menutup semua port secara default lalu membuka satu per satu port yang ingin dibuka. Pendekatan setup firewall ini lebih sulit dilakukan, tetapi sangat aman diimplementasikan.
Terdapat lima chain (rantai) atau titik tempat dilakukan filtering pada syntax iptables, antara lain:
1. PREROUTING, yaitu titik tempat memanipulasi paket network sebelum memasuki keputusan routing, apakah akan masuk atau lewat ke dalam linux. 2. INPUT, yaitu titik tempat melakukan pemeriksaan paket network yang akan
masuk.
3. FORWARD, yaitu titik tempat melakukan pemeriksaan paket network yang akan lewat.
4. OUTPUT, yaitu titik tempat melakukan pemeriksaan paket network yang akan keluar.
5. POSTROUTING, yaitu titik tempat memanipulasi paket network yang akan keluar.
Untuk tabel iptables yaitu tempat menyimpan rule atau perintah yang telah dibuat pada syntax iptables dan terdiri dari tiga, antara lain:
1. Tabel filter, yaitu tempat penyimpanan rule yang berkaitan dengan boleh atau tidaknya suatu paket network melewati sebuah chain yaitu INPUT, FORWARD dan OUTPUT.
2. Tabel nat (network address translation), yaitu tempat penyimpanan rule yang berkaitan dengan manipulasi suatu paket network ketika melewati chain PREROUTING dan POSTROUTING.
3. Tabel mangle, yaitu tempat penyimpanan rule yang berkaitan dengan manipulasi suatu paket network untuk keperluan advance, seperti QOS (quality of service), packet marking, dan sebagainya.
Berikut syntax iptables:
iptables [t tabel] command [chain] [filter_match] [target]
Keterangan: 1. Command
-I: Insert, memasukkan rule baris ke-berapa.
-A: Append, rule akan ditambahkan di baris paling bawah. -D: Delete, menghapus rule baris ke-berapa.
-R: Replace, mengganti rule baris ke-berapa. -L: List, menampilkan rule yang ada.
-P: Policy, mengubah policy suatu chain. 2. Filter_match
-p: protocol, diikuti parameter protocol seperti tcp, udp, icmp dan all.
-s: source, diikuti parameter alamat asal host atau network, contoh: -s 192.168.1.3
-d: destination, diikuti parameter alamat tujuan host atau network, contoh: -d 192.168.1.0/24
--sport: port pengirim atau asal, diikuti parameter nomor port seperti 22. --dport: port tujuan, diikuti parameter nomor port.
-o: outcoming interface, diikuti parameter interface seperti eth0. -j: jump atau target, contoh: -j DROP
Contoh syntax iptables:
iptables I INPUT –i eth0 –j DROP
Arti dari syntax di atas adalah menolak paket yang akan masuk yang berasal dari interface eth0.
II.4 Protokol
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya suatu hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik node atau komputer. Protocol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Secara garis besar, protokol dapat melakukan pendeteksian adanya koneksi fisik dengan komputer atau mesin lain, mengawali dan mengakhiri suatu pesan, dan mengakhiri suatu koneksi.
II.5 Tunneling
Tunnel dalam dunia jaringan merupakan terowongan atau jalur yang dibuat sebagai
saluran aliran data yang didalamnya terdapat pengenkapsulasian atau pembungkusan paket IP dan bit-bit data yang mengikutinya.
II.6 Apache2
Server HTTP Apache atau Server Web/WWW Apache adalah server web yang
dapat dijalankan di banyak sistem operasi seperti Unix, BSD, Linux, Microsoft Windows, Novell Netwared dan platform lainnya. Apache berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigurasi, otentikasi berbasis basis data dan
(GUI) yang memungkinkan penanganan server menjadi mudah. Apache merupakan aplikasi open source yang dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang di bawah naungan Apache Software Foundation. Apache juga merupakan komponen server web dari paket perangkat lunak seperti XAMPP atau LAMP (Linux, Apache, MySQL, PHP/Perl/Python.
II.7 Bind9
Bind9 adalah salah satu aplikasi yang digunakan untuk membuat DNS Server. DNS Server adalah Server yang berfungsi menangani translastion penamaan host ke dalam IP Address, begitu juga sebaliknya dalam menangani translate dari IP
Address ke Hostname. Hal tersebut dilakukan untuk memudahkan dalam membuka webserver tersebut. BIND (Berkeley Internet Name Domain) adalah server DNS
yang paling umum digunakan di Internet, khususnya di sistem operasi bertipe Unix yang secara de facto merupakan standar.
BAB III Analisis
Analisis dari tugas akhir implementasi VPN (Virtual Private Network) ini meliputi kebutuhan pengaksesan data atau resource di Politeknik Batam, analisis alternatif
yang digunakan untuk implementasi VPN, dan skema jaringan Politeknik Batam.
III.1 Kebutuhan Data atau Resource Menggunakan Jalur VPN
Terdapat beberapa resource di Politeknik Batam yang hanya dapat diakses di dalam jaringan Politeknik Batam saja, namun penting untuk diakses dari luar jaringan. Kebutuhan data atau resource tersebut terdapat pada tabel 1.
Table 1 Kebutuhan Pengaksesan Data atau Resource
Resource Keterangan
akad.polibatam.ac.id Simpol dosen
sdm.polibatam.ac.id Informasi penerapan sumber daya intranet.polibatam.ac.id Informasi prosedur ISO
siper.polibatam.ac.id Sistem perencanaan keuangan akademik.polibatam.ac.id Simpol (Sistem Informasi Politeknik
Batam) mahasiswa
invideo.polibatam.ac.id Wadah peng-upload-an dan download video
digilib.polibatam.ac.id Digital library
Tabel di atas menjelaskan tentang resource yang ada pada jaringan internal Politeknik Batam beserta nama server penempatan resource tersebut.
III.2 Alternatif Teknologi VPN
Terdapat beberapa alternatif teknologi yang dapat digunakan untuk menyelesaikan
masalah pengaksesan resource Politeknik Batam, yaitu dengan membuka jalur pengaksesan resource tersebut agar dapat diakses dari luar. Namun, hal tersebut
tidak menjamin keamanan jalur datanya. Cara lain yang dapat diimplementasikan yaitu dengan menggunakan teknologi VPN. Teknologi VPN dilakukan dengan membentuk jaringan private melalui jaringan publik. Terdapat beberapa solusi untuk pengimplementasian VPN, antara lain:
1. IPSEC (IP Secure)
2. PPTP (Point to Point Tunneling Protocol)
3. VPN SSL (Secure Socket Layer)
4. SSH Socks Proxy
Dari beberapa solusi VPN tersebut akan dilakukan perbandingan berdasarkan kriteria tertentu, dimana setelah diperbandingkan akan didapati solusi yang paling baik dan cocok untuk kebutuhan jaringan di Politeknik Batam. Kriteria yang
diambil sebagai perbandingan adalah enkripsi, dukungan otentikasi, keamanan, instalasi, implementasi, metode pengaksesan, kenyamanan user, perangkat lunak yang dibutuhkan klien dan perawatan. Alasan kriteria-kriteria tersebut yang diambil karena merupakan bagian dari VPN yang meliputi authentication dan security, termasuk cara konfigurasi dan perawatannya. Perbandingan masing-masing solusi VPN dapat dilihat pada tabel 2.
Table 2 Perbandingan Solusi VPN
Kriteria SSL VPN IPSec VPN PPTP SSH Socks Proxy
Enkripsi - DES, 3DES, RC4-128, RC4-40, AES
- DES, 3DES, AES - MPPE (40 bit – 128 bit)
- AES (256 bit) Dukungan otentikasi - Sertifikat digital yang
diciptakan pada server VPN
- Login akun lokal server - Otentikasi dua arah
- Sertifikat digital yang diciptakan pada server VPN
- Otentikasi dua arah
- Login (username
and password)
- Sertifikat digital yang diciptakan pada home user lokal server - Login akun lokal
server
- Otentikasi dua arah Keamanan - End-to-end security
- Client to resource
encrypted
- Edge to client
- Client to VPN gateway
only encrypted
- Edge to client - End-to-end security
Instalasi - Plug and play - Client memerlukan
perangkat lunak tertentu atau web browser
- Client memerlukan perangkat lunak atau perangkat keras tertentu
- Plug and play - Plug and play
Implementasi - Tunnel IPSec tidak memerlukan NAT
Penetrasi untuk menembus
firewall server VPN
- Sulit dan kompleks
- Tunnel IPSec memerlukan NAT Penetrasi untuk menembus firewall server VPN
- Tunnel IPSec tidak memerlukan NAT Penetrasi untuk menembus firewall
server VPN
- Tunnel IPSec tidak memerlukan NAT Penetrasi untuk menembus firewall
Kriteria SSL VPN IPSec VPN PPTP SSH Socks Proxy
Metode pengaksesan - Kapan pun dan di mana pun user berada
- Terbatas pada user yang dapat dikontrol
- Terbatas pada user yang dapat dikontrol
- Kapan pun dan di mana pun user berada
- Kapan pun dan di mana pun user berada
Kenyamanan User - Friendly
- Tidak membutuhkan training
- Sulit untuk user non-teknis - Membutuhkan training - Friendly - Tidak membutuhkan training - Friendly - Tidak membutuhkan training Perangkat lunak yang dibutuhkan client
- Web browser standar dan perangkat lunak client VPN
- Perangkat lunak client IPSec
- Dial up - Web browser standar - Koneksi SSH
Perawatan - Tidak memerlukan perawatan di setiap node (server dan client)
- Memerlukan perawatan di setiap node (server dan
client)
- Tidak memerlukan perawatan di setiap node (server dan
client)
- Tidak memerlukan perawatan di setiap node (server dan
Pada tabel 2 dapat dilihat perbandingan antar solusi berdasarkan kriteria yang ada. Dari perbandingan tersebut didapati solusi VPN yang baik dan cocok untuk diimplementasikan pada jaringan di Politeknik Batam. Solusi VPN yang terpilih yaitu VPN SSL, dimana solusi tersebut dipilih dikarenakan sebagai berikut:
- Dari segi keamanan, VPN SSL lebih baik dibandingkan dengan PPTP pada windows dikarenakan PPTP tidak memiliki enkripsi yang kuat dan dukungan otentikasi user yang menggunakan protokol MPPE (Microsoft’s Point to
Point Encryption).
- Dari segi kemudahan pengimplementasian, VPN SSL lebih mudah dibandingkan dengan Ipsec. Tunnel VPN SSL dapat menembus firewall yang terdapat pada server VPN, sedangkan IPSec harus mendukung “Nat Penetrasi” untuk menembus firewall server VPN tersebut. Selain itu, pemeliharaan peralatan atau konfigurasi pada SSL VPN hanya dilakukan pada gateway di titik pusat, sedangkan IPSec VPN memerlukan perawatan di setiap node server
atau client. Hal itu terjadi karena pengimplementasian VPN pada IPSec dilakukan secara khusus pada setiap server dan klien.
- Dalam hal otentikasi ,VPN SSL lebih baik daripada SSH Socks Proxy. VPN membutuhkan key yang diciptakan pada server VPN untuk setiap client VPN yang bukan merupakan user pada server VPN, dimana key tersebut digunakan untuk melakukan koneksi. Sedangkan, key pada SSH Socks Proxy diciptakan untuk user yang terdapat pada server SSH tersebut. Oleh karena itu, penciptaan key pada VPN lebih aman dibandingkan dengan SSH Socks Proxy karena hanya user tertentu saja yang diberikan akses. Alasan lain VPN SSL lebih baik dari SSH Socks Proxy, yaitu server VPN dapat menutup port remote akses berupa SSH tersebut pada jaringan luar untuk menghindari
penyalahgunaan akses oleh user yang terdapat pada server SSH.
Terdapat beberapa aplikasi yang menggunakan teknologi SSL VPN, yaitu OpenVPN, Insistsoft SSL VPN, SSL VPN Ovisgate dan lain-lain. Aplikasi yang
terpilih untuk diimplementasikan sebagai langkah selanjutnya, yaitu OpenVPN. Aplikasi tersebut dipilih dikarenakan sebagai berikut:
- Aplikasi OpenVPN adalah aplikasi Open Source yang bersifat multiplatform (dapat digunakan di beberapa sistem operasi seperti Linux, Windows, OpenBSD, FreeBSD, NetBSD, Mac OS X dan Solaris).
- Aplikasi ini dapat digunakan pada jaringan spesifik (rules firewall), mekanisme
forwarding dan konsep NAT yang menggunakan tunnel OpenVPN.
Dalam membangun koneksi, OpenVPN menggunakan PKI (Public Key
Infrastructure) atau username/password untuk melakukan otentikasi. PKI terdiri
dari:
- Sebuah certificate (yang dikenal dengan publik key) dan sebuah privat key masing-masing untuk server dan client.
- Sebuah Certificate Authority (CA) dan key yang digunakan mengenali setiap
certificate server dan client.
Untuk membangun koneksi menggunakan username/password, dilakukan untuk
login ke lokal user server VPN. Sebelumnya client VPN harus memiliki akses login user pada server VPN.
Dari kedua cara koneksi client VPN tersebut akan dilakukan perbandingan berdasarkan kriteria tertentu, dimana setelah diperbandingkan akan dipilih cara koneksi yang paling baik. Kriteria yang diambil sebagai perbandingan adalah alat otentikasi, kemudahan akses dan keamanan, karena merupakan komponen yang menjadi perbedaan antara kedua cara koneksi tersebut. Perbandingan kedua cara pengaksesan VPN dapat dilihat pada tabel 3.
Table 3 Perbandingan Cara Koneksi Client VPN
Kriteria Key Login Lokal Server VPN
Alat Otentikasi - Key dan certificate. - Certificate, username dan
password.
Kemudahan pengaksesan
- Key dan certificate telah tersimpan pada PC
- Pemasukan username dan
Kriteria Key Login Lokal Server VPN
client. pada waktu pengaksesan
Keamanan - Key diciptakan khusus untuk client yang berbeda
- Koneksi client dapat terputus ke server jika terdapat client lain yang mempergunakan key
yang sama.
- Password dapat ditebak dan digunakan oleh orang lain
- Koneksi client dapat terputus ke server jika terdapat client lain yang mempergunakan username
dan password yang sama.
username dan password
Pada tabel 3 dapat dilihat perbandingan dua cara koneksi client VPN ke server VPN berdasarkan kriteria yang ada. Dari perbandingan tersebut dapat dipilih cara
koneksi client VPN yang baik. Cara koneksi client VPN yang terpilih yaitu koneksi menggunakan key dan certificate, dimana cara tersebut dipilih dikarenakan kemudahan pengaksesan dan keamanannya yang lebih baik dibandingkan koneksi menggunakan login lokal server VPN.
III.3 Skema Jaringan Politeknik Batam
Pada gambar 2 di bawah adalah skema jaringan Politeknik Batam yang menggambarkan susunan server yang terhubung dengan switch dan beberapa
provider seperti Astinet dan Starcom. Skema jaringan ini diperlukan untuk
rancangan peletakan server VPN dan untuk mengetahui letak resource yang menjadi kebutuhan.
Astinet Starcom Jaringan Wifi www.polibatam.ac.id Venus Students Serverpoly Servertera Matahari Jupiter Serversource Jaringan Lab Bumi Bimasakti Wifi Jaringan Dosen Switch Students Switch Bimasakti Switch Jaringan Dosen Switch Wifi Switch Astinet
Gambar 2 Skema Jaringan Politeknik Batam
Dari gambar 2 tersebut terdapat server-server yang ada pada jaringan Politeknik Batam. Keterangan untuk setiap server dapat dilihat pada tabel 4.
Table 4 Deskripsi Isi Setiap Server
Server Keterangan
www.polibatam.ac.id Berisi web polibatam.ac.id
Venus Berisi mail.polibatam.ac.id
Students atau Neptunus Berisi invideo.polibatam.ac.id Bumi Berisi learning.polibatam.ac.id,
akademik.polibatam.ac.id, dan digilib.polibatam.ac.id Bimasakti Sebagai router dari semua switch yang ada, tempat
pengaturan atau setting-an rules firewall, nat, proxy, dan untuk melihat kecepatan bandwidth client
Wifi Router wifi Politeknik Batam
Serverpoly Berisi data akademik/dosen/tps Servertera Berisi data film
Matahari Berisi sdm.polibatam.ac.id, akad.polibatam.ac.id, dan intranet.polibatam.ac.id
Jupiter Berisi siper.polibatam.ac.id Serversource Berisi aplikasi atau software
BAB IV Perancangan dan Implementasi
Pada bab perancangan dan implementasi VPN (Virtual Private Network) ini meliputi rancangan implementasi VPN Politeknik Batam, konfigurasi yang
dilakukan pada server dan client VPN dan pengujian pengaksesan resources Politeknik Batam.
IV.1 Rancangan Implementasi VPN di Politeknik Batam
Rancangan implementasi VPN di Politeknik Batam dilakukan berdasarkan gambar skema jaringan Politeknik Batam (lihat gambar 2) yang terdapat pada bab analisis. Pada rancangan ini dapat ditentukan server yang akan dijadikan sebagai VPN
server. Adapun komponen-komponen yang harus dipenuhi sebuah server untuk
menjadi VPN server, antara lain:
1. Memiliki static IP.
2. Server tersebut merupakan router atau gateway untuk akses ke jaringan luar. 3. Terdapat NAT untuk menerjemahkan IP Private pada komputer client
menjadi alamat IP Publik milik gateway, sehingga client dalam jaringan LAN dapat mengakses internet.
4. Terdapat firewall untuk untuk memfilter paket yang akan masuk dan keluar jaringan.
Berdasarkan komponen-komponen di atas, server yang cocok untuk dijadikan
VPN server di Politeknik Batam adalah Bimasakti. Sedangkan jaringan VPN akan ditempatkan pada jaringan switch Bimasakti dan switch Jaringan Dosen yang terdapat server Matahari, Jupiter, Serverpoly, Servertera dan Serversource. Jaringan VPN ditempatkan pada jaringan tersebut karena resource yang tidak diperbolehkan pengaksesannya di luar jaringan Politeknik Batam, terdapat pada jaringan tersebut. Penerapan VPN di Politeknik Batam dapat dilakukan seperti gambar 3.
Astinet Starcom Jaringan Wifi www.polibatam.ac.id Venus Students Serverpoly Servertera Matahari Jupiter Serversource Jaringan Lab Bumi Bimasakti Wifi Jaringan Dosen Switch Students Switch Bimasakti Switch Jaringan Dosen Switch Wifi Switch Astinet Server VPN Jaringan VPN
Gambar 3 Skema Jaringan VPN Politeknik Batam
Skema jaringan VPN Politeknik Batam di atas bukanlah skema jaringan VPN yang baik karena terdapat beberapa server, seperti server Bumi dan server Wifi, yang
terhubung ke jaringan LAN tanpa melewati server VPN. Skema jaringan VPN yang baik adalah jaringan yang memiliki server VPN sebagai gateway yaitu pintu masuk bagi host lain untuk mengakses jaringan LAN. Host lain yang ingin mengakses jaringan LAN harus melewati server VPN tersebut dan tidak diperbolehkan mengaksesnya dari jalur lain, karena host yang tidak memiliki hak akses dapat mengakses jaringan LAN tersebut. Oleh karena itu, hanya ada satu
server saja yang terhubung pada jaringan LAN sebagai gateway. Contoh Skema
jaringan VPN yang baik dapat dilihat pada gambar 4.
Internet
Jaringan Wifi
Jaringan LAN Server VPN
Gambar 4 Contoh Skema Jaringan VPN yang baik
IV.2 Konfigurasi VPN pada Jaringan
Konfigurasi VPN pada Politeknik Batam dilakukan dalam bentuk simulasi jaringan VPN berdasarkan jaringan Politeknik Batam. Simulasi jaringan implementasi VPN Politeknik Batam dapat dilihat pada gambar 5 yang terdiri dari server VPN, client VPN, client non VPN dan webserver LAN server VPN.
Client VPN IP: 172.16.29.142/16 Gateway: 172.16.1.1 NS: 172.16.1.1 IP: 192.168.1.1/24 IP: 192.168.1.2/24 Gateway: 192.168.1.1 NS: 192.168.1.1 IP: 172.16.6.60/16 IP tun0: 10.8.0.6 IP tun0: 10.8.0.1 Server VPN Client NonVPN IP: 172.16.6.55/16
Gambar 5 Simulasi Skema Jaringan Pengimplementasian VPN *Konfigurasi simulasi di Lampiran
Pada konfigurasi ini terdapat penjelasan mengenai spesifikasi jaringan implementasi VPN dan instalasi VPN yang dilakukan dengan menggunakan aplikasi OpenVPN.
IV.2.1 Spesifikasi Implementasi VPN
Dalam melakukan konfigurasi VPN pada jaringan simulasi VPN, terdapat beberapa spesifikasi yang digunakan. Spesifikasi tersebut terdiri dari spesifikasi VPN server VPN, client VPN dan webserver pada jaringan LAN.
1. Spesifikasi VPN Server
Spesifikasi perangkat keras dan perangkat lunak pada sisi server VPN yang digunakan terdapat pada tabel 5.
Table 5 Spesifikasi PC Server VPN
Prosesor Intel (R) Pentium (R) 4 CPU 2.60
GHz
Memory 512 MB RAM
Harddisk 40 GB
2. Spesifikasi client VPN
Spesifikasi perangkat keras (PC atau laptop) dan perangkat lunak yang harus dipenuhi di sisi client VPN terdapat pada tabel 6.
Table 6 Spesifikasi PC Client VPN
Prosesor Intel (R) Pentium (R) 4 CPU 2.60
GHz
Memory 256 MB RAM
Harddisk 40 GB
Sistem Operasi Linux/Windows (XP, Vista, 7)
3. Spesifikasi webserver
Spesifikasi perangkat keras dan perangkat lunak pada sisi webserver pada jaringan LAN yang digunakan terdapat pada tabel 7.
Table 7 Spesifikasi Webserver
Prosesor Intel (R) Pentium (R) 4 CPU 2.60
GHz
Memory 512 MB RAM
Harddisk 40 GB
Sistem Operasi Linux
DNS Bind9
Aplikasi web server Apache2
URL http://www.webvpn.ac.id
*Konfigurasi webserver di Lampiran
IV.2.2 Instalasi OpenVPN
Adapun hal-hal yang perlu dilakukan pada instalasi VPN, antara lain:
1. Menciptakan key dan certificate untuk server maupun client pada server VPN dan memindahkannya sesuai dengan kebutuhan server maupun client.
terdapat pada direktori /usr/share/doc/openvpn/examples. Easy-rsa juga merupakan tempat penyimpanan key dan certificate server dan client. - PKI (Public Key Infrastructure) yang dihasilkan pada waktu penciptaan
key dan certificate pada server VPN dan lokasi pemindahannya terdapat
pada table 8.
Table 8 Deskripsi Public Key Infrastructure
File Lokasi Pemindahan Kegunaan Rahasia
ca.crt server + client certificate root CA Tidak
ca.key Server Key root CA Ya
dh xxxx.pem Server Parameter DH Tidak
server.crt Server certificate server Tidak
server.key Server Key server Ya
client1.crt Client certificate client1 Tidak
client1.key Client Key client1 Ya
2. Konfigurasi file server dan client VPN.
- Alamat IP VPN gateway yang merupakan server VPN.
Server
local 172.16.29.142
client
remote 172.16.29.142 1194
- Tunnel mode
Terdapat dua mode tunnel OpenVPN yaitu IP tunneling (TUN driver) dan Ethernet tunneling (TAP driver). IP tunneling digunakan untuk jaringan model routing, sedangkan Ethernet tunneling digunakan untuk jaringan model bridging. Tunnel mode yang akan digunakan adalah TUN mode karena jaringan Politeknik Batam merupakan jaringan model routing.
Server dan client
- Tunnel port
Terdapat dua jenis tunnel port pada OpenVPN yaitu UDP (User Datagram
Protocol) atau TCP (Transmission Control Protocol). Port yang akan
digunakan adalah port UDP 1194 karena default port pada OpenVPN adalah UDP 1194. Penggunaan TCP dapat mengakibatkan TCP over TCP
tunnel yaitu paket ditransmisikan ulang pada TCP tunnel. Jika hal itu terjadi
pada kedua tunnel server maupun client, maka akan mengakibatkan slow
performances seperti waktu respon yang lama. Server port 1194 proto udp client proto udp remote 172.16.29.142 1194
- Certificate dan key
Server ca ca.crt cert server.crt key server.key client ca ca.crt cert client.crt key client.key - Diffie-Hellmann (DH) settings:
Dh digunakan untuk menciptakan privat key untuk hash function dan
cipher algorithm dalam otentikasi OpenVPN. Parameter Diffie Hellman
digunakan oleh dua pengguna untuk melakukan pertukaran key rahasia melalui media yang tidak aman. Waktu yang dibutuhkan untuk menghasilkan Diffie Hellman key ini bergantung pada panjang kunci yang digunakan (dalam bit). Maksimal panjang kunci yang bisa digunakan adalah sebesar 2048 bit. Pada konfigurasi ini akan dipakai panjang kunci sebesar 1024 bit.
Server
dh dh1024.pem
- Dynamic IP address
Server memiliki IP static sendiri yaitu 10.8.0.1 dan menyediakan IP address
Server
server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt
Maksud dari server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt adalah bahwa IP untuk client yang disediakan oleh server OpenVPN yaitu pada network 10.8.0.0 dengan subnet 255.255.255.0.
- Log verbosity setting
Level file log untuk server OpenVPN terdiri dari 0-15. Untuk log medium
output dan good normal operation, log yang digunakan adalah verb 3. Server dan client
verb 3
Untuk tempat penyimpanan semua log hasil koneksi dari client ke server OpenVPN.
Server
status openvpn-status.log
- Koneksi checking
Untuk memeriksa koneksi dengan cara mengirimkan data (seperti perintah ping) dengan durasi setiap 10 detik dan apabila server OpenVPN tidak merespon selama 120 detik dinyatakan client down (mati).
Server
keepalive 10 120
- Metode kompresi data
Metode kompresi data yaitu metode kompresi data pada tunnel yang digunakan yaitu LZO ( Lempel Ziv Oberhumer). LZO sudah ter-install secara otomatis pada saat meng-install software OpenVPN.
Server dan client
- Konfigurasi lain pada client
- Client tetap melakukan pencarian tuk nama host pada server VPN
resolv-retry infinite
- Client tidak perlu menempel pada port tertentu
Nobind
- Client mempertahankan beberapa state jika restart
persist-key persist-tun
- Nameserver client berasal dari server VPN
ns-cert-type server
- Client melakukan routing ke jaringan LAN pada server VPN
route 192.168.1.0 255.255.255.0
IV.3 Konfigurasi Firewall
Konfigurasi firewall dilakukan pada server VPN agar client VPN dapat mengakses resource Politeknik Batam. Konfigurasi firewall dilakukan dengan pendekatan negative list. Pendekatan negative list yaitu membuka semua port yang ada, kemudian menutup satu persatu port yang ingin ditutup. Berikut perintah atau rules firewall yang perlu dikonfigurasi pada VPN server:
- Semua policy chain (INPUT, FORWARD, OUTPUT, PREROUTING, dan POSTROUTING) pada iptables diubah menjadi ACCEPT. Contoh: #iptables -P INPUT ACCEPT
- #iptables -I FORWARD -i eth0 -o eth1 -j DROP //ini adalah perintah untuk tidak memperbolehkan pengaksesan dari sisi luar server ke jaringan LAN, tetapi interface yang merupakan tun0 yang berasal dari
client VPN dapat mengakses jaringan LAN tersebut.
tidak memperbolehkan pengaksesan dari sisi luar server ke client VPN.
- #iptables -I INPUT -p udp --dport 1194 -j ACCEPT //ini adalah perintah untuk memperbolehkan pengaksesan dari port udp 1194 oleh
client VPN.
- #iptables -I INPUT -i tun0 -j ACCEPT //ini adalah perintah untuk memperbolehkan pengaksesan dari perangkat tunneling oleh client VPN.
- #iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //ini adalah perintah connection tracking yang dilakukan agar trafik network yang terkait dengan sebuah rule di chain tertentu, tidak perlu konfigurasi. Hal ini juga berlaku untuk chain FORWARD dan OUTPUT.
- #iptables -t nat -I POSTROUTING -j MASQUERADE //ini adalah perintah yang berarti semua paket network yang berasal dari IP LAN
server VPN akan di-masquerade dengan IP luar server VPN.
IV.4 Pengujian Implementasi VPN
Adapun tujuan pengujian ini dapat dilihat dari aspek sebagai berikut:
1. Aspek Teknik Instalasi VPN
Pada aspek ini, pengujian dilakukan untuk mengetahui keberhasilan penginstalan VPN pada Politeknik Batam. Hal-hal yang dilakukan antara lain:
- Memeriksa perangkat atau port VPN apakah telah ada atau tidak, yaitu dengan cara mengetikkan lsmod|grep tun0 pada terminal.
- Memeriksa IP (Internet Protocol) pada server dan client VPN, yaitu dengan mengetikkan ifconfig. IP yang muncul adalah IP dengan interface berdasarkan file konfigurasi VPN di VPN server.
Pada aspek ini, pengujian dilakukan untuk mengetahui keberhasilan aturan firewall yang telah dibuat di sisi VPN server. Aturan firewall yang dibuat bertujuan untuk memberikan akses pada client VPN dalam pengaksesan resources Politeknik Batam dari luar jaringan, sedangkan client non VPN atau client biasa tidak dapat mengakses resources tersebut. Client non VPN dapat menjadi client VPN dan dapat mengakses resource Politeknik Batam jika key dan certificate dari VPN
server diinstall atau disimpan pada home direktori client tersebut.
Gambar 6 merupakan tampilan browser yang muncul ketika client non VPN membuka alamat web di dalam jaringan LAN VPN server. Pesan yang muncul adalah bahwa web tidak dapat diakses karena client tersebut belum menginstal atau menyimpan key dan certificate dari VPN server. Hal tersebut berlaku untuk koneksi menggunakan key maupun login ke lokal server VPN.
Gambar 6 Pengaksesan Web Resource Politeknik Batam sebelum Penginstalan Key dan
Gambar 7 Pengaksesan Web Resource Politeknik Batam setelah Penginstalan key dan
Certificate
Gambar 7 merupakan tampilan browser ketika client telah menginstal atau menyimpan key dan certificate dari VPN server. Client tersebut dapat mengakses
BAB V Kesimpulan dan Saran
V.1 Kesimpulan
Berdasarkan implementasi VPN yang dilakukan di Politeknik Batam, ada beberapa hal yang dapat disimpulkan, antara lain:
1. Tugas akhir ini berhasil melakukan simulasi jaringan VPN berdasarkan skema jaringan Politeknik Batam yang terdiri dari server VPN, client VPN, dan
webserver dengan mempergunakan metode VPN SSL.
2. Cara terbaik untuk melakukan koneksi yang mudah dan lebih aman ke server VPN adalah dengan menggunakan key dan certificate karena satu key diciptakan untuk satu client tertentu dan hanya client tersebut yang dapat mempergunakannya.
3. Skema jaringan Politeknik Batam tidak cocok untuk pengimplementasian VPN karena terdapat beberapa server, seperti server Bumi dan server Wifi, yang terhubung ke jaringan LAN tanpa melewati server VPN tersebut.
V.2 Saran
Setelah implementasi VPN di Politeknik Negeri Batam dilakukan, maka untuk selanjutnya hal-hal yang dapat dikembangkan antara lain:
1. Perbaikan skema jaringan Politeknik Batam, apabila akan dilakukan implementasi VPN di Politeknik Batam dalam jangka panjang.
2. Analisis keamanan jalur data pada jaringan VPN di sisi server dan sisi client. 3. Analisis cara pendistribusian key dan certificate yang lebih baik dari server
VPN ke client VPN.
DAFTAR PUSTAKA
[1] Guy Hart Davis, Network Complete, SYBEX, 2000
[2] Ahmad Yani, Panduan Membangun Jaringan Komputer, Kawan Pustaka,
2007
[3] Onno W. Purbo dan Tony Wiharjito, Keamanan Jaringan Internet, Elex Media Komputindo, 2002
[4] Mengapa menggunakan VPN tersedia di
http://www.infogue.com/article/2009/11/05/Mengapa_Menggunakan_Virtual_Priv
ate_Network diakses pada tanggal 13 agustus 2010
[5] Modul 5 OpenVPN tersedia di http://lecturer.eepis-its.edu/~dhoto/kuliah/prak-jarkom2/jarkom2 - 5. OpenVPN.pdf diakses pada 18 Agustus 2010
[6] OpenVPN dg Network Manager di Lucid Lynx, 2010, tersedia di
http://eshabe.wordpress.com/2010/05/26/openvpn-dg-network-manager-di-lucid-lynx/ diakses pada 02 Januari 2011
[7]http://www.openvpn.net/howto.html diakses pada 20 Agustus 2010 [8]http://vpn.itb.ac.id/ diakses pada 20 Agustus 2010
LAMPIRAN
1. Konfigurasi VPN pada server VPN dan client VPN a. Server VPN
Berikut akan dijelaskan konfigurasi server VPN:
1. Penginstalan aplikasi OpenVPN.
# apt-get install openvpn
2. Folder tools “easy-rsa” yang terdapat pada direktori
/usr/share/doc/openvpn/examples disalin ke direktori /root.
# cp /usr/share/doc/openvpn/examples/easy-rsa/ /root –Rf
3. Lalu masuk ke direktori /root/easy-rsa/2.0 4. Pembuatan Certificate Authentication (CA).
# vim vars export KEY_COUNTRY="id" export KEY_PROVINCE="kepri" export KEY_CITY="batam" export KEY_ORG="poltek" export KEY_EMAIL="[email protected]" # . ./vars # ./clean-all # ./build-Certificate Authority
5. Pembuatan key dan certificate untuk server VPN.
# ./build-key-server server
6. Pembuatan key dan certificate yang akan digunakan oleh client, jika koneksi
menggunakan key dan certificate.
# ./build-key client
7. Pembuatan Parameter dari Diffie Hellman untuk melakukan pertukaran key rahasia melalui media yang tidak aman.
# ./build-dh
8. Penyalinan key dan certificate yang dibutuhkan yaitu dh1024.pem, ca.* dan server.* ke direktori /etc/openvpn.
# cp keys/ca.* /etc/openvpn # cp keys/server.* /etc/openvpn # cp keys/dh1024.pem /etc/openvpn
9. Pengekstrakan dan penyalinan file konfigurasi server.conf.gz ke direktori /etc/openvpn.
# gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
10. Pengubahan file konfigurasi server.conf
- Untuk koneksi menggunakan key dan certificate.
# vim /etc/openvpn/server.conf local 172.16.29.142 port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem server 10.8.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
- Untuk koneksi menggunakan login lokal server VPN.
# vim /etc/openvpn/server.conf local 172.16.29.142
plugin /usr/lib/openvpn/openvpn-auth-pam.so login client-cert-not-required username-as-common-name port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem server 10.8.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 11. Menjalankan OpenVPN
# /etc/ init.d/openvpn start
12. Perangkat baru yang muncul ketika OpenVPN telah dijalankan yaitu perangkat tunneling “tun0”.
# /etc/init.d/openvpn restart
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.2
Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
13. Pengaktifan IP forwarding agar jaringan LAN dapat mengakses internet atau jaringan luar.
# echo 1 > /proc/sys/net/ipv4/ip_forward
14. Konfigurasi iptables pada server VPN
# iptables -P INPUT ACCEPT # iptables –P FORWARD ACCEPT # iptables –P OUTPUT ACCEPT
# iptables –I INPUT –i eth0 –o eth1 –j DROP # iptables –I INPUT –i eth0 –o tun0 –j DROP
# iptables –I INPUT –p udp –-dport 1194 –j ACCEPT # iptables –I INPUT –i tun0 –j ACCEPT
# iptables -I INPUT –m state –state RELATED,ESTABLISHED –j ACCEPT
# iptables -I FORWARD –m state –state RELATED,ESTABLISHED –j ACCEPT
# iptables -I OUTPUT –m state –state RELATED,ESTABLISHED –j ACCEPT
# iptables –t nat –I POSTROUTING –j MASQUERADE
15. Pembuatan akun lokal server yang akan digunakan pada koneksi menggunakan login lokal server VPN. Akun lokal server yang diciptakan dapat berupa user yang memiliki home atau tidak memiliki home pada server VPN. Pembuatan user yang tidak memiliki home pada server VPN dilakukan agar tidak terdapat banyak direktori home pada server VPN tersebut. Perintah untuk menciptakan user baru di server VPN, antara lain:
- User yang memiliki home:
# adduser mhs
- User yang tidak memiliki home:
b. Client VPN
Konfigurasi VPN pada client VPN untuk Operating System (OS) Linux dapat dilakukan melalui terminal dan Graphic User Interfaces (GUI). Untuk client VPN yang menggunakan OS Windows, dapat menggunakan GUI.
Berikut akan dijelaskan konfigurasi client VPN melalui terminal untuk OS Linux:
1. Penginstalan aplikasi OpenVPN
# apt-get install openvpn
2. Penyalinan contoh file konfigurasi client.conf pada direktori /usr/share/doc/openvpn/examples/ ke direktori /etc/openvpn.
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
3. Penyalinan key dan certificate dari VPN server. Untuk lebih jelasnya dapat dilihat isi dari direktori /etc/openvpn untuk koneksi VPN menggunakan
certificate dan login ke local server VPN, hal tersebut dilakukan untuk
melihat file apa saja yang diperlukan untuk setiap cara koneksi. Perintah yang dilakukan adalah dengan command “ls”.
- Koneksi menggunakan certificate dan key
# ls /etc/openvpn/
ca.crt client.conf client.crt client.key
- Koneksi menggunakan login lokal server VPN
# ls /etc/openvpn/ ca.crt client.conf
4. Pengubahan file konfigurasi client.conf
# vim /etc/openvpn/client.conf client dev tun proto udp remote 172.16.29.142 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key ns-cert-type server comp-lzo verb 3 route 192.168.1.0 255.255.255.0
- Untuk koneksi menggunakan login lokal server VPN.
# vim /etc/openvpn/client.conf auth-user-pass client dev tun proto udp remote 172.16.29.142 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt ns-cert-type server comp-lzo verb 3 route 192.168.1.0 255.255.255.0 5. Menjalankan OpenVPN
# /etc/ init.d/openvpn start
6. Perangkat baru yang muncul ketika OpenVPN telah dijalankan yaitu perangkat tunneling “tun0”.
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.6 P-t-P:10.8.0.5
Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Konfigurasi client VPN untuk OS Linux menggunakan GUI, yaitu:
1. Penginstalan aplikasi OpenVPN dan network manager plugin.
# apt-get install openvpn network-manager-openvpn
2. Script berikut ditambahkan pada akhir file config /etc/dbus-1/system.d/nm-openvpn-service.conf # vim /etc/dbus-1/system.d/nm-openvpn-service.conf <policy user="at_console"> <allow own="org.freedesktop.NetworkManager.vpnc"/> <allow send_destination="org.freedesktop.NetworkManager.vpnc"/> </policy>
3. Penyalinan key dan certificate dari server VPN dan juga file konfigurasi client.conf, dilakukan sesuai koneksi VPN yang dipilih seperti contoh konfigurasi pada OS Linux yang menggunakan terminal.
4. Menjalankan kembali Network Manager.
# restart network-manager
6. Memilih VPN Connection > Configure VPN > Add
7. Untuk koneksi yang menggunakan certificate dan key, informasi yang perlu dimasukkan antara lain:
- Connection Name: vpn_pb //nama koneksi ditentukan sendiri. - Gateway Address: 172.16.29.142
- Type Authentication: Certificates (TLS) - User Certificate: /etc/openvpn/client.crt - CA Certificate: /etc/openvpn/ca.crt - Private Key: /etc/openvpn/client.key
- Pada button Advanced, tab General, menandai Use LZO data compression
- Pada tab IPv4 Settings di interfaces Editing vpn_pb, memilih Automatic (VPN) addresses only.
8. Untuk koneksi yang menggunakan login lokal server VPN , informasi yang perlu dimasukkan antara lain:
- Connection Name: vpnPB //nama koneksi ditentukan sendiri. - Gateway Address: 172.16.29.142
- User Certificate: [user local server VPN] - Password: [password user local server VPN]
- Pada button Advanced, tab General, menandai Use LZO data compression
- Pada tab IPv4 Settings di interfaces Editing vpn_pb, memilih Automatic (VPN) addresses only.
9. Untuk memulai koneksi, hal yang dilakukan adalah memilih icon notification