|
Aspek security
jaringan berkaitan erat dengan servis yang disediakan: inbound atau outbound.
Security pada servis outbound dapat diupayakan sebaik mungkin dengan konfigurasi
firewall. Demikian pula dengan akses anonymous servis inbound, seperti anonymous
FTP, HTTP, Gopher dll.
Dalam hal ini, informasi sengaja disediakan bagi semua
orang. Lain halnya bila kita ingin menyediakan akses non-anonymous (atau
authenticated services), dimana selain melalui firewall, seseorang yang meminta
akses juga harus mendapat ‘ijin’ server setelah terlebih dahulu membuktikan
identitasnya. Inilah authentication. Untuk selanjutnya, penulis menggunakan
istilah autentisasi sebagai sinonim kata tersebut.
RESIKO-SECURITY SERVIS INBOUND
Mengapa perlu autentisasi…..? Internet adalah jaringan publik, dan terbuka bagi
setiap orang diseluruh penjuru dunia untuk menggabungkan diri. Begitu besarnya
jaringan ini, telah menimbulkan keuntungan serta kerugian. Sering kita dengar
dan baca tentang bobolnya sistem komputer keuangan bank, informasi rahasia
Pentagon atau basis data transkrip akademik mahasiswa. Kalimat tersebut cukup
untuk mewakili pernyataan bahwa kita harus ‘waspada’ terhadap orang-orang
‘jahat’ dan senantiasa berusaha memperkecil kemungkinan bagi mereka untuk dapat
melakukan niat jahatnya. Memang mudah untuk meniadakan kemungkinan penyusupan (akses
ilegal) dari luar dengan menutup semua kanal trafik servis inbound ke jaringan
internal. Namun ini berarti telah mereduksi keuntungan utama adanya jaringan:
komunikasi dan pemakaian sumber daya bersama (sharing resources). Jadi,
konsekuensi alami dengan jaringan cukup besar, adalah menerima dan berusaha
untuk memperkecil resiko ini, bukan meniadakannya.
Kita akan mulai dari seorang network-administrator (NA) yang telah melakukan
tugasnya dengan baik, dalam menyiapkan ‘pertahanan’ bagi semua servis outbound
dan anonymous-inbound. Perlu beberapa hal tambahan lagi yang sebaiknya diingat.
Apakah pertahanan tersebut sudah cukup kuat bagi terjadinya pencurian hubungan
(hijacking attack)? Apakah didalamnya sudah dipertimbangkan kemungkinan
pemonitoran ilegal paket-paket informasi yang dikirimkan (packet sniffing -
playback attack)? Atau apakah sudah termasuk kesiapan bagi benar-benar adanya
akses ilegal didalam sistem (false authentication)?
Hijacking biasanya terjadi pada komputer yang menghubungi jaringan kita,
walaupun untuk beberapa kasus langka, bisa terjadi pada sembarang jalur yang
dilaluinya. Sehingga akan bijaksana bila seorang NA mempertimbangkan pemberian
kepercayaan akses, hanya dari komputer yang paling tidak mempunyai sistem
security sama atau mungkin lebih ‘kuat’, dibandingkan dengan jaringan dibawah
tanggung-jawabnya. Usaha memperkecil peluang musibah ini, juga dapat dilakukan
dengan mengatur packet-filter dengan baik atau menggunakan server modifikasi.
Misalnya, kita dapat menyediakan fasilitas anonymous-FTP bagi sembarang komputer
dimanapun, tapi authenticated-FTP hanya diberikan pada host-host yang tercantum
pada daftar ‘kepercayaan’. Hijacking ditengah jalur dapat dihindari dengan
penggunaan enkripsi antar jaringan (end to end encryption).
Kerahasiaan data dan password juga merupakan topik disain security. Program yang
didedikasikan untuk packet-sniffing dapat secara otomatis menampilkan isi setiap
paket data antara client dengan servernya. Proteksi password dari kejahatan
demikian dapat dilakukan dengan implementasi password sekali pakai (non-reusable
password), sehingga walaupun dapat termonitor oleh sniffer, password tersebut
tidak dapat digunakan lagi.
Resiko hijacking dan sniffing data (bukan password) tidak dapat dihindari sama
sekali. Artinya NA harus mempertimbangkan kemungkinan ini dan melakukan optimasi
bagi semakin kecil-nya kesempatan tersebut. Pembatasan jumlah account dengan
akses penuh serta waktu akses jarak jauh, merupakan salah satu bentuk optimasi.
MEKANISME AUTENTISASI
Subyek autentisasi adalah pembuktian. Yang dibuktikan meliputi tiga kategori,
yaitu: sesuatu pada diri kita (something you are SYA), sesuatu yang kita ketahui
(something you know SYK), dan sesuatu yang kita punyai (something you have SYH).
SYA berkaitan erat dengan bidang biometrik, seperti pemeriksaan sidik-jari,
pemeriksaan retina mata, analisis suara dll. SYK identik dengan password.
Sedangkan bagi SYH umumnya digunakan kartu identitas seperti smartcard.
Barangkali, yang sekarang masih banyak digunakan adalah sistem ber-password.
Untuk menghindari pencurian password dan pemakaian sistem secara ilegal, akan
bijaksana bila jaringan kita dilengkapi sistem password sekali pakai. Bagaimana
caranya penerapan metoda ini?
Pertama, menggunakan sistem perangko-waktu ter-enkripsi. Dengan cara ini,
password baru dikirimkan setelah terlebih dulu dimodifikasi berdasarkan waktu
saat itu. Kedua, menggunakan sistem challenge-response (CR), dimana password
yang kita berikan tergantung challenge dari server. Kasarnya kita menyiapkan
suatu daftar jawaban (response) berbeda bagi ‘pertanyaan’ (challenge) yang
berbeda oleh server. Karena tentu sulit sekali untuk menghafal sekian puluh atau
sekian ratus password, akan lebih mudah jika yang dihafal adalah aturan untuk
mengubah challenge yang diberikan menjadi response (jadi tidak random). Misalnya
aturan kita adalah: “kapitalkan huruf kelima dan hapus huruf keempat”, maka
password yang kita berikan adalah MxyPtlk1W2 untuk challenge sistem Mxyzptlk1W2.
Kalau pada sistem CR, harus diketahui ‘aturan’-nya, maka pada sistem
perangko-waktu, kita mesti mengingat password bagi pemberian perangko-waktu ini.
Apakah cara seperti ini tidak mempersulit? Beruntung sekali mekanisme tersebut
umumnya ditangani oleh suatu perangkat, baik perangkat lunak ataupun dengan
perangkat keras. Kerberos, perangkat lunak autentisasi yang dibuat di MIT dan
mengadopsi sistem perangko-waktu, mewajibkan modifikasi client bagi sinkronisasi
waktu dengan server serta pemberian password perangko-waktu. Modifikasi program
client mengingatkan kita pada proxy dan memang, kurang lebih seperti itu. Sistem
CR biasanya diterapkan sekaligus dengan dukungan perangkat keras. Contoh sistem
CR operasional adalah perangkat SNK-004 card (Digital Pathways) yang dapat
diterapkan bersama-sama dengan paket TIS-FWTK (Trusted Information System -
internet FireWall ToolKit).
TIS-FWTK menawarkan solusi password sekali pakai (sistem CR) yang ‘menyenangkan’:
S/Key. S/Key menerapkan prosedur algoritma hash iteratif terhadap suatu seed,
sedemikian sistem dapat memvalidasi response-client instant tapi tidak mempunyai
kemampuan untuk memprediksi response-client berikutnya. Sehingga bila terjadi
penyusupan pada sistem, tidak ada ’sesuatu’ yang bisa dicuri (biasanya daftar
password). Algoritma hash mempunyai dua sifat utama. Pertama, masukan tidak bisa
diregenerasikan dari keluaran (non-reversibel). Kedua, terdapat dua kemungkinan
masukan bagi sebuah keluaran yang sama.
ENKRIPSI DAN CRYPTOGRAPHY
Cryptography telah berkembang sejak lama, ketika orang menginginkan informasi
yang ia kirimkan tidak dapat ‘dibaca’ oleh pihak tak berkepentingan. Secara
tradisional cryptography dikenal dengan dua mekanisme, kunci privat atau kunci
publik. DES (data encryption standard) yang digunakan oleh Kerberos menggunakan
sistem kunci-privat. RSA (Rivest Shamir Addleman) mengimplementasikan sistem
kunci-publik. Salah satu dari kontributor RSA, Ron Rivest kemudian membuat MD4
(message digest function # 4) yang digunakan oleh S/Key-nya TIS-FWTK. Optimasi
dan blasteran antara kedua metoda tradisional ini melahirkan PGP (Pretty Good
Privacy). Pembahasan dari DES, RSA, atau PGP merupakan buku tersendiri dan tidak
pada tempatnya diungkapkan disini. Tapi yang jelas, sistem kunci-privat
dicirikan dengan proses encrypt-decrypt melalui kunci identik, sedangkan pada
sistem kunci-publik, proses ini dilakukan dengan dua buah kunci: kunci publik
untuk encrypt dan kunci rahasia untuk decrypt dimana kedua kunci ini
digenerasikan dan mempunyai relasi dekat melalui sebuah algoritma matematis.
Karena diperlukan proses matematis terlebih dulu, kecepatan sistem kunci-publik
bisa ribuan kali lebih lambat dari algoritma kunci-privat ekivalen walaupun
disisi lain menawarkan proteksi lebih baik. Eksploitasi terhadap kelebihan dan
kekurangan sistem kunci privat dan publik dilakukan PGP, dimana untuk transmisi
data dilakukan secara sistem kunci-privat dengan session-key sehingga berjalan
cepat, sedangkan transmisi session-key- nya sendiri menggunakan kunci-publik.
Dengan enkripsi, informasi yang kita kirimkan ke suatu jaringan melalui jaringan
lain yang keamanannya meragukan (internet), relatif lebih terjamin. Enkripsi
antar jaringan menyebabkan seorang ‘pencuri’ harus berusaha sedikit lebih keras
untuk mendapatkan informasi ilegal yang ia harapkan. Ada beberapa kesempatan
bagi implementasi enkripsi, yaitu: pada level aplikasi, level data-link, dan
level jaringan.
Enkripsi pada level aplikasi mensyaratkan penggunaan perangkat lunak
client-server khusus. Sesuai dengan model referensi OSI, enkripsi data-link
hanya berlaku untuk hubungan titik ke titik, seperti sistem enkripsi pada modem
telepon. Sedangkan enkripsi level jaringan (network layer) diterapkan pada
router atau peralatan lain yang bersebelahan dengan jaringan dikedua sisi.
Optimasi kepentingan dan kebijakan security dilakukan dengan mengatur jenis/bagian
paket IP yang akan dienkrip, penyesuaian terhadap arsitektur firewall dan
konsekuensinya, efektifitas distribusi kunci-enkripsi dll. Di masa depan, dimana
teknologi VLAN (Virtual LAN) diperkirakan menjadi pilihan utama untuk Intranet (enterprisewide),
penggunaan enkripsi level jaringan ini menjadi begitu penting. Barangkali sama
pentingnya dengan keadaan sebuah perusahaan yang sementara ini ‘terpaksa’
menggunakan internet sebagai jalur bagi pengiriman informasi sensitif antara
kantor pusat dengan cabangnya dibelahan bumi yang lain.
KERBEROS DAN TIS-FWTK AUTHENTICATION SERVER
Kerberos adalah salah satu karya proyek Athena, kolaborasi antara MIT, IBM dan
DEC. Kerberos didisain untuk medukung autentisasi dan enkripsi data pada
lingkungan terdistribusi melalui modifikasi client atau server standard.
Beberapa vendor sistem operasi telah memasukan Kerberos kedalam produknya. MIT
sendiri menyediakan secara free banyak versi Unix yang telah di-Kerberizing.
Bahkan bagi kepentingan porting ke sistem operasi atau perangkat lunak
client-server yang belum mendukung Kerberos, MIT menyediakan source-code nya,
juga secara free. Proyek Athena sendiri mengimplementasikan Kerberos pada banyak
aplikasi seperti NFS, rlogin, email, dan sistem password. Secure RPC (Sun
Microsystems) juga mengimplementasikan hal yang sama.
Ada beberapa hal yang perlu dipertimbangkan dalam implementasi Kerberos.
Modifikasi perangkat lunak client dan server akan menyebabkan pembatasan pilihan
aplikasi. Sayangnya juga tidak ada metoda alternatif sebagai pengganti
modifikasi source-code (seperti dalam proxy yang membolehkan custom user
procedure atau custom client software). Kemudian, umumnya orang juga sepakat
untuk menyebut: “Kerberos relatif sulit diterapkan/ dikelola”.
Paket sistem autentisasi lain ditawarkan oleh TIS-FWTK: authentication-server.
Server ini didisain secara modular, fleksibel sehingga mendukung banyak
mekanisme autentisasi populer seperti sistem password reusable standard, S/Key,
card SecurdID dari Security Dynamics (sistem dengan perangko-waktu), card
SNK-004 Digital Pathways (sistem CR) serta kemudahan untuk pengintegrasian
mekanisme baru. Kembali kepada perbincangan diawal tulisan ini, kalau
kepentingan utama kita adalah bagaimana menyiapkan ‘pertahanan’ bagi servis
inbound non-anonymous, barangkali authentication-server adalah solusi yang patut
dipertimbangkan. Mengapa? Bagaimana sistem ini bekerja? Tidak banyak ruang dalam
tulisan ini untuk memuat semua diskusi kita tentang autentisasi, tapi ilustrasi
penutup berikut akan memberikan sedikit gambaran bagi anda, peminat security
jaringan, menyangkut authentication-server.
|