firewall
Internet merupakan sebuah jaringan
komputer yang sangat terbuka di dunia, konsekuensi yang harus di
tanggung adalah tidak ada jaminan keamanan bagi jaringan yang terkait
ke Internet. Artinya jika operator jaringan tidak hati-hati dalam
menset-up sistemnya, maka kemungkinan besar jaringan yang terkait ke
Internet akan dengan mudah dimasuki orang yang tidak di undang dari
luar. Adalah tugas dari operator jaringan yang bersangkutan, untuk
menekan resiko tersebut seminimal mungkin. Pemilihan strategi dan
kecakapan administrator jaringan ini, akan sangat membedakan apakah
suatu jaringan mudah ditembus atau tidak.
Firewall merupakan alat untuk
mengimplementasikan kebijakan security (security policy). Sedangkan
kebijakan security, dibuat berdasarkan perimbangan antara fasilitas
yang disediakan dengan implikasi security-nya. Semakin ketat kebijakan
security, semakin kompleks konfigurasi layanan informasi atau semakin
sedikit fasilitas yang tersedia di jaringan. Sebaliknya, dengan semakin
banyak fasilitas yang tersedia atau sedemikian sederhananya
konfigurasi yang diterapkan, maka semakin mudah orang orang ‘usil’ dari
luar masuk kedalam sistem (akibat langsung dari lemahnya kebijakan
security).
Tulisan
ini akan mencoba melihat beberapa kebijakan sekuriti yang lazim
digunakan pada saat mengkaitkan sebuah jaringan ke Internet.
Firewall
Firewall
adalah istilah yang biasa digunakan untuk menunjuk pada suatu komponen
atau sekumpulan komponen jaringan, yang berfungsi membatasi akses
antara dua jaringan, lebih khusus lagi, antara jaringan internal dengan
jaringan global Internet. Firewall mempunyai beberapa tugas :
Pertama dan yang terpenting adalah: harus dapat mengimplementasikan
kebijakan security di jaringan (site security policy). Jika aksi
tertentu tidak diperbolehkan oleh kebijakan ini, maka firewall harus
meyakinkan bahwa semua usaha yang mewakili operasi tersebut harus gagal
atau digagalkan. Dengan demikian, semua akses ilegal antar jaringan
(tidak diotorisasikan) akan ditolak.
Melakukan filtering: mewajibkan semua traffik yang ada untuk
dilewatkan melalui firewall bagi semua proses pemberian dan pemanfaatan
layanan informasi. Dalam konteks ini, aliran paket data dari/menuju
firewall, diseleksi berdasarkan IP-address, nomor port, atau arahnya,
dan disesuaikan dengan kebijakan security.
Firewall juga harus dapat merekam/mencatat even-even mencurigakan
serta memberitahu administrator terhadap segala usaha-usaha menembus
kebijakan security.
Merencanakan Jaringan Dengan Firewall
Merencanakan
sistem firewall pada jaringan, berkaitan erat dengan jenis fasilitas
apa yang akan disediakan bagi para pemakai, sejauh mana level
resiko-security yang bisa diterima, serta berapa banyak waktu, biaya
dan keahlian yang tersedia (faktor teknis dan ekonomis). Firewall
umumnya terdiri dari bagian filter (disebut juga screen atau choke) dan
bagian gateway (gate). Filter berfungsi untuk membatasi akses,
mempersempit kanal, atau untuk memblok kelas trafik tertentu. Terjadinya
pembatasan akses, berarti akan mengurangi fungsi jaringan. Untuk tetap
menjaga fungsi komunikasi jaringan dalam lingkungan yang ber-firewall,
umumnya ditempuh dua cara :
Pertama, bila kita bayangkan jaringan kita berada dalam perlindungan
sebuah benteng, komunikasi dapat terjadi melalui pintu-pintu keluar
benteng tersebut. Cara ini dikenal sebagai packet-filtering, dimana
filter hanya digunakan untuk menolak trafik pada kanal yang tidak
digunakan atau kanal dengan resiko-security cukup besar, sedangkan
trafik pada kanal yang lain masih tetap diperbolehkan.
Cara kedua, menggunakan sistem proxy, dimana setiap komunikasi yang
terjadi antar kedua jaringan harus dilakukan melalui suatu operator,
dalam hal ini proxy server. Beberapa protokol, seperti telnet dan
SMTP(Simple Mail Transport Protocol), akan lebih efektif ditangani
dengan evaluasi paket (packet filtering), sedangkan yang lain seperti
FTP (File Transport Protocol), Archie, Gopher dan HTTP (Hyper-Text
Transport Protocol) akan lebih efektif ditangani dengan sistem proxy.
Kebanyakan firewall menggunakan kombinasi kedua teknik ini (packet
filtering dan proxy).
Ada banyak literatur yang
membahas masalah security & membagi arsitektur dasar firewall
menjadi tiga jenis. Masing masing adalah:
arsitektur dengan dual-homed host (kadang kadang dikenal juga sebagai dual homed gateway/ DHG)
screened-host (screened host gateway/ SHG) · screened subnet (screened subnet gateway/ SSG).
Sistem DHG menggunakan sebuah
komputer dengan (paling sedikit) dua network-interface. Interface
pertama dihubungkan dengan jaringan internal dan yang lainnya dengan
Internet. Dual-homed host nya sendiri berfungsi sebagai bastion host
(front terdepan, bagian terpenting dalam firewall).
Pada topologi SHG, fungsi
firewall dilakukan oleh sebuah screening-router dan bastion host.
Router ini dikonfigurasi sedemikian sehingga akan menolak semua trafik
kecuali yang ditujukan ke bastion host, sedangkan pada trafik internal
tidak dilakukan pembatasan. Dengan cara ini setiap client servis pada
jaringan internal dapat menggunakan fasilitas komunikasi standard
dengan Internet tanpa harus melalui proxy.
Firewall
dengan arsitektur screened-subnet menggunakan dua screening-router dan
jaringan tengah (perimeter network) antara kedua router tersebut,
dimana ditempatkan bastion host. Kelebihan susunan ini akan terlihat
pada waktu optimasi penempatan server.
Selanjutnya,
bagaimana relevansi arsitektur firewall tersebut terhadap level
security? Suatu jaringan harus dapat menangani interaksi client-server,
tidak terkecuali dengan kehadiran firewall. Sejauh ini, untuk operasi
client internal – server internal, atau client internal – server
eksternal, tidak terlalu menimbulkan masalah. Jika kita akan membuat
sistem firewall untuk jaringan demikian, hanya dengan memasang proxy
server pada bastion host dalam arsitektur yang dipilih, kualitas
proteksi firewall yang bersangkutan akan maksimal. Artinya ‘keselamatan’
seluruh jaringan, sekarang hanya tergantung pada baik-tidaknya atau
seberapa ‘bagus’ firewall tersebut dan tidak tergantung pada
program-program yang lain. Beda halnya bila jaringan kita akan mendukung
operasi client eksternal – server internal, atau dengan kata lain :
jaringan internal kita menyediakan layanan informasi yang dapat diakses
dari luar. Dalam konteks ini, harus diperhitungkan metoda penempatan
mesin yang menjalankan program server, supaya mesin tersebut dapat
dikenali dari internet dan sedemikian, komunikasi dengan client-nya
dapat berlangsung dengan baik tanpa mengorbankan kepentingan security.
Arsitektur dual-homed menawarkan
solusi sederhana dan murah. Satu-satunya mesin yang dikenal dari
internet dalam sistem ini adalah dual-homed host-nya sendiri, dan
dengan demikian ia menjadi satu-satunya mesin alternatif untuk
menjalankan program server. Tetapi akan bermanfaat untuk mengingat,
bahwa semakin banyak layanan yang disediakan atau semakin banyak
program yang berjalan pada bastion-host, maka peluang penyusupan ke
komputer tersebut semakin besar. Karena, seperti diyakini banyak orang,
hampir dipastikan tidak ada program apapun yang bebas sama sekali dari
bugs, apalagi untuk program-program berukuran besar. Dan sekali bugs
ini dapat dieksploitasi oleh seseorang yang kemudian masuk ke dalam
bastion-host, maka seluruh komputer di jaringan kita akan menjadi
terbuka! Jika faktor ekonomis memaksa kita untuk tetap
mengimplementasikan arsitektur DHG, maka ada beberapa nasihat yang
patut diperhatikan, diantaranya: menggunakan perangkat lunak server yang
telah teruji relatif ‘aman’ serta berukuran kecil, mereduksi dan
mengoptimasi jumlah program yang berjalan, kemudian tidak memberikan
account reguler pada bastion-host.
Dua arsitektur lainnya,
screened-host dan screened-subnet, menyediakan pilihan lebih banyak.
Screening-router dapat diatur untuk melakukan operasi packet filtering
yang memungkinkan mesin-mesin tertentu dapat dikenali dari luar. Mesin
mesin ini, kemudian menjalankan program-program server yang dapat
diakses dari internet. Resiko dengan metoda seperti ini adalah
penambahan jumlah komputer yang mungkin untuk diserang, sehingga akan
lebih baik jika sebelumnya kita menyiapkan mesin-mesin tersebut dengan
level security paling tidak sama dengan bastion-host atau kalau bisa,
lebih.
Packet Filtering
Berbagai
kebijakan dapat diterapkan dalam melakukan operasi packet filtering.
Pada intinya, berupa mekanisme pengontrollan data yang diperbolehkan
mengalir dari dan/atau ke jaringan internal, dengan menggunakan
beberapa parameter yang tercantum dalam header paket data: arah
(inbound atau outbound), address asal dan tujuan, port asal dan tujuan,
serta jenis protokol transport. Router akan mengevaluasi informasi ini
dalam setiap paket data yang mengalir melaluinya, kemudian menetapkan
aksi yang harus dilakukan terhadap paket tersebut, berdasarkan set
aturan/program dalam packet-filtering. Sehingga keputusan routing dasar
router tersebut, kemudian dilengkapi dengan bagian dari kebijakan
security jaringan.
Tabel berikut
akan menunjukan contoh konfigurasi operasi packet-filtering, untuk
menyediakan hanya fasilitas SMTP inbound dan outbound pada jaringan.
Aturan
|
Arah
|
Address Asal
|
Address Tujuan
|
Protokol
|
Port Tujuan
|
Aksi
|
A
|
masuk
|
eksternal
|
internal
|
TCP
|
25
|
ok
|
B
|
keluar
|
internal
|
eksternal
|
TCP
|
>1023
|
ok
|
C
|
keluar
|
internal
|
eksternal
|
TCP
|
25
|
ok
|
D
|
masuk
|
eksternal
|
internal
|
TCP
|
>1023
|
ok
|
E
|
sembarang
|
sembarang
|
sembarang
|
sembarang
|
sembarang
|
deny
|
Aturan A dan B melayani hubungan
SMTP inbound (email datang), aturan C dan D melayani hubungan SMTP
outbound (email keluar) serta aturan E merupakan aturan default yang
dilakukan bila aturan aturan sebelumnya gagal. Kalau diamati lebih
dekat, selain trafik SMTP konfigurasi tersebut juga masih membolehkan
hubungan masuk dan keluar pada port >1023 (aturan B dan D), sehingga
terdapat kemungkinan bagi program-program server seperti X11 (port
6000), OpenWindows (port 2000), atau kebanyakan program basis-data
(Sybase, Oracle, Informix, dll), untuk dihubungi dari luar. Untuk
menutup kemungkinan ini, diperlukan evaluasi parameter lain, seperti
evaluasi port asal. Dengan cara ini, satu-satunya celah menembus
firewall adalah dengan menggunakan port SMTP. Bila kita masih juga
kurang yakin dengan kejujuran para pengguna port ini, dapat dilakukan
evaluasi lebih lanjut dari informasi ACK.
Proxy
Dalam
jaringan yang menerapkan sistem proxy, hubungan komunikasi ke internet
dilakukan melalui sistem pendelegasian. Komputer-komputer yang dapat
dikenali oleh internet bertindak sebagai ‘wakil’ bagi mesin lain yang
ingin berhubungan ke luar. Proxy server untuk (kumpulan) protokol
tertentu dijalankan pada dual-homed host atau bastion-host, dimana
seluruh pemakai jaringan dapat berkomunikasi dengannya, kemudian proxy
server ini bertindak sebagai delegasi. Dengan kata lain setiap program
client akan berhubungan dengan proxy server dan proxy server ini lah
yang akan berhubungan dengan server sebenarnya di internet. Proxy server
akan mengevaluasi setiap permintaan hubungan dari client dan
memutuskan mana yang diperbolehkan dan mana yang tidak. Bila permintaan
hubungan ini disetujui, maka proxy server me-relay permintaan tersebut
pada server sebenarnya.
Ada beberapa istilah menunjuk
pada tipe proxy server, diantaranya proxy level aplikasi, proxy level
circuit, proxy generik atau khusus, proxy cerdas dll. Apapun jenis
proxy yang digunakan, ada beberapa konsekuensi implementasi sistem ini:
pada
umumnya memerlukan modifikasi client dan/atau prosedur akses serta
menuntut penyediaan program server berbeda untuk setiap aplikasi.
Penggunaan sistem proxy memungkinkan penggunaan private IP Address
bagi jaringan internal. Konsekuensinya kita bisa memilih untuk
menggunakan IP Address kelas A (10.x.x.x) untuk private IP address yang
digunakan dalam jaringan internet; sehingga komputer yang dapat
tersambung dalam jaringan internal dapat mencapai jumlah jutaan
komputer.
Paket SOCKS atau TIS FWTK merupakan contoh paket perangkat lunak proxy yang sering digunakan dan tersedia bebas di internet.