Pada dasarnya jaringan komputer menggunakan sebuah tunneling protokol saat data dalam protokol HTTP di-enkapsulasi (dibungkus) dalam protokol SSL sebagai payload. Secara sederhana tunneling berarti mengirimkan data melalui koneksi lain yang sudah terbentuk , sebagai contoh saat Anda membuka situs internet banking, pasti dalam awalan akan terdapat URL "https", yang itu sebenarnya adalah data dalam protokol HTTP yang dikirimkan melalui koneksi dengan protokol SSL, atau "HTTP over SSL". Dalam bahasa gaulnya "HTTP digendong SSL".
Pada dasarnya jaringan komputer menggunakan sebuah tunneling protokol saat data dalam protokol HTTP di-enkapsulasi (dibungkus) dalam protokol SSL sebagai payload. Secara sederhana tunneling berarti mengirimkan data melalui koneksi lain yang sudah terbentuk , sebagai contoh saat Anda membuka situs internet banking, pasti dalam awalan akan terdapat URL "https", yang itu sebenarnya adalah data dalam protokol HTTP yang dikirimkan melalui koneksi dengan protokol SSL, atau "HTTP over SSL". Dalam bahasa gaulnya "HTTP digendong SSL".
VIRTUAL PRIVATE NETWORK
Apakah VPN itu?
Virtual Networking: menciptakan ‘tunnel’ dalam jaringan yang tidak harus direct.
Sebuah ‘terowongan’ diciptakan melalui public network seperti Internet. Jadi seolaholah ada hubungan point-to-point dengan data yang dienkapsulasi.
Private Networking: Data yang dikirimkan terenkripsi, sehingga tetap rahasia
meskipun melalui public network.
Cara Kerja
VPN bisa bekerja dengan cara:
•dial-up
• bagian dari router-to-router
Digging the Tunnel
Tunnel dalam VPN sebenarnya hanya logical point-to-point connection dengan
otentikasi dan enkripsi. Analoginya adalah kalau sebuah organisasi/perusahaan
punya kantor di 2 gedung yang berbeda. Nah, untuk orang/informasi bergerak dari
satu kantor ke kantor lainnya, bisa melalui:
• kaki lima atau jalan umum
• menggali lubang di bawah tanah (analog dengan VPN).
Proses Enkapsulasi
Paket lama dibungkus dalam paket baru. Alamat ujung tujuan terowongan (tunnel
endpoints) diletakkan di destination address paket baru, yang disebut dengan
encapsulation header. Tujuan akhir tetap ada pada header paket lama yang
dibungkus (encapsulated). Saat sampai di endpoint, kapsul dibuka, dan paket lama
dikirimkan ke tujuan akhirnya.
Enkapsulasi dapat dilakukan pada lapisan jaringan yang berbeda.
Layer 2 Tunneling
VPN paling sering menggunakan lapisan data link, misalnya:
• Point-to-Point Tunneling Protocol (PPTP) dari Microsoft.
• Contoh yang lain adalah Layer 2 Forwarding (L2F) dari Cisco yang bisa
bekerja pada jaringan ATM dan Frame Relay. L2F didukung oleh
Internetwork Operating System yang didukung oleh router-router Cisco.
• Yang terbaru adalah Layer 2 Tunneling Protocol (L2TP) yang
mengkombinasikan elemen dari PPTP dan L2F.
Layer 3 Tunneling
Tunneling dapat dibuat pula pada lapisan IP. Jadi paket IP dibungkus dalam IP
Security (IPSec) dengan menggunakan pula IKE (Internet Key Exchange).
IPSec bisa dipergunakan dengan beberapa cara:
• transport mode: IPSec melakukan enkripsi, tetapi tunnel dibuat oleh L2TP.
Perhatikan bahwa L2TP bisa juga mengenkapsulasi IPX (Internetwork
Packet Exchange) dan jenis paket-paket layer 3 lainnya.
• tunneling mode: IPSec melakukan enkripsi dan tunneling-nya. Ini mungkin
harus dilakukan jika router/gateway tidak mendukuk L2TP atau PPTP.
Dukungan Sistem Operasi
• Windows 9x, Windows NT: PPTP
• Windows 2000: L2TP, PPTP
• Linux: IPSec & SSH (Secure Shell)
VPN pada Windows 2000
Alasan Penggunaan VPN
VPN vs Dial-up Networking:
Misalnya seorang pegawai yang mobile bertugas antarkota. Bisa saja pakai dial-up
service, tetapi kalau dial-up antar kota, bisa mahal sekali.
Oleh karena itu menggunakan ISP lokal + VPN, untuk mengakses LAN perusahaan.
Selain itu VPN juga akan mereduksi jumlah telephone line & modem bank yang
perlu disediakan perusahaan. Perusahaan cukup menyediakan 1 koneksi saja ke
Internet. Hal ini akan mereduksi cost dari perusahaan.
Keuntungan VPN terhadap dial-up access:
1. menghemat biaya interlokal
2. membutuhkan lebih sedikit saluran telepon di perusahaan
3. membutuhkan hardware yang lebih sedikit (seperti modem bank)
Kerugian VPN
1. kedua endpoints dari VPN, koneksinya harus reliable. Sebagai contoh,
kalau ISP di sisi client (sang telecommuter employee) tidak bisa
diakses/di-dial, maka tentu VPN tidak bisa juga! Lain halnya kalau bisa
dial-up service ke kantor.
2. Performance VPN bisa lebih lambat daripada dial-up service yang biasa
tanpa VPN. Hal ini disebabkan karena ada proses tunneling dan
enkripsi/dekripsi.
Skenario-skenario VPN
Remote Access VPN
1. Home user atau mobile user men-dial ke ISP
2. Setelah ada koneksi Internet, client menghubungkan diri ke remote access server
yang telah dikonfigurasikan dengan VPN.
3. User diotentikasi, dan akses kemudian diizinkan.
Virtual Private Extranets
Untuk menghubungkan diri partner, supplier atau customer, seperti dalam B2B ecommerce. Hal yang penting adalah melindungi LAN (intranet) dari akses yang
mungkin merugikan dari luar. Oleh karena itu harus dilindungi oleh firewall.
Koneksi client ke intranet dengan VPN di perimeter network. Karena biasanya yang
diakses adalah web server, maka web server juga ada di perimeter network.
VPN Connections Between Branch Offices
Disebut juga gateway-to-gateway atau router-to-router configuration. Routernya
harus disetup sebagai VPNserver dan client.
Software seperti vpnd (VPNdaemon) bisa dipergunakan untuk menghubungkan 2
LAN dengan Linux atau FreeBSD.
VPN Protocols
Tunneling Protocols
1. PPTP
Dikembangkan oleh Microsoft dari PPP yang dipergunakan untuk remote access.
Caranya:
a. PPTP mengenkapsulasi frame yang bisa berisi IP, IPX atau NetBEUI dalam
sebuah header Generic Routing Encapsulation (GRE). Tetapi PPTP
membungkus GRE dalam paket IP. Jadi PPTP membutuhkan IP untuk
membuat tunnel-nya, tetapi isinya bisa apa saja.
b. Data aslinya dienkripsi dengan MPPE.
PPTP-linux adalah client software. Sedangkan yang server adalah PoPToP untuk
Linux, Solaris dan FreeBSD.
2. L2F
Dibuat Cisco tahun 1996. Bisa menggunakan ATM dan Frame Relay, dan tidak
membutuhkan IP. L2F juga bisa menyediakan otentikasi untuk tunnel endpoints.
3. L2TP
Dikembangkan oleh Microsoft dan Cisco. Bisa mengenkapsulasi data dalam IP,
ATM, Frame Relay dan X.25.
Keunggulan L2TP dibandingkan PPTP:
• multiple tunnels between endpoints, sehingga bisa ada beberapa saluran
yang memiliki perbedaan Quality of Service (QoS).
•mendukung kompresi
•bisa melakukan tunnel authentication
• bisa bekerja pada jaringan non-IP seperti ATM dan Frame Relay.
4. IPSec
Dalam tunneling mode, IP Sec bisa dipergunakan untuk mengenkapsulasi paket.
IP Sec juga bisa dipergunakan untuk enkripsi dalam protokol tunneling lainnya.
IPSec menggunakan 2 protokol
• Authentication Header (AH): memungkinkan verifikasi identitas pengirim.
AH juga memungkinkan pemeriksaan integritas dari pesan/informasi.
•Encapsulating Security Payload (ESP): memungkinkan enkripsi informasi
sehingga tetap rahasia. IP original dibungkus, dan outer IP header
biasanya berisi gateway tujuan. Tetapi ESP tidak menjamin integrity dari
outer IP header, oleh karena itu dipergunakan berbarengan dengan AH.
5. SSH dan SSH2
Dikembangkan untuk membuat versi yang lebih aman dari rsh, rlogin dan rcp
pada UNIX. SSH menggunakan enkripsi dengan public key seperti RSA. SSH
bekerja pada session layer kalau merujuk pada OSI reference model, sehingga
disebut circuit-level VPN. SSH membutuhkan login account.
6. CIPE
Adalah driver kernel Linux untuk membuat secure tunnel anatara 2 IP subnet.
Data dienkripsi pada lapisan network layer (OSI) sehingga di sebut low-level
encryption. Oleh karena itu CIPE tidak memerlukan perubahan besar pada layerlayer di atasnya (termasuk aplikasi).
Encryption Protocols
•MPPE
• IPSec encryption: DES atau 3DES
•VPNd: Blowfish
• SSH: public key encryption
VPN Security
1. Authentication
Proses mengidentifikasi komputer dan manusia/user yang memulai VPN
connection. Metode otentikasi dapat dilakukan dengan protokol:
- Extensible Authentication Protocol (EAP)
- Challenge Handshake Authentication (CHAP)
-MS-CHAP
-Password Authentication Protocol (PAP)
-Shiva-PAP
2. Authorization
Menentukan apa yang boleh dan yang tidak boleh diakses seorang user.
3. Enkripsi
Masalah Performa VPN
Yang paling jadi masalah adalah performa Internet sendiri. Misalnya kadang-kadang
bisa terjadi ISP tidak bisa diconnect, atau sedang ada heavy traffic di Internet
(karena ada berita besar misalnya).
Kemudian adalah masalah kecepatan, dimana circuit-level VPN lebih lambat
ketimbang network-level VPN.
PPTP
PPTP merupakan protokol jaringan yang memungkinkan pengamanan transfer
data dari remote client (client yang berada jauh dari server) ke server pribadi perusahaan dengan membuat sebuah VPN melalui TCP/IP (Snader, 2005). Protokol ini dikembangkan oleh Microsoft dan Cisco.
Teknologi jaringan PPTP merupakan pengembangan dari remote access Point-to-Point protocol yang dikeluarkan oleh Internet Engineering Task Force (IETF).
PPTP merupakan protokol jaringan yang merubah paket PPP menjadi IP datagram agar dapat ditransmisikan melalui intenet. PPTP juga dapat digunakan pada jaringan private LAN-to-LAN. PPTP terdapat sejak dalam sistem operasi Windows NT server dan Windows NT Workstation versi 4.0. Komputer yang berjalan dengan sistem operasi tersebut dapat menggunakan protokol PPTP dengan aman untuk terhubung dengan private network sebagai client dengan remote access melalui internet. PPTP juga dapat digunakan oleh komputer yang terhubung dengan LAN untuk membuat VPN melalui LAN.
Fasilitas utama dari penggunaan PPTP adalah dapat digunakannya public-switched telephone network (PSTN) untuk membangun VPN. Pembangunan PPTP yang mudah dan berbiaya murah untuk digunakan secara luas menjadi solusi untuk remote user dan mobile user, karena PPTP memberikan keamanan dan enkripsi komunikasi melalui PSTN ataupun internet.
Karakteristik
Setelah PPTP tunnel terbentuk, data dari user ditransmisikan antara PPTP client dan PPTP server. Data yang ditransmisikan dalam bentuk IP datagram yang berisi PPP paket. IP datagram dibuat dengan menggunakan versi protokol Generic Routing Encapsulation (GRE) internet yang telah dimodifikasi. Struktur paket data yang dikirimkan melalui PPTP dapat digambarkan sebagai berikut:
Teknologi tunneling dikelompokkan secara garis besar berdasarkan protokol tunneling layer 2 (Data Link Layer) dan layer 3 (Network Layer) model OSI layer. Yang termasuk ke dalam tunneling layer 2 adalah L2F, PPTP, dan L2TP. Sedangkan yang termasuk layer 3 adalah IPSec, VTP, dan ATMP.
Pada posting ini saya hanya akan membahas mengenai PPTP saja. Untuk L2TP akan dibahas pada posting berikutnya. Di samping itu juga dibahas mengenai salah satu protokol keamanan komputer lainnya, yaitu RADIUS.
Pengenalan
PPTP merupakan protokol jaringan yang memungkinkan pengamanan transfer
data dari remote client (client yang berada jauh dari server) ke server pribadi perusahaan dengan membuat sebuah VPN melalui TCP/IP (Snader, 2005). Protokol ini dikembangkan oleh Microsoft dan Cisco.
Teknologi jaringan PPTP merupakan pengembangan dari remote access Point-to-Point protocol yang dikeluarkan oleh Internet Engineering Task Force (IETF).
PPTP merupakan protokol jaringan yang merubah paket PPP menjadi IP datagram agar dapat ditransmisikan melalui intenet. PPTP juga dapat digunakan pada jaringan private LAN-to-LAN. PPTP terdapat sejak dalam sistem operasi Windows NT server dan Windows NT Workstation versi 4.0. Komputer yang berjalan dengan sistem operasi tersebut dapat menggunakan protokol PPTP dengan aman untuk terhubung dengan private network sebagai client dengan remote access melalui internet. PPTP juga dapat digunakan oleh komputer yang terhubung dengan LAN untuk membuat VPN melalui LAN.
Fasilitas utama dari penggunaan PPTP adalah dapat digunakannya public-switched telephone network (PSTN) untuk membangun VPN. Pembangunan PPTP yang mudah dan berbiaya murah untuk digunakan secara luas menjadi solusi untuk remote user dan mobile user, karena PPTP memberikan keamanan dan enkripsi komunikasi melalui PSTN ataupun internet.
Karakteristik
Setelah PPTP tunnel terbentuk, data dari user ditransmisikan antara PPTP client dan PPTP server. Data yang ditransmisikan dalam bentuk IP datagram yang berisi PPP paket. IP datagram dibuat dengan menggunakan versi protokol Generic Routing Encapsulation (GRE) internet yang telah dimodifikasi. Struktur paket data yang dikirimkan melalui PPTP dapat digambarkan sebagai berikut:
Cara Kerja
Cara kerja PPTP dimulai dari sebuah remote atau PPTP client mobile yang membutuhkan akses ke sebuah LAN private dari sebuah perusahaan. Pengaksesan dilakukan dengan menggunakan ISP lokal. Client (yang menggunakan Windows NT Server versi 4.0 atau Windows NT Workstation versi 4.0) menggunakan Dial-Up networking dan protokol remote access PPP untuk terhubung ke sebuah ISP.
Client terhubung ke Network Access Server (NAS) pada fasilitas ISP. NAS di sini bisa berupa prosesor front-end, server dial-in atau server Point-of-Presence (POP). Begitu terhubung, client bisa mengirim dan menerima paket data melalui internet. NAS menggunakan protocol TCP/IP untuk semua trafik yang melalui internet.
Setelah client membuat koneksi PPP ke ISP, panggilan Dial-Up Networking yang kedua dibuat melalui koneksi PPP yang sudah ada. Data dikirimkan menggunakan koneksi yang kedua ini dalam bentuk IP datagram yang berisi paket PPP yang telah ter-enkapsulasi.
Panggilan yang kedua tersebut selanjutnya menciptakan koneksi VPN ke server PPTP pada LAN private perusahaan. Koneksi inilah (melalui panggilan kedua) yang di-istilahkan sebagai tunnel (lorong). Berikut ini gambar yang menjelaskan proses tersebut:
Tunneling pada gambar 3 adalah sebuah proses pengiriman paket data ke sebuah komputer pada jaringan privat dengan me-routing paket data tersebut melalui beberapa jaringan yang lain, misalnya Internet. Router-router jaringan yang lain tidak bisa mengakses komputer yang berada pada jaringan privat. Oleh karena itu, tunneling memungkinkan jaringan routing untuk mentransmisikan paket data ke komputer penghubung, seperti PPTP server, yang terhubung ke jaringan routing dan jaringan privat. PPTP client dan PPTP server menggunakan tunneling untuk merutekan paket data secara aman ke komputer yang berada pada jaringan privat melalui router-router yang hanya mengetahui alamat server penghubung jaringan privat.
Contoh Implementasi
PPTP merupakan protocol VPN pertama yang didukung oleh Microsoft Dial-Up Networking. Semua versi rilis Microsoft Windows sejak Windows 95 OSR2 telah dilengkapi dengan aplikasi PPTP client, sedangkan PPTP server berada pada Routing dan Remote Access Service untuk Microsoft Windows. Microsoft Windows Mobile 2003 dan versi yang lebih tinggi juga telah didukung oleh protocol PPTP.
PPTP yang mendukung server-side Linux disediakan oleh PoPToP daemon. Mac OS X (termasuk versi yang dibenamkan ke iPhone) juga sudah dilengkapi dengan PPTP client. Begitu juga berbagai gadget dengan sistem operasi Android telah mendukung pemakaian PPTP dengan baik.