Seperti telah dijelaskan sebelumnya,
teknologi jaringan VPN menggunakan internet sebagai media transmisi data
ke tempat yang dituju. Oleh karena itu pengamanan transmisi data
melalui internet menjadi hal yang sangat substansial untuk diperhatikan
agar diperoleh komunikasi yang aman.
Beberapa metode pengamanan data yang dapat dilakukan pada teknologi jaringan VPN antara lain dengan menggunakan firewall.
Pengamanan bisa juga dilakukan dengan melakukan enkripsi pada data yang
akan dikirim melalui intenet. Selain itu, data dapat juga dikirim
menggunakan protokol khusus yang aman untuk tranmisi data melalui
internet (IPSec). Alternatif lain pengendalian keamanan jaringan VPN
adalah dengan menggunakan metode AAA server yang akan memeriksa
autentikasi, autorisasi dan merekam segala sesuatu yang dilakukan
pengguna pada suatu jaringan.
Firewall
Firewall merupakan sekumpulan komponen yang diletakkan antara dua jaringan. Komponen tersebut terdiri dari komputer, router yang dirancang sebagai buffer antara jaringan publik dan jaringan internal (private). Fungsi dari firewall adalah
untuk membatasi akses ke jaringan internal yang terhubung ke jaringan
publik (misal internet). Akses ke jaringan tersebut hanya diperbolehkan
bagi orang-orang yang memiliki autorisasi terhadap jaringan tersebut.
Arsitektur firewall dapat dilihat pada gambar 3.
Komponen utama pembangun firewall adalah
-
- metode yang digunakan
- aturan kebijakan keamanan jaringan (policy)
- mekanisme autentikasi
Pada saat ini terdapat dua jenis metode firewall yang umum digunakan yaitu packet filtering router dan proxy server.
1. Packet filtering router
Packet filtering router merupakan router
yang dirancang untuk menjaga koneksi dari jaringan luar ke beberapa
layanan yang tidak dibuka, menjaga koneksi jaringan internal dengan
internet. Firewall ini menerapkan beberapa aturan untuk memfilter paket yang akan masuk dan keluar jaringan. Arsitektur packet filtering router diberikan pada gambar
4.Parameter-parameter yang digunakan
untuk memfilter suatu paket adalah protokol, port atau alamat sumber
paket, dan port atau alamat tujuan paket. Aturan terhadap paket yang ada
di router mendefinisikan jenis koneksi yang diperbolehkan dan koneksi yang dilarang. Packet filter dapat digunakan untuk memfilter paket berdasarkan tipenya, apakah paket TCP, UDP atau ICMP.
Jika suatu aturan pada firewall telah terpenuhi, aturan tersebut akan langsung dijalankan. Peraturan yang diterapkan pada firewall
dapat berupa memblok paket yang masuk atau yang akan dikirim,
meneruskan paket dari atau ke luar sistem internal, atau aturan tersebut
dapat pula berisi perintah untuk mengirim pesan ICMP ke tempat asal.
Hanya perturan yang pertama kali terpenuhi saja yang akan dilaksanakan
oleh firewall karena proses penyesuaian aturan dengan parameter paket dilakukan secara berurutan. Oleh karena itu aturan yang dituliskan pada firewall biasa disebut sebagai aturan rantai (rule chain).
Untuk kemudahan dan keamanan dalam membuat aturan paket pada router, sebaiknya aturan yang didefinisikan pada router
adalah dengan menuliskan aturan paket yang boleh diterima dan dikirim.
Paket yang tidak memenuhi aturan itu tidak akan diteruskan oleh router.
Packet filtering biasanya terjadi pada level jaringan dan protokol transpor. Jika port-port tertentu pada NetBIOS tidak di-enable, maka permintaan komunikasi pada port-port tersebut akan diblok, sehingga sistem akan aman dari serangan internet.
Beberapa keuntungan menggunakan packet filtering router adalah,
- arsitekturnya yang sederhana
- transparansi terhadap user, karena setiap user dapat mengetahui apakah suatu paket yang diterima atau dikirm akan diteruskan firewall
- proses memfilter berlangsung dengan cepat
Meskipun memiliki beberapa keuntungan, packet filtering router juga memiliki beberapa kekurangan yaitu,
- kesulitan dalam menerapkan aturan filter pada router
- kurangnya sistem autentikasi terhadap router
Beberapa kelemahan di atas dapat menyebabkan serangan terhadap sistem yang dijaga menggunakan packet filtering router. Beberapa kemungkinan serangan yang dapat menyerang packet filtering router adalah IP address spoofing, dan source routing attacks.
IP address spoofing merupakan
teknik yang digunakan penyusup untuk mendapatkan akses ke komputer
tertentu. Sang penyusup mengirim pesan ke komputer yang dituju
menggunakan alamat IP seolah-olah pesan tersebut berasal dari komputer
yang memiliki akses. Untuk melakukan IP address spoofing, sang penyusup harus memperoleh alamat IP yang memiliki hak akses. Kemudian penyusup tersebut harus memodifikasi header paket yang akan dikirim sehingga seolah-olah paket tersebut berasal dari komputer yang memiliki hak akses.
Source routing attacks merupakan
teknik untuk mengendalikan jalur transmisi suatu paket pada suatu
jaringan. Paket yang dikirim melalui TCP/IP tidak akan memperdulikan
jalur yang akan dilaluinya ke alamat IP yang dituju. Setiap paket yang
dikirim dari titik A ke titik B dapat melalui jalur yang berbeda. Jalur
pengiriman paket melalui TCP/IP sangat tergantung dari traffic di jaringan, kemampuan router, dan faktor lainnya.
Pengirim paket menggunakan teknik source routing
dapat menentukan rute yang dilalui paket menuju alamat yang dituju.
Jika rute yang diinginkan tidak bias dilalui, maka paket akan terhenti
dan tidak akan terkirim ke alamt tujuan. Jika paket yang dikirim sampai
ke alamat yang dituju dan penerima membalas paket ke pengirim, paket
tersebut akan dikirim melalui rute yang sama.
Teknik source routing pada beberapa kasus merupakan aktivitas yang legal. Misalnya, teknik ini dapat digunakan untuk menemukan alamat IP router pada
jaringan.Namun teknik ini memiliki potensi untuk disalahgunakan. Teknik
ini dapat digunakan orang-orang yang jahat untuk mempelajari seluk
beluk jaringan yang akan diserang. Paket data akan mengandung informasi
tentang jalur dan mesin mana saja yang telah dilaluinya. Para penyerang
dapat mengirimkan data ke jaringan untuk mengmpulkan informasi tentang
topologi jaringannya. Jika source routing berhasil dilakukan,
mereka dapat menyelidiki topologi jaringan secara efektif dengan
mengirimkan sejumlah paket ke bagian jaringan tertentu.
Teknik source routing juga
memungkinkan terjadinya beberapa penyerangan. Sebagai contoh, penyerang
tidak dapat menyerang perusahaan A karena perusahaan tersebut
menggunakan firewall yang tangguh. Namun perusahaan B yang tidak memiliki firewall dapat berhubungan dengan perusahaan A tanpa melalui firewall. Source routing memungkinkan penyerang mengirim paket ke perusahaan A tanpa melewati firewall melalui perusahaan B.
Beberapa contoh implementasi packet filtering router
menggunakan FreeBSD dijelaskan pada bagian ini. Perintah di bawah ini
akan menutup semua paket dari evil.crackers.org ke port telnet di
nice.people.org.
# ipfw add deny tcp from evil.crackers.org to nice.people.org 23
Contoh selanjutnya menutup danmenyimpan
log trafik TCP dari seluruh jaringan evil.crackers.org subnet kelas C ke
port apapun di nice.people.org.
# ipfw add deny log tcp from evil.crackers.org/24 to nice.people.org
Perintah di bawah ini akan menutup pengiriman X sessions ke jaringan internal dengan subnet kelas C.
# ipfw add deny tcp from any to my.org/28 6000 setup
Untuk melihat jumlah aturan yang telah dimasukkan digunakan perintah
# ipfw -a list
Untuk melihat aturan yang dicocokkan terakhir kali digunakan perintah
# ipfw -at l
2. Proxy server
Jenis implementasi firewall yang lain adalah proxy server. Proxy server merupakan firewall yang dibuat secara software untuk memfilter paket, baik yang masuk ke jaringan internal, maupun paket yang keluar jaringan.
Software proxy server dijalankan pada bagian host routing yang berada di antara jaringan internal dan internet. Fungsi utama proxy server
adalah untuk meneruskan koneksi aplikasi yang telah diinisiasi dari
jaringan internal ke internet. Sedangkan permintaan koneksi aplikasi ke
internet yang belum diinisiasi tidak akan dilayani dan akan dihentikan.
Oleh karena itu proxy sever juga disebut sebagai application-level gateway.
Semua koneksi dari dan ke internet akan diproses di proxy server. Kemudian proxy server akan membentuk koneksi yang telah diinisiasi. Jika koneksi berhasil, proxy server akan menerima data dari alamat yang dituju dan me-relay data tersebut ke jaringan internal. Begitu juga sebaliknya, permintaan koneksi dari internet akan diproses di proxy server. Jika koneksi diizinkan, proxy server akan membentuk koneksi ke jaringan internal. Oleh karena itu proxy server berperan sebagai relay trafik pada level aplikasi.
Proxy server ada yang
menggunakan cache untuk proses koneksinya. Penggunaan cache akan
mempercepat proses koneksi karena pada cache disimpan informasi alamat
yang pernah dikunjungi. Sehingga penggunaan cache akan menghemat bandwidth internet.
Proxy server yang tidak menggunakan cache akan menurukan performa jaringan. Meskipun demikian, proxy server tanpa cache memiliki tingkat kemanan yang lebih baik daripada proxy server dengan cache.
Beberapa keunggulan proxy server adalah
- memiliki keamanan yang lebih baik dan lebih fleksibel daripada packet filtering router.
- hanya perlu memeriksa beberapa aplikasi yang diizinkan
- mudah untuk memeriksa trafik yang masuk ke jaringan internal
Proxy server juga memiliki kekurangan yaitu dibutuhkan proses koneksi tambahan karena proxy server bertindak sebagai titik sambungan. Kombinasi antara packet filtering router dan proxy server akan memberikan keamanan jaringan yang baik dan fleksibel.
Enkripsi
Enkripsi merupakan teknik untuk
mengamankan data yang dikirim dengan mengubah data tersebut ke dalam
bentuk sandi-sandi yang hanya dimengerti oleh pihak pengirim dan pihak
penerima data. Teknik enkripsi pada computer bedasarkan pada
perkembangan ilmu kriptografi. Dahulu kriptografi banyak digunakanpada
bidang militer. Tujuannya adalah untuk mengirimkan informasi rahasia ke
tempat yang jauh. Namun saat ini enkripsi telah banyak digunakan untuk
aplikasi-aplikasi seperti informasi kartu kredit, PIN (personal identity
number), informasi tabungan di bank dan lain sebagainya. Enkripsi yang
banyak digunakan saat ini adalah enkripsi kunci simetris dan enkripsi
kunci publik.
Kunci simetris
Pada enkripsi menggunakan kunci simetris,
setiap komputer memiliki kunci rahasia (kode) yang dapat digunakan
untuk mengenkripsi informasi sebelum informasi tersebut dikirim ke
komputer lain melalui jaringan. Kunci yang digunakan untuk mengenkripsi
data sama dengan kunci yang digunakan untk mendekripsi data. Oleh karena
itu, kunci tersebut harus dimiliki kedua komputer.
Kunci harus dipastikan ada pada computer
penerima. Artinya pengirim harus memberitahu kunci yang digunakan pada
penerima melalui orang yang dipercaya. Selanjutnya informasi yang akan
dikirim, dienkripsi menggunakan kunci tersebut. Sehingga penerima bisa
mendekripsi, dan mendapatkan informasi yang diinginkan. Contoh sederhana
kunci simetris mengganti huruf yang sebenarnya dengan 2 huruf di
bawahnya. Misalnya “A” menjadi “C” dan “B” menjadi “D”. Kunci tersebut
harus diketahui oleh penerima. Jika penerima tidak memiliki kunci,
informasi tersebut tidak ada gunanya. Pada enkripsi ini, pihak penerima
mengetahui kunci pihak pengirim.
Kunci publik
Enkripsi kunci publik menggunakan
kombinasi kunci privat dan kunci publik. Kunci privat hanya diketahui
oleh pihak pengirim informasi. Sedangkan kunci publik dikirim ke pihak
penerima. Untuk mendekripsi informasi, pihak penerima harus menggunakan
kunci public dan kunci privat miliknya. Kunci privat penerima berbeda
dengan kunci privat pengirim, dan hanya penerima saja yang
mengetahuinya.
Enkripsi kunci publik memerlukan
perhitungan yang besar. Akibatnya sebagian besar sistem menggunakan
kombinasi kunci public dan kunci simetri untuk proses enkripsi data.
Pada saat dua komputer akan berkomunikasi secara aman, komputer A akan
membuat kunci simetris dan dikirim ke komputer B menggunakan enkripsi
kunci publik. Setelah itu kedua komputer dapat berkomunikasi menggunakan
enkripsi kunci simetris. Setelah proses komunikasi tersebut selesai,
kunci simetris untuk sesi tersebut dibuang. Jika kedua komputer ingin
membentuk sesi komunikasi yang aman lagi, kunci simteris untuk sesi
tersebut harus dibuat lagi. Dengan demikian setiap akan membentuk suatu
sesi, kunci simetris baru akan dibuat.
Algoritma kunci publik dibuat berdasarkan
algorima “hashing”. Kunci publik dibuat berdasarkan nilai “hash” yang
diperoleh. Ide dasar enkripsi kunci publik adalah perkalian dua bilangan
prima yang menghasilkan bilangan prima yang baru. Contohnya diberikan
pada tabel di bawah ini.
Angka masukan
Algoritma “hashing”
Nilai “hash”
10667
Masukan x 143
1525381
Algoritma “hashing’
Angka masukan merepresentasikan ingormasi
yang akan dikirim. Nilai “hash” merupakan representasi informasi yang
telah dienkripsi. Dari hasil di atas dapat ditunjukkan bahwa nilai
“hash” 1525381 sanga sulit untuk dicari faktor-faktor bilangan primanya
kalau tidak memiliki kuncinya. Namun kalau kuncinya (pengali) diketahui,
sangat mudah untuk mendapatkan informasi aslinya. Algoritma kunci
publik yang sebenarnya jauh lebih rumit dari contoh ini. Contoh ini
adalah ide dasar munculnya lagoritma kunci publik.
Kunci publik umumnya menggunkan algoritma
yang lebih kompleks, dan nilai “hash” yang sangat besar mencapai 40-bit
atau bahkan 128-bit. Jika nilai “hash” dibangun menggunakan 128-bit,
akan ada 2128 kombinasi yang muncul. Nyaris tidak mungkin untuk memecahkan enkripsi ini tanpa ada kuncinya.
IPSec
IPSec merupakan singkatan dari IP security.
IPSec merupakan suatu protokol yang digunakan untuk melakukan
pertukaran paket pada layer IP secara aman. IPSec menyediakan dua jenis
mode enkripsi, yaitu mode transport dan mode tunnel. Mode transport akan
mengkripsi bagian data (payload) masing-masing paket tanpa mengubah header
paket tersebut. Algoritma yang digunakan untuk mengenkripsi data adalah
algoritma kriptografi simetris. IPSec mode ini menggunakan sub-protokol
yang disebut sebagai encapsulated security payload (ESP).
Pada mode tunnel, data dan header paket yang akan dikirim dilakukan komputasi menggunakan teknik checksum kriptografi dan mengubah bagian header paket IP menggunakan fungsi hasing yang aman. Paket ini akan ditambahkan header baru yang mengandung nilai hash
agar informasi yang ada pada paket biasa diautentikasi di bagian
penerima. Mode ini seolah-olah membuat “terowongan” khusus pada jaringan
publik yang hanya dapat diakses oleh orang-orang tertentu. Contoh
diagram penggunaan IPSec untuk menghasikan komunikasi yang aman
menggunakan jaringan publik
Pada contoh di atas jaringan privat jaringan #1 menggunakan IP privat, begitu juga dengan jaringan privat #2. Sedangkan kedua gateway
menggunakan IP publik yang bisa diakses dari mana saja. Untuk dapat
melakukan perintah ping dari jaringan internal #1 ke jaringan internal
#2, ada beberapa tahapan yang harus dilalui. Pertama, setiap paket yang akan dikirim ke IP 192.168.2.1 harus dibungkus ke dalam paket lain sehingga header IP yang muncul adalah IP A.B.C.D. Kemudian paket ini akan dikirim ke IP W.X.Y.Z melalui gateway dengan header IP yang menyatakan seolah-olah paket berasal dari IP A.B.C.D. Proses ini disebut sebagai proses enkapsulasi paket.
Kedua, gateway harus mengetahui jalan untuk mencapai IP 192.168.2.1. dengan kata lain, gateway harus mengarahkan paket ke IP 192.168.2.1. Ketiga, paket yang tiba di IP W.X.Y.Z harus di ekstraksi (unencapsulated) sehingga diperoleh paket yang sebenarnya dan dikirim ke alamat IP 192.168.2.1.
Proses seperti ini membuat jalur khusus
(”terowongan”) antara dua jaringan. Dua ujung jalur ini berada di alamat
IP A.B.C.D dan W.X.Y.Z. Jalur ini harus diberikan aturan yang
mengizinkan alamat IP mana saja yang boleh melalui “terowongan” ini.
Apabila koneksi telah terbentuk, perintah ping 192.168.2.1 yang
dilakukan di komputer dengan IP 192.168.1.1 akan mendapat balasan (reply).
AAA Server
AAA server, singkatan dari authentication, authorization dan accounting,
merupakan program server yang bertugas untuk menangani permintaan akses
ke suatu komputer dengan menyediakan proses autentikasi, otorisasi dan
akunting (AAA). AAA merupakan cara yang cerdas untuk mengendalikan akses
ke suatu komputer, menerapkan kebijakan, memeriksa penggunaan komputer
dan menyediakan informasi yang diperlukan untuk keperluan tagihan
(pembayaran). Kompinasi proses ini sangat efektif untuk menyediakan
manajemen dan keamanan jaringan.
Proses pertama yang dilakukan adalah
autentikasi, yaitu proses untuk mengidentifikasi pengguna. Proses ini
bekerja berdasarkan kenyataan bahwa setiap pengguna memiliki beberapa
kriteria yang unik untuk masing-masing pengguna. Biasanya proses ini
dilakukan dengan meminta pengguna untuk memasukkan user name dan password-nya.
Jika masukan pengguna sesuai dengan data yang ada di database, pengguna
tersebut berhak mengakses komputer / jaringan. Namun bila masukan ini
gagal, pengguna tersebut tidak bisa mengakses komputer / jaringa
tersebut.
Setelah proses autentikasi, setiap
pengguna harus memiliki otorisasi untuk melakukan tugaas-tugas tertentu.
Sebagai contoh, setelah pengguna tersebut masuk ke jaringan yang
dituju, pengguna tersebut mencoba untuk memberikan beberapa perintah
pada jaringan tersebut. Proses otorisasi akan menentukan apakah pengguna
tersebut dapat memberikan perintah seperti yang diinginkan atau tidak.
Sehingga otorisasi dapat didefinisikan sebagai proses untuk menerapkan
kebijakan untuk menentukan aktivitas, sumber dan layanan apa saja yang
dapat diperoleh suatu pengguna. Biasanya proses otorisasi juga dilakukan
pada saat proses autentikasi.
Proses terakhir adalah akunting yang berfungsi untuk menghitung jumlah resource
yang digunakan setiap pengguna pada saat akses dilakukan, diantaranya
waktu yang digunakan, atau besarnya data yang dikirim atau diterima
selama akses berlangsung. Proses ini dilakukan berdasarkan informasi
yang ada pada catatan (log) masing-masing pengguna. Catatan ini
dapat digunakan untuk mengendalikan otoritas masing-masing pengguna,
analisis kecenderungan pengguna, mengamati pemanfaatan resource, dan perencanaan.