BAB 4 USULAN SOLUSI RANCANGAN DAN IMPLEMENTASI
4.1
Usulan rancangan koneksi kantor cabang Untuk koneksi dari jaringan kantor pusat PT. Hotel Indonesia Natour ke jaringan
kantor-kantor cabang, diusulkan untuk menggunakan internet ADSL yang sudah tersedia di kantor-kantor PT. Hotel Indonesia Natour. Alasan digunakannya internet ADSL adalah karena internet ADSL memiliki downtime yang jauh lebih rendah daripada dialup maupun produk internet lainnya dan jaringan internet ADSL sudah berjalan pada masing-masing cabang dengan pemakaian bandwidth yang masih belum maksimal. Dengan internet ADSL, jaringan kantor cabang dan kantor pusat dapat terhubung terus selama 24 jam. Internet ADSL juga memiliki kecepatan yang lebih cepat, daripada dial-up yang kecepatannya hanya sampai 56 Kbps ataupun produk internet lainnya, sistem berjalan untuk pusat 256 Kbps dan cabang 128 Kbps. Kecepatan internet yang akan digunakan pada usulan koneksi untuk kantor cabang adalah masih tetap menggunakan 128 Kbps dan untuk kantor pusat dinaikkan dari 256 Kbps menjadi 512 Kbps. Alasan pertimbangan untuk memilih jumlah bandwidth untuk kantor cabang masih menggunakan 128 Kbps adalah karena penggunaan bandwidth di cabang masih belum maksimal. Sedangkan usulan untuk kantor pusat perlu dinaikkan menjadi 512 Kbps karena sudah maksimalnya penggunaan bandwidth yang sekarang ini dan juga agar tidak terjadi bottleneck pada jaringan kantor pusat apabila ke lima belas kantor cabang telah terkoneksi ke kantor pusat lewat internet dengan VPN. Keuntungan lainnya
103
104 adalah internet ADSL lebih mudah dikembangkan dan di-manage untuk perluasan bandwidth dan koneksi kantor cabang.
Gambar 4.1 Rancangan topologi hub and spoke pada PT. Hotel Indonesia Natour.
Gambar 4.1 merupakan usulan rancangan untuk koneksi berbagai kantor cabang dengan kantor pusat PT. Hotel Indonesia Natour yang menggunakan topologi hub-andspoke. Untuk sistem usulan, kantor cabang yang terhubung dengan internet ADSL melalui ISP untuk terkoneksi ke jaringan kantor pusat pada sistem usulan ini berjumlah lima belas kantor cabang.
105 4.2
Pemilihan hardware dan software yang akan digunakan Dalam perencanaan perancangan untuk implementasi VPN antara kantor cabang
dengan kantor pusat PT. Hotel Indonesia Natour, perlu adanya pemilihan perangkat yang akan digunakan. Peralatan itu dapat peralatan yang baru atau bisa juga menggunakan peralatan jaringan yang sudah ada atau tersedia. Seperti yang sudah dibahas hardware yang digunakan adalah pc-based VPN. Spesifikasi hardware dan software yang digunakan adalah sebagai berikut : •
15 PC sekelas Pentium IV untuk 15 kantor cabang PT. Hotel Indonesia Natour, dengan memory 256 Mb RAM, 8Gb harddisk, dan 1 buah ethernet card untuk setiap PC-nya.
•
15 Modem internet ADSL untuk 15 kantor cabang PT. Hotel Indonesia Natour.
•
Operating system Linux Debian.
•
FreeSWAN software sebagai pendukung IPSec.
•
SSL Software.
PC-based VPN yang akan dibuat ini menggunakan operating system Linux yang digunakan sebagai terminate VPN pada koneksi kantor cabang dengan kantor pusat. Adapun alasan penggunaan linux debian, adalah karena linux debian sudah dikenal kestabilannya dalam hal server. Hal lainnya adalah karena linux tidak memerlukan sumber daya yang besar jika dibandingkan dengan operating system lainnya. Berikut ini adalah kelebihan lain Linux secara umum jika dibandingkan dengan Windows :
106 -
Produk Microsoft sangat mahal jika dibeli secara legal.
-
Keamanan pada komputer server lebih memadai karena pilihan keamanan pada Linux dapat diatur secara manual, dan pilihan setting konfigurasi keamanan lebih banyak dibandingkan dengan Windows.
-
Tidak terlalu banyak pembatasan-pembatasan yang terdapat pada Windows. Pada Linux terdapat banyak pilihan yang dapat disesuaikan dengan kebutuhan.
-
Sebagai server, Linux mempunyai lebih banyak pilihan-pilihan yang dapat diaplikasikan. Hal ini sangat memberi manfaat bagi administrator profesional untuk melakukan optimalisasi.
4.3
Usulan perubahan pada jaringan intranet. Untuk jaringan intranet atau LAN kantor pusat tidak akan terjadi adanya
perubahan melainkan hanya ada penggantian device. Device yang diganti adalah router intel express yang berada pada kantor pusat diganti dengan sebuah PC-based VPN server yang juga dapat menggantikan fungsi router tersebut. Pada VPN server dipasang satu buah ethernet card, satu buah modem. Ethernet port ini digunakan sebagai pengarah ke internal network dan satu buah modem ini mengarah ke internet. Untuk dapat melakukan routing maka opsi ip_forward pada file /etc/network/option akan diaktifkan. Berikut adalah gambaran perubahan jaringannya.
107
Gambar 4.2 Perubahan router menjadi VPN Server
Jadi pada pengimplementasiannya VPN Server ini memiliki dua fungsi yaitu sebagai VPN Server, dan juga sebagai PC router atau gateway bagi intranet PT. Hotel Indonesia Natour.
4.4
Usulan solusi perancangan VPN Pada usulan ini hanya akan dilakukan konfigurasi pada kantor pusat dan kantor
cabang INNA Simpang Surabaya, karena untuk konfigurasi cabang-cabang lainnya tinggal dilakukan penyalinan dari konfigurasi cabang surabaya dan dilakukan penyesuaian IP address nya. Untuk koneksi VPN antara kantor-kantor cabang dengan kantor pusat, digunakan PC-based VPN server dengan OS linux Debian yang sudah diinstalasikan sebagai gateway pada kantor-kantor PT. Hotel Indonesia Natour. Perlu ditentukan IP address untuk setiap LAN kantor-kantor cabang dan kantor pusat PT.
108 Hotel Indonesia Natour. Selain itu, IP address yang merupakan koneksi internet akan diberikan oleh Internet Service Provider (ISP). Pada rancangan yang diusulkan ini, IP address yang digunakan adalah pemisalan bahwa ISP telah memberikan IP address seperti itu. Tabel 4.1 dibawah ini merupakan Tabel yang berisi rancangan koneksi gateway kantor pusat. Rancangan tersebut akan digunakan untuk menghubungkan koneksi internet yang akan digunakan untuk jalur VPN dan jalur akses internet seperti yang sekarang sudah berjalan. Pada Tabel 4.1 ditentukan hostname yang merupakan nama gateway tersebut, lalu IP address interface PC ethernet 0 yang merupakan IP address jaringan lokal dalam hal ini adalah 172.16.1.1 beserta subnet mask-nya dan IP address interface PPP 0 yang terhubung ke ISP juga beserta subnet mask-nya.
Konfigurasi PC Host Name Network ID Eth0 IP Address Eth0 Subnet Mask Eth0 Network ID PPP0 IP Address PPP0 Subnet Mask PPP0
Kantor Pusat DebianHQ 172.16.1.0 172.16.1.1 255.255.255.0 202.165.100.0 202.165.100.1 255.255.255.252
Tabel 4.1 Rancangan Koneksi gateway Kantor Pusat
Pada Tabel 4.2 terdapat rancangan gateway kantor cabang yang masing-masing terhubung ke internet melalui ISP. Dalam rancangan tersebut terdapat hostname yang merupakan nama gateway masing-masing kantor cabang, interface ethernet 0 – nya yang merupakan jaringan lokal beserta subnet mask-nya masing-masing, interface PPP 0 – nya yang terhubung ke ISP.
109 Konfigurasi PC Host Name Network ID Eth0 IP Address Eth0 Subnet Mask Eth0 Network ID PPP0 IP Address PPP0 Subnet Mask PPP0
Kantor Cabang DebianSS 192.168.2.0 192.168.2.1 255.255.255.0 202.165.100.4 202.165.100.5 255.255.255.252
Tabel 4.2 Koneksi kantor cabang INNA Simpang Surabaya
Setelah konfigurasi IP pada masing-masing VPN server dilakukan maka akan tercipta koneksi melalui internet. Perancangan ini merupakan perancangan site-to-site VPN yang hanya menghubungkan kedua tempat tersebut saja. Secara logical gambaran koneksi ini bisa dilihat pada gambar berikut :
Gambar 4.3 Koneksi kantor pusat – kantor cabang
Perancangan VPN kantor cabang dengan kantor pusat PT. Hotel Indonesia Natour merupakan VPN tipe site-to-site karena hanya menghubungkan kedua tempat tersebut saja. VPN yang akan dirancang adalah menggunakan IPSec. Untuk pengimplementasian IPSec dalam pembuatan VPN terdapat 5 langkah, yaitu :
110 1. Instalasi FreeSWAN Menginstalasi paket FreeSWAN dan kernel patchnya pada VPN server yang digunakan. Dalam hal ini digunakan Linux Debian dengan kernel versi 2.4.18 2. Konfigurasi enkripsi RSA Melakukan pembuatan private key dan public key yang akan digunakan oleh FreeSWAN dengan menggunakan algoritma RSA. 3. Konfigurasi Open SSL Konfigurasi ini dilakukan untuk menyesuaikan besar bit enkripsi dan masa validasi dari koneksi VPN ini. 4. Konfigurasi CA. Konfigurasi ini untuk menyesuaikan masa validasi dari sertifikat yang akan digunakan dan juga melakukan pembuatan sertifikat baru 5. Konfigurasi sertifikat FreeSWAN Konfigurasi ini dilakukan untuk menyesuaikan kedua sertifikat diatas dengan sertifikat yang ada di FreeSWAN dan juga membuat signature agar VPN server dapat mengetahui dan mengijinkan paket-paket yang akan melewatinya.
4.5
Pengimplementasian VPN Server. Dalam pengimplementasian VPN server pada PT. Hotel Indonesia Natour
digunakan beberapa tahap utama yang diperlukan, antara lain : 1. Instalasi paket FreeSWAN dan dependency nya. 2. Patch dan kompilasi kernel.
111 3. Instalasi network 4. Konfigurasi VPN server.
Berikut dibawah ini salah satu contoh rancangan IPSec untuk membangun sebuah VPN antara kantor pusat dengan kantor cabang PT. Hotel Indonesia Natour. Dalam skripsi ini, hanya akan diambil satu contoh karena hampir semua rancangannya sama untuk semua kantor cabang, hanya password authentikasi serta konfigurasi IP address-nya saja yang berbeda. Untuk perancangan IPSec lengkapnya dapat dilihat pada lampiran dibagian belakang.
4.5.1 Instalasi Paket FreeSWAN dan Dependency -nya Proses pertama kali dalam membuat VPN server adalah melakukan instalasi FreeSWAN. FreeSWAN ini merupakan implementasi dari protokol IPSec untuk linux yang dapat diperluas untuk dapat melakukan enkripsi. Pada proses penginstalasian ini diperlukan suatu dependency, yaitu modul-modul yang dibutuhkan untuk membentuk program tersebut. Dependency ini biasanya diletakan terpisah dari program utamanya sendiri. Dalam menginstalasi FreeSWAN dependency yang diperlukan adalah make, kernel-package, gcc, libncurses5-dev. Dependency ini perlu diinstal bersamaan dengan aplikasi tersebut, jika ada salah satu dependency yang tidak terpenuhi maka program tidak akan terinstall dengan sempurna. Untuk melakukan instalasi FreeSWAN pada debian digunakan perintah apt-get install. Perintah jelasnya adalah seperti berikut : # apt-get install FreeSWAN kernel-patch-FreeSWAN kernel-source-2.4.18 libncurses5-dev gcc make kernel-package
112
Setelah memasukan perintah diatas akan muncul dialog konfirmasi untuk membuat device FreeSWAN. Device ini dimaksudkan untuk membuat virtual ethernet agar kita bisa melakukan routing paket yang akan keluar, apakah paket itu akan dienkripsi atau tidak. Pilih ’yes’ untuk pertanyaan ini. Setelah proses ini dilakukan maka akan ditampilkan dialog box selanjutnya yang meminta untuk merestart daemon FreeSWAN. Daemon ini merupakan service yang berjalan pada kernel linux. Proses ini dilakukan untuk memperbaiki sisi security nya. Pada pilihan ini opsi ’yes’ diambil. Sesudah daemon FreeSWAN direstart maka dialog box yang muncul selanjutnya adalah permintaan untuk membuat private key dan public key yang akan digunakan untuk host (dalam hal ini VPN server). Public key dan private key ini berfungsi untuk proses authentikasi koneksi VPN. Key ini dapat dibagikan kepada user lain, yang tentu saja dengan aturan yang sudah ditentukan administrator. Sedangkan untuk algoritma yang digunakan adalah RSA (Rivest, Shamir, Adleman). Kemungkinan lain adalah dengan menggunakan shared secrets key. Key ini adalah password sama yang digunakan pada kedua sisi tunnel untuk authentikasi koneksi. Namun dalam penerapannya, jika menggunakan banyak koneksi, penggunaan authentikasi RSA lebih mudah digunakan. Tampilan selanjutnya adalah dialog yang meminta untuk memilih penggunaan plain format sebagai sertifikasi atau menggunakan sertifikasi X509. Jika aplikasi yang berjalan diatas VPN ini digunakan untuk hubungan antar host, maka cukup digunakan plain format. Tetapi jika implementasi IPSec ini digunakan untuk aplikasi lain yang tidak mendukung FreeSWAN maka harus digunakan memilih sertifikasi X509, karena sertifikasi ini merupakan sertifikasi yang sudah di standarisasi dan digunakan secara
113 luas. Dialog box berikutnya adalah dialog konfirmasi yang menanyakan kepemilikan sertifikasi X509 yang lainnya. Jika memiliki program lainnya yang berjalan dengan menggunakan sertifikasi X509 seperti RSA security, maka dapat digunakan key yang sama, namun jika tidak ada maka akan dibuat sertifikasi baru. Langkah berikutnya adalah memasukan panjang bit enkripsi yang akan digunakan. Panjang bit enkripsi dari RSA key secara default adalah 1024 bits dan sangat tidak disarankan untuk menggunakan bit dibawah nilai tersebut. Aplikasi ini juga menganjurkan panjang bit enkripsi untuk tidak lebih dari 2048 bits karena hal ini akan menyebabkan lamanya proses authentikasi.
Gambar 4.4 Konfigurasi panjang bit enkripsi RSA key.
Dialog box selajutnya adalah konfirmasi untuk pembuatan sertifkat FreeSWAN. Setelah dialog ini selesai akan maka akan muncul dialog box yang akan meminta berbagai jenis informasi seperti kode negara, nama kota, nama organisasi, nama satuan unit yang bertanggung jawab, nama host komputer, dan email dari administrator. Keterangan ini kemudian diisi sesuai dengan keperluan yang ada.
114 4.5.2 Patch dan kompilasi kernel Pada tahapan ini dilakukan kompilasi kernel yang bertujuan untuk memenuhi kebutuhan aplikasi akan resource kernel, karena aplikasi FreeSWAN membuat sebuah device IPSec yang membutuhkan akses langsung ke kernel linux. Jika kompilasi kernel ini tidak dilakukan maka akses terhadap device IPSec tidak akan dapat dilakukan yang mengakibatkan tidak akan terjadinya tunnel VPN. Pada tahapan ini, pertama akan dilakukan patch kernel terlebih dahulu terhadap source kernel lama yakni kernel 2.4.18, dan kemudian kernel tersebut akan dikompilasi kembali dengan mengaktifkan sejumlah fitur IPSec. Untuk melakukan patch kernel maka pertama kali akan dilakukan ekstraksi file kernel-source-2.4.18 yang berada pada direktori /usr/src dan kemudian membuat soft link dari hasil ekstraksi file tersebut direktori /usr/src/linux. Pembuatan soft link hanya untuk mempermudah dalam berpindah–pindah direktori. Perintah yang harus dilakukan adalah sebagai berikut : # # # #
cd /usr/src bunzip2 kernel-source-2.4.18.tar.bz2 tar –xvf kernel-source-2.4.18.tar ln –s /usr/src/kernel-source-2.4.18 /usr/src/linux
Setelah perintah tersebut dijalankan maka source kernel yang berada di direktori /usr/src/linux telah siap untuk dipatch. Masukan perintah : # cd /usr/src/linux # /usr/src/kernel-patches/all/apply/FreeSWAN
Setelah perintah ini dilakukan maka akan muncul berbagai pesan yang muncul dari sistem saat patching eksekusi berlangsung. Seperti yang ditunjukan Gambar 4.5.
115 Kemudian setelah melakukan kernel patch, maka langkah berikutnya adalah melakukan backup kernel lama dan melakukan kompilasi kernel baru. Backup kernel lama ini dapat dilakukan dengan membuat copy file dari /boot/vmlinuz-2.4.18 dan file /boot/config-2.4.18. Setelah pengkopian file dilakukan maka langkah berikutnya adalah mengetikkan perintah : # # # #
cp /boot/vmlinuz-2.4.18-bf2.4 /boot/vmlinuz-baru cp /boot/config-2.4.18-bf2.4 /usr/src/config-baru cd /usr/src/linux make menuconfig
Setelah hal diatas dilakukan maka akan muncul layar tampilan menu konfigurasi kernel yang muncul setelah perintah ’make menuconfig’ dieksekusi. Pada tampilan ini akan dipilih ’Load and Alternate Configuration File’ yang dimaksudkan untuk meload file konfigurasi dari kernel yang sudah di patch pada tahap awal. Masukan nama file yaitu ’config-baru’ dan kemudian tekan ’yes’. Kemudian cek pada bagian Network Option dan akan terlihat opsi ’IPSec Option’, seperti yang terlihat pada Gambar 4.7, ini menandakan konfigurasi yang diload tadi adalah konfigurasi yang benar. Langkah selanjutnya adalah pilih opsi tersebut dan simpan, lalu keluar. Pada langkah selanjutnya kita melakukan pembuatan kernel image baru dengan menggunakan konfigurasi yang baru. Perintah yang harus dijalankan adalah : # make-kpkg buildpackage modules kernel-image binary # cd /usr/src/linux # dpkg –i kernel-image-2.4.18_10.00.Custom_i386.deb
Dengan perintah diatas kita melakukan kompilasi modul kernel yang akan menghasilkan kernel image baru dan kemudian menginstalasikan kernel baru pada sistem.
116 Setelah proses kompilasi dan instalasi kernel pada sistem dilakukan, langkah selanjutnya adalah pembuatan konfigurasi boot loader agar jika terjadi crash pada sistem kernel baru, kita masih dapat menggunakan kernel lama. Untuk melakukan ini maka file /etc/lilo.conf perlu diedit. Berikut adalah konfigurasi baru untuk file lilo.conf : # Boot by Linux default # /etc/lilo.conf default=Linux-VPN image = /boot/vmlinuz-2.4.18 label = Linux-VPN read-only # restricted # alias=1 image = /boot/vmlinuz-lama label=Linux-lama read-only optional # restricted # alias=2
Langkah selanjutnya yang perlu dilakukan adalah melakukan konfigurasi pada kernel parameter network agar dapat mendukung IPSec dan IP redirection. Jika hal ini tidak dilakukan maka pada saat user melakukan konfigurasi VPN tidak akan terjadi routing. Pengeditan yang dilakukan pada file /etc/sysctl.conf akan menambahkan parameter kepada kernel pada saat boot, sehingga root tidak harus memasukan perintah setiap kali VPN server akan dijalankan. Baris perintah yang ditambahkan pada file /etc/sysctl.conf adalah : Net.ipv4.conf.eth0.rp_filter=0 Net.ipv4.conf.ipsec.rp_filter=0 Net.ipv4.ip_forward=1
117 Setelah hal-hal diatas dilakukan maka PC linux ini sudah memiliki sebuah aplikasi FreeSWAN yang terintegrasi dengan kernel linux. Namun PC linux ini belum bisa melakukan fungsi VPN karena konfigurasi VPN tersebut belum diatur.
Gambar 4.5 Kernel Patching pada FreeSWAN
118
Gambar 4.6 Menu dari konfigurasi kernel
Gambar 4.7 IPSec Option pada konfigurasi kernel linux
119 4.5.3
Instalasi pada Network. Untuk koneksi VPN server seperti Gambar 4.3 diatas dibutuhkan IP address
public yang didapatkan dari ISP. Dengan menggunakan IP address public ini maka server ini bisa diakses dari internet. Selain IP address juga dibutuhkan konfigurasi pada file
/etc/network/options
dengan
cara
menambahkan
baris
yang
berisikan
ip_forward=yes. Setelah melakukan pengeditan diatas maka perlu dimasukan perintah ’route’ yang digunakan untuk memberitahu kepada kernel interface mana yang digunakan sebagai external interface. Perintah ini juga digunakan untuk melakukan routing ke internet. Perintah yang digunakan adalah : # route add 0.0.0.0 202.165.100.1 if ppp0
Perintah ini berarti mengarahkan semua routing yang tidak ada dalam routing table ke interface PPP0 dengan alamat 202.165.100.1. maka jika ada permintaan ke internet dengan alamat IP 202.164.1.15, paket ini akan diarahkan ke interface ppp0 yang berhubungan dengan ISP dan di routing ke internet. Dengan kondisi seperti ini maka VPN server ini sudah bisa digunakan sebagai gateway yang akan me-routing segala informasi dari internal network menuju internet maupun sebaliknya.
4.5.4 Konfigurasi VPN server. Pada tahap ini dilakukan pengeditan pada file-file konfigurasi yang mendukung FreeSWAN, seperti file konfigurasi openSSL dan juga file CA (Certificate Authority) dari openSSL.
120 4.5.4.1 Konfigurasi OpenSSL. Pertama yang harus dilakukan dalam konfigurasi openSSL adalah melakukan edit pada file konfigurasi openSSL yang terletak di /etc/ssl/opnssl.cnf untuk menentukan besar bit yang akan dienkripsi dan masa validasi dari koneksi VPN ini. Dalam hal ini, nilai dari default enkripsi adalah 1024 sama dengan nilai default pada enkripsi RSA yang ada pada FreeSWAN, maka nilai ini dimasukan sama seperti yang diisikan pada enkripsi RSA yakni 1024 bits. Dan juga lakukan pengubahan pada masa validasi dari 365 hari menjadi 30 hari, hal ini dimaksudkan agar setiap satu bulan sekali dibuat sertifikasi baru bagi setiap cabang, hal ini dilakukan untuk meningkatkan sisi sekuriti dari sertifikasi itu sendiri.
Gambar 4.8 Konfigurasi default_bit pada opnssl.cnf
Gambar 4.9 Konfigurasi default_days pada opnssl.cnf
4.5.4.2 Konfigurasi CA Konfigurasi CA (Certificate Authority) merupakan suatu tools yang akan mengeluarkan sertifikat untuk dibagikan ke host client, sehingga jika client melakukan koneksi ke kantor pusat maka akan diketahui dan dicatat log-nya dari sertifikasi ini. Konfigurasi ini berisi indentitas dari si pemilik sertifikat, seperti yang dilakukan pada
121 saat penginstalasian FreeSWAN. Pada konfigurasi ini dilakukan penyesuaian dengan konfigurasi openSSL diatas pada validation_days, agar antara sertifikat dan mesin pemroses sertifikat terdapat kesamaan waktu. Dalam hal ini berarti jika masa berlaku sertifikat habis maka pada mesin juga akan habis dan sertifikasi baru akan dibuat. Untuk konfigurasi CA file yang harus diubah adalah /usr/lib/ssl/misc/CA.sh, untuk disesuaikan dengan konfigurasi openSSL diatas. Disini masa validasi akan diubah menjadi 30 hari.
Gambar 4.10 Konfigurasi CA.sh
Kemudian yang harus dilakukan adalah membuat CA baru. Hal ini dimaksudkan agar kita memiliki sertifikat baru dengan masa berlaku 30 hari. Agar semua file konfigurasi masuk ke suatu direktori maka dibuat sebuah direktori yang berlokasi di /var/sslca. Kemudian masukan perintah untuk membuat sertifikat baru : # /usr/lib/ssl/misc/CA.sh –newca
122
Gambar 4.11 Konfigurasi CA
4.5.4.3 Konfigurasi sertifikat FreeSWAN Setelah CA terbentuk, maka dilanjutkan dengan pembuatan sertifikasi FreeSWAN dengan nama newreq. Sertifikat ini merupakan sertifikat yang digunakan oleh server ketika client meminta untuk melakukan koneksi ke VPN server. Pada saat sebuah host client meminta untuk melakukan koneksi, pertama-tama server akan meminta sebuah password (challenge password), jika client bisa menjawab dengan tepat maka sertifikat akan dilihat oleh server, jika tidak maka koneksi akan diputuskan. Kemudian server akan mencocokan sertifikat yang dimiliki oleh client dengan key nya, jika cocok maka koneksi akan terjalin, tapi jika tidak maka koneksi akan terputus. Pembuatan sertifikasi FreeSWAN ini dilakukan dengan cara :
123 # /usr/lib/ssl/misc/CA.sh –newreq
Gambar 4.12 Konfigurasi sertifikat FreeSWAN
Setelah sertifikasi request terbentuk, maka sertifikat tersebut harus ditandai dengan sebuah signature. Signature ini berfungsi untuk menjamin keaslian dari sertifikat request tersebut, jika sertifikat request dibuat ditempat lain maka key yang dihasilkan juga tidak sama. Pembuatan key ini dilakukan dengan cara : # /usr/lib/ssl/misc/CA.sh –sign
Dan kemudian pilih ‘y’ untuk mengakhiri proses pembuatan signature.
124
Gambar 4.13 Pembuatan key signature dari sertifikat request
Agar proses penamaan mudah diingat maka akan dilakukan perubahan penamaan pada sertifikat yang telah dibuat. Nama dari file newcert.pem dirubah menjadi
125 vpn.hin.net.pem dan nama newreq.pem dirubah menjadi vpn.hin.net.key. Berikut adalah perintah untuk melakukan perubahan nama file tersebut : # mv /var/sslca/newcert.pem /var/sslca/vpn.hin.net.pem # mv /var/sslca/newreq.pem /var/sslca/vpn.hin.net.key
Setelah proses penamaan dilakukan, langkah selanjutnya adalah mengubah isi dari sertifikasi vpn.hin.net.key. yang terletak pada folder /var/sslca/. Perubahan ini dimaksudkan agar seluruh proses authentikasi yang terjadi hanya menggunakan authentikasi RSA saja. Pada bagian ‘-----BEGIN CERTIFICATE REQUEST-----‘ hingga bagian akhir merupakan proses authentikasi dari openSSL, sehingga dalam hal ini pada saat client meminta koneksi dengan server akan terjadi dua kali authentikasi. Proses ini selain dapat membuat proses authentikasi menjadi lama juga akan membuat masalah pada level aplikasi. Proses authentikasi ini dapat dihilangkan dengan cara menghapus mulai dari bagian ‘----BEGIN CERTIFICATE REQUEST -----‘ hingga bagian akhirnya. Sehingga file vpn.hin.net.key akan dimulai dari ‘----BEGIN RSA PRIVATE KEY-----‘ dan selesai dengan ‘-----END RSA PRIVATE KEY-----‘. Setelah semua proses pembuatan dan pengeditan file –file sertifikat dilakukan, maka langkah berikutnya adalah memindahkan file-file tersebut kedalam direktori IPSec yang terletak di /etc/ipsec.d dan membuat sebuah file kosong bernama crl.pem pada direktori /etc/ipsec.d/crls/crl.pem. Perintah yang digunakan adalah sebagai berikut : # # # #
cp /var/sslca/vpn.hin.net.key /etc/ipsec.d/private/ cp /var/sslca/vpn.hin.net.pem /etc/ipsec.d/ cp /var/sslca/demoCA/cacert.pem /etc/ipsec.d/cacerts/ openssl ca –gencrl –out /etc/ipsec.d/crls/crl.pem
Langkah berikutnya dari konfigurasi server ini adalah melakukan edit pada password authentikasi untuk IPSec. File konfigurasi ini terletak pada /etc/ipsec.secrets
126 dan password yang diisikan haruslah sama dengan pada waktu mengisikan password pada pembuatan newca dan newreq. Pada tahap ini, jika password yang diisikan tidak sama dengan yang ada pada sertifikat, maka VPN server tidak akan mengijikan proses authentikasi pada sertifikat tersebut, dan sebagai akibatnya maka perlu dibuat sertifikat baru yang sama dengan password dengan ipsec.secrets ini.
Gambar 4.14 File ipsec.secrets VPN server kantor pusat
Setelah semua konfigurasi diatas dilakukan, maka sebagai langkah terakhir harus dilakukan penulisan file konfigurasi baru untuk IPSec FreeSWAN. File konfigurasi ini terletak di /etc/ipsec.conf. Pada file konfigurasi ini terdapat beberapa hal yang harus diketahui antara lain IP address internal yang akan dihubungkan, IP address yang menjadi gateway dari network yang akan dihubungkan, dan nama sertifikat yang digunakan. Berikut adalah contoh dari konfigurasi yang digunakan pada VPN server kantor pusat. # /etc/ipsec.conf – FreeSWAN IPSec configuration # file config setup config setup interfaces=%defaultroute klipsdebug=none plutodebug=none plutoload=%search plutostart=%search uniqeids=yes
127 conn %default keyintries=1 compress=yes disablearrivalcheck=no authby=rsasig leftrsasigkey=%cert rightrsasigkey=%cert conn roadwarrior-net leftsubnet=172.16.1.0/255.255.255.0 right=%any left=%defaultroute leftcert=vpn.hin.net.pem auto=add pfs=yes conn roadwarrior right=%any left=%defaultroad auto=add pfs=yes
Pada konfigurasi diatas leftsubnet merupakan interface yang terhubung dengan internal network dan diisi dengan IP address dan subnet mask yang sesuai. Sedangkan untuk right diisi dengan %any, ini menunjukan bahwa interface yang mengarah ke internet ini bisa menggunakan IP berapapun selama tidak sama dengan pool IP pada internal network. Sedangkan untuk penulisannya sendiri hanya menggunakan kata right karena yang isinya berupa IP address dan bukan subnet mask seperti pada penulisan leftsubnet. Untuk bagian leftcert, disini ditunjukan bahwa untuk memasuki leftsubnet client harus memiliki sertifikat vpn.hin.net.pem. Sedangkan untuk bagian auto=add, merupakan perintah untuk memberikan ijin secara otomatis bagi client yang memiliki sertifikat vpn.hin.net.pem.
128 4.5.5 Konfigurasi VPN Client Pada konfigurasi client, sama seperti pada VPN server harus dilakukan kompilasi kernel dan kernel patch untuk menginstall aplikasi FreeSWAN, dan kemudian mengkopi sertifikat dan file-file konfigurasi lainnya, seperti file konfigurasi openSSL dan CA. Setelah proses kompilasi kernel dan kernel patch aplikasi FreeSWAN selesai dilakukan, file-file konfigurasi yang berada pada direktori /var/sslca/ VPN server kantor pusat ke sebuah direktori sementara pada direktori /var/sby/vpn VPN server kantor cabang Surabaya. Kemudian dilakukan perubahan nama dan menyalin ke direktori tempat IPSec bekerja yaitu /etc/ipsec.d/. Perintah yang dilakukan yaitu : # # # # # # #
cp /var/sby/vpn/vpn.hin.net.pem /etc/ipsec.d/ mv/var/sby/vpn/vpn.hin.net.pem /var/sby/vpn/simpang.hin.net.pem mv /var/sby/vpn/vpn.hin.net.key /var/sby/vpn/simpang.hin.net.key cp /var/sby/vpn/vpn.hin.net.pem /etc/ipsec.d/ cp /var/sby/vpn/vpn.hin.net.key /etc/ipsec.d/private/ cp /var/sby/vpn/cacerts.pem /etc/ipsec.d/cacerts/cacerts.pem cp /var/sby/vpn/crl.pem /etc/ipsec.d/crls/
Kemudian lakukan edit pada file /etc/ipsec.secrets seperti yang dilakukan pada VPN server kantor pusat. Kemudian langkah berikutnya adalah melakukan penyesuaian pada ip address pada file /etc/ipsec.conf.
Gambar 4.15 File ipsec.secrets VPN server kantor cabang
129 Langkah terakhir dari konfigurasi client ini adalah penyesuaian konfigurasi pada /etc/ipsec.conf. Langkah ini seperti yang dilakukan pada konfigurasi VPN server kantor pusat hanya dilakukan dengan menyesuaikan leftsubnet dan rightsubnetnya. Berikut adalah contoh file konfigurasi VPN server kantor cabang. # /etc/ipsec.conf – FreeSWAN IPSec configuration # file config setup config setup interfaces=%defaultroute klipsdebug=none plutodebug=none plutoload=%search plutostart=%search uniqeids=yes conn %default keyintries=0 compress=yes disablearrivalcheck=no authby=rsasig leftrsasigkey=%cert rightrsasigkey=%cert conn roadwarrior-net left=202.165.100.1 leftsubnet=172.16.1.0/255.255.255.0 leftcert=vpn.hin.net.pem right=%defaultroute rightcert=simpang.hin.net.pem auto=add pfs=yes conn roadwarrior left=202.165.100.1 leftcert=vpn.hin.net.pem right=%defaultroute rightcert=simpang.hin.net.pem auto=add pfs=yes
4.6
Evaluasi VPN Sebelum melakukan testing VPN, maka harus dipastikan bahwa koneksi routing
antara VPN server kantor pusat dan kantor cabang dapat berjalan. Caranya dapat dengan melihatnya pada routing table yang terdapat di VPN server kantor cabang. Dari routing
130 table ini dapat dilihat IP dengan tujuan VPN server kantor pusat yang beralamat 202.165.100.1 sudah terdapat pada route destination, VPN server ini bisa dijangkau melalui gateway berikutnya dengan alamat 202.165.100.6 melalui interface ipsec0. Hal ini menandakan paket yang keluar menuju alamat 202.165.100.6 akan dienkripsi.
Gambar 4.16 Routing table VPN server surabaya
4.6.1 Testing VPN Untuk memastikan bahwa VPN berjalan dengan baik adalah dengan melakukan testing. Testing ini dilakukan dengan menggunakan software sniffer Ethereal. Software Ethereal ini nantinya akan menangkap paket-paket yang lewat ketika transfer data terjadi. Dengan melakukan sniff menggunakan software ini, maka dapat dilihat bahwa paket-paket tersebut dienkripsi atau tidak. Apabila paket tersebut dienkripsi maka dapat disimpulkan bahwa VPN tersebut sudah berjalan dengan baik. Namun jika sistem VPN sudah dijalankan, tetapi paket-paket yang ditangkap oleh software Ethereal
tidak
terenkripsi maka VPN tersebut belum berhasil diimplementasikan. Untuk memastikan bahwa usulan solusi rancangan dan konfigurasi yang dibuat berjalan dengan baik, maka dilakukan testing dengan melakukan sniff melalui Ethereal. Testing dilakukan dengan melakukan login ftp dari komputer kantor cabang ke server ftp
131 di kantor pusat. Dengan melihat pada software Ethereal dapat dilihat bahwa paket yang tertangkap dapat dilihat username dan password untuk login ftp dari kantor cabang pada ftp server di kantor pusat. Gambar 4.17 dan Gambar 4.18 adalah hasil yang terlihat ketika software Ethereal melakukan sniff terhadap paket-paket yang dikirimkan ke suatu tujuan
tertentu.
Ketika
melakukan
sniff
terhadap
paket-paket
ini
belum
diimplementasikan sistem VPN-nya sehingga semua paket yang lewat dapat dilihat data yang terdapat pada paket tersebut.
Gambar 4.17 Sniff paket data tanpa VPN
Pada Gambar 4.17 terlihat bahwa suatu user melakukan ftp ke IP address 172.16.1.2 yang merupakan jaringan lokal kantor pusat. Pada software ethereal terlihat bahwa username yang digunakan adalah ted dan password yang digunakan adalah 123456789. Apabila diimplementasikan sistem VPN, maka paket-paket yang ditangkap
132 oleh ethereal tidak akan terlihat. Gambar 4.18 memperlihatkan paket yang dienkripsi dengan melakukan ftp seperti yang dilakukan sebelumnya.
Gambar 4.18 Sniff paket data dengan VPN
Terlihat bahwa dengan VPN setiap paket yang akan dikirim dari kantor cabang atau sebaliknya akan dienkripsi terlebih dahulu sehingga data yang terdapat dalam paket tidak terlihat. Paket-paket yang dienkripsi hanya terlihat ESP(SPI=0x8eb298), yang artinya menggunakan protokol ESP.
133 4.6.2 Kelebihan dan Kelemahan VPN 4.6.2.1 Kelebihan VPN Ada beberapa keuntungan yang dapat diperoleh dengan menggunakan VPN untuk implementasi WAN. Pertama, jangkauan jaringan lokal yang dimiliki suatu perusahaan akan menjadi luas, sehingga perusahaan dapat mengembangkan bisnisnya di daerah lain. Waktu yang dibutuhkan untuk menghubungkan jaringan lokal ke tempat lain juga semakin cepat, karena proses instalasi infrastruktur jaringan dilakukan dari perusahaan/kantor cabang yang baru dengan ISP terdekat di daerahnya. Sedangkan penggunaan leased line sebagai WAN akan membutuhkan waktu yang lama untuk membangun jalur koneksi khusus dari kantor cabang yang baru dengan perusahaan induknya. Dengan demikian penggunaan VPN secara tidak langsung akan meningkatkan efektivitas dan efisiensi kerja. Kedua, penggunaaan VPN dapat mereduksi biaya operasional bila dibandingkan dengan penggunaan leased line sebagai cara tradisional untuk mengimplementasikan WAN. VPN dapat mengurangi biaya pembuatan jaringan karena tidak membutuhkan kabel (leased line) yang panjang. Penggunaan kabel yang panjang akan membutuhkan biaya produksi yang sangat besar. Semakin jauh jarak yang diinginkan, semakin meningkat pula biaya produksinya. VPN menggunakan internet sebagai media komunikasinya. Perusahaan hanya membutuhkan kabel dalam jumlah yang relatif kecil untuk menghubungkan perusahaan tersebut dengan pihak ISP (internet service provider) terdekat. Media internet telah tersebar ke seluruh dunia, karena internet digunakan sebagai media komunikasi publik yang bersifat terbuka. Artinya setiap paket informasi yang dikirimkan melalui internet, dapat diakses dan diawasi bahkan dimanipulasi, oleh setiap
134 orang yang terhubung ke internet pada setiap saat. Setiap orang berhak menggunakan internet dengan syarat dia memiliki akses ke internet. Untuk memperoleh akses ke internet, orang tersebut dapat dengan mudah pergi ke warnet (warung internet) yang sudah banyak tersebar di Indonesia. Oleh karena itu untuk memperoleh komunikasi yang aman, perlu protokol tambahan yang khusus dirancang untuk mengamankan data yang dikirim melalui internet, sehingga data tersebut hanya dapat diakses oleh pihak tertentu saja. Penggunaan VPN juga dapat mengurangi biaya telepon untuk akses jarak jauh, karena hanya dibutuhkan biaya telepon untuk panggilan ke titik akses yang ada di ISP terdekat. Pada beberapa kasus hal ini membutuhkan biaya telepon SLJJ (sambungan langsung jarak jauh), namun sebagian besar kasus cukup dengan biaya telepon lokal. Berbeda dengan penggunaan leased line, semakin jauh jarak antar terminal, akan semakin mahal biaya telepon yang digunakan. Biaya operasional perusahaan juga akan berkurang bila menggunakan VPN. Hal ini disebabkan karena pelayanan akses dial-up dilakukan oleh ISP, bukan oleh perusahaan yang bersangkutan. Secara teori biaya operasional ISP yang dibebankan kepada perusahaan bisa jauh lebih kecil daripada biaya operasional akses dial-up tersebut ditanggung perusahaan itu sendiri karena biaya operasional ISP itu ditanggung bersama-sama oleh ribuan pelanggan ISP tersebut. Ketiga, penggunaan VPN akan meningkatkan skalabilitas. Perusahaan yang tumbuh pesat akan membutuhkan kantor cabang baru di beberapa tempat yang terhubung dengan jaringan lokal kantor pusat. Bila menggunakan leased line, penambahan satu kantor cabang membutuhkan satu jalur untuk membangun WAN. Penambahan satu kantor cabang baru lagi (dua kantor cabang) akan membutuhkan dua
135 tambahan jalur, masing-masing ke kantor pusat dan ke kantor cabang terdahulu. Jika mereka memiliki kantor cabang yang ke-3, dibutuhkan enam jalur untuk menghubungkan semua kantor. Berbeda dengan penggunaan leased line, pada VPN, penambahan satu kantor cabang hanya membutuhkan satu jalur, yaitu jalur yang menhubungkan kantor cabang yang baru dengan ISP terdekat. Selanjutnya jalur dari ISP akan terhubung ke internet yang merupakan jaringan global. Dengan demikian penggunaan VPN untuk implementasi WAN akan menyederhanakan topologi jaringannya. Keempat, VPN memberi kemudahan untuk diakses dari mana saja, karena VPN terhubung ke internet. Sehingga pegawai yang mobile dapat mengakses jaringan khusus perusahaan di manapun dia berada. Selama dia bisa mendapatkan akses ke internet ke ISP terdekat, pegawai tersebut tetap dapat melakukan koneksi dengan jaringan khusus perusahaan. Hal ini tidak dapat dilakukan jika menggunakan leased line yang hanya dapat diakses pada terminal tertentu saja.
4.6.2.2 Kelemahan VPN VPN juga memiliki kelemahan yaitu pertama, VPN membutuhkan perhatian yang serius pada keamanan jaringan publik (internet). Oleh karena itu diperlukan tindakan yang tepat untuk mencegah terjadinya hal-hal yang tidak diinginkan seperti penyadapan, hacking dan tindakan cyber crime pada jaringan VPN. Kedua, ketersediaan dan performansi jaringan khusus perusahaan melalui media internet sangat tergantung pada faktor-faktor yang berada di luar kendali pihak perusahaan. Kecepatan dan keandalan transmisi data melalui internet yang digunakan sebagai media komunikasi jaringan VPN tidak dapat diatur oleh pihak pengguna
136 jaringan VPN, karena traffic yang terjadi di internet melibatkan semua pihak pengguna internet di seluruh dunia. Ketiga, perangkat pembangun teknologi jaringan VPN dari beberapa vendor yang berbeda ada kemungkinan tidak dapat digunakan secara bersama-sama karena standar yang ada untuk teknologi VPN belum memadai. Oleh karena itu fleksibilitas dalam memilih perangkat yang sesuai dengan kebutuhan dan keuangan perusahaan sangat kurang. Keempat, VPN harus mampu menampung protokol lain selain IP dan teknologi jaringan internal yang sudah ada. Akan teteapi IP masih dapat digunakan VPN melalui pengembangan IPSec (IP Security Protocol).