Lalu lintas komunikasi data melalui Internet dengan
TCP/IP-nya telah menjadi suatu kekuatan telekomunikasi yang sangat besar. Tiap
jam, menit, hingga detik, data-data elektronik yang berharga lalu lalang dalam
Internet tersebut. Tentunya hal tersebut menggugah inspirasi orang-orang
tertentu untuk mencoba mendapatkan data-data tersebut. Hal ini menjadi ancaman
serius bagi sekuriti di Internet. Untuk itu, kita harus lebih waspada terhadap
usaha-usaha yang mengancam integritas data yang kita miliki. Tulisan ini
mencoba memberikan alternatif sederhana kepada para pembaca yang hendak
memahami masalah sekuriti di Internet. Pada bagian akhir, terdapat sebuah
daftar singkat yang berisi tentang sumber-sumber dokumen maupun situs di
Internet yang berkaitan dengan tulisan ini dan dapat dijadikan referensi untuk
lebih mendalami masalah sekuriti di Internet.
Secara
umum, masalah sekuriti di Internet dapat dipandang dari dua sisi penting. Sisi
pertama adalah integritas data yang dikirimkan melalui jaringan Internet (kita
sebut saja integritas pengiriman data) dan sisi berikutnya adalah
tingkat sekuriti dalam jaringan komputer itu sendiri (kita sebut sekuriti
jaringan internal). Mari kita bahas satu-persatu dari sisi-sisi
tersebut.
Integritas Pengiriman Data
Pada
saat kita mengirimkan data melalui jaringan Internet, kita selalu ingin agar
data yang kita kirimkan tersebut sampai di tujuan dengan selamat dan tidak
mengalami campur tangan pihak lain. Syarat ini menjadi jauh lebih utama apabila
data yang kita kirimkan tergolong kategori data rahasia.
Pada
saat kita kirimkan, data tersebut akan melalui berbagai jenis komputer, router,
atau gateway dan melintasi berbagai macam media fisik komunikasi. Kita
mempertaruhkan integritas data kepada keanekaragaman di atas. Tentunya kita
tidak mungkin memeriksa tingkat sekuriti di setiap hop/titik yang
dilalui oleh data tersebut karena tingkat sebaran dan kepemilikan hop
yang sangat beraneka ragam. Salah satu solusi yang dapat diterapkan adalah enkripsi
data. Tujuan utama dari solusi ini adalah mencegah terjadinya
curi-dengar (eavesdropping) terhadap data yang kita kirimkan maupun yang
kita terima. Jika seorang “eavesdropper” melakukan tindakan curi-dengar,
ia akan memperoleh data-data yang terenkripsi saja sehingga tidak mencerminkan
isi data yang sebenarnya.
Proses
enkripsi data bisa diterapkan di lapisan (layer) tertentu dari protokol
TCP/IP. Seperti yang telah diketahui, protocol TCP/IP memiliki 4 (empat)
lapisan guna menunjang proses komunikasi data. Lapisan tersebut terdiri dari Application
Layer, Transport Layer, Internet Layer, Network Access Layer. Kita bisa
menerapkan proses enkripsi di masing-masing lapisan tersebut. Masing-masing
implementasi dari lapisan-lapisan tersebut adalah sebagai berikut :
·
Network Access
Layer
Bentuk
nyata dari lapisan ini adalah bagian hardware dari sebuah komputer. Bila
kita akan menerapkan proses enkripsi di lapisan ini, maka kita harus mencari
atau menciptakan hardware khusus yang menangani masalah enkripsi data.
Beberapa lembaga penelitian telah mulai menggali lebih dalam kemungkinan
penciptaan hardware yang memiliki kemampuan enkripsi data yang lebih
baik.
·
Internet Layer
Dalam
protokol TCP/IP, Internet layer diimplementasikan dalam Internet
Protocol (IP). Protokol ini berbentuk software yang mengatur tentang
pengalamatan dan proses routing. Protokol ini telah diberikan nilai
tambah tersendiri untuk meningkatkan sekuriti data yang dikirimkannya. Nilai
tambah tersebut masing-masing adalah Authentication Header dan Encapsulating
Security Payload.
Authentication Header (AH) adalah sebuah header tambahan yang
bertujuan untuk memberikan jaminan atas syarat integritas data yang dikirimkan
dan syarat keaslian sumber pengirim beserta data yang dikirimkan (authentication).
Header ini berada di posisi paling akhir dari header-header pada lapisan
IP dan sebelum header Encapsulating Security Payload (ESP). AH juga bisa
menjamin non-repudiation dari sebuah data apabila penerapan AH
menggunakan algoritma kriptografi tertentu. Non-repudiation adalah
syarat dimana pihak penerima bisa membuktikan bahwa pihak pengirim benar-benar
mengirimkan data yang diterima pihak penerima meskipun pihak pengirim tidak
mengakuinya. Informasi yang terkandung di dalam AH ini dihasilkan dari
perhitungan seluruh bagian dari datagram IP (mulai dari header IP, header
protokol di atas IP, hingga data aslinya). Bila pihak penerima menerima
datagram yang tidak otentik berdasarkan penilaian AH, datagram tersebut akan
diabaikan. Mekanisme ini bisa digunakan untuk mencegah aksi-aksi IP spoofing.
Aksi ini bertujuan agar penyusup bisa berpura-pura sebagai pihak pengirim
dengan cara menebak datagram yang akan dikirimkan.
Encapsulating Security Payload (ESP) adalah sebuah mekanisme tambahan pada datagram
IP yang bertujuan untuk meningkatkan confidentiality dan integritas
data. Confidentiality adalah suatu syarat dimana penerima mengetahui
arti yang sebenarnya dari data yang dikirimkan sedangkan pihak lain yang tidak
diharapkan tidak akan mengerti arti yang sebenarnya dari data yang dikirimkan.
Hasil implementasi ESP ini adalah sebuah datagram IP yang bagian datanya telah
terenkripsi. ESP diletakkan di posisi paling akhir dari serangkaian IP header
dan sebelum bagian pertama data. ESP memiliki header tersendiri yang
disebut ESP Header. Untuk modus paling aman, format ESP Header adalah
awal dari header tersebut tidak dienkripsi sedangkan sisa header dan seluruh
bagian data dienkripsi.
|<---- Tidak dienkripsi ---->|<----- Dienkripsi ------>|
+------------+-------------------+------------+-----------------------+
| IP Header | IP Header lainnya | ESP Header | data yang
dienkripsi |
+------------+-------------------+------------+-----------------------+
Bagian header yang tidak dienkripsi memberikan
keterangan tentang cara mendekripsi dan memroses data yang dienkripsi tersebut.
ESP dapat diterapkan pada setiap jenis transport layer (TCP, UDP) yang
digunakan. Mekanisme ini lebih banyak diterapkan untuk modus Tunnel.
Modus Tunnel adalah sebuah modus pada pengiriman data yang lebih bersifat
privat dan khusus melalui jaringan Internet. Intranet adalah salah satu
pengguna modus Tunnel tersebut terutama Intranet yang digunakan untuk
menghubungkan cabang-cabang yang tersebar di berbagai daerah.
·
Transport
Layer
Dalam
konsep TCP/IP, secara umum transport layer dibagi menjadi dua yaitu Transmission
Control Protocol (TCP) dan User Datagram Protocol (UDP). Pada
lapisan ini, belum begitu banyak mekanisme-mekanisme yang dikembangkan untuk
menambahkan aspek sekuriti. TCP sendiri sudah memiliki rutin-rutin yang cukup
kompleks dalam mengolah data yang ia terima.
·
Application
Layer
Lapisan
ini adalah lapisan yang langsung berhubungan dengan user. Apa yang dilihat oleh
user pada layar monitor komputer adalah tampilan dari Application Layer
tersebut.
Teknik-teknik
yang digunakan untuk mengenkripsi data pada lapisan aplikasi ini telah banyak
berkembang dan mencapai hasil yang cukup memuaskan. Berbagai macam jenis algoritma
enkripsi telah dikembangkan dan beberapa di antaranya telah menjadi standar
internasional. Beberapa algoritma yang cukup terkenal adalah Data Encryption
Standard (DES), Triple-DES, RC2/RC4, International Data Encryption Algorithm
(IDEA) dan Skipjack. Algoritma DES
dan IDEA telah banyak diterapkan di dunia sedangkan algoritma lainnya
telah dipatenkan. Dari algoritma-algoritma di atas, dibuatlah berbagai macam
software pengenkripsi. Salah satu yang terkenal dan bersifat shareware adalah Pretty
Good Privacy (PGP).
Penerapan
software enkripsi pada Application layer bisa bermacam-macam. Salah satunya,
kita bisa mengenkripsi isi dari eletronic mail yang kita buat sebelum
kita kirimkan. Selain itu, kita juga bisa mengenkripsi file-file yang akan kita
berikan kepada orang lain melalui FTP. Pesan-pesan elektronik pun dapat kita
enkripsi terlebih dahulu sebelum kita kirimkan. Setelah sampai di tujuan,
penerima dapat mendekripsi pada layer yang sama apa yang ia terima
sehingga mencerminkan arti yang sebenarnya.
Khusus
dalam HyperText Transfer Protocol (HTTP), telah dikembangkan berbagai
macam mekanisme pengamanan data yang ditransfer melalui protokol ini. Protokol
HTTP menjadi tulang punggung dalam World Wide Web (WWW) dan kita lebih
sering melihatnya dalam bentuk homepage di situs-situs Internet.
Beberapa perusahaan di dunia telah memanfaatkan WWW sebagai salah satu saran
penghubung kepada konsumen dan pelanggan mereka. Bahkan WWW telah pula
digunakan sebagai penghubung antar bagian perusahaan mereka sendiri dalam
teknologi Intranet. Untuk menjamin integritas data yang dikirimkan, para pakar
kriptografi telah mengembangkan beberapa mekanisme enkripsi untuk protokol
tersebut. Dua dari berbagai mekanisme yang ada di Internet adalah SecureHTTP
(SHTTP) dan Secure Socket Layer (SSL). SSL dikembangkan oleh Netscape
dan telah diimplementasikan di beberapa situs di Internet. Dengan adanya
mekanisme-mekanisme ini, pengiriman nomor rekening, kata kunci rahasia, dan
data-data rahasia lainnya bisa dilakukan di Internet dengan lebih aman.
Sekuriti Jaringan Internal
Sisi
selanjutnya adalah keamanan dari jaringan komputer internal. Pada saat kita
memutuskan untuk membangun sebuah jaringan komputer yang terhubung ke Internet,
saat itu pula kita telah mengambil resiko untuk berhadapan dengan
ancaman-ancaman penyusupan dan pengrusakan data dari Internet. Oleh karena itu,
kita harus mempersiapkan jaringan komputer kita dengan sebaik mungkin untuk
menghadapi serangan-serangan dan ancaman-ancaman tersebut.
Masalah
sekuriti jaringan internal ini meliputi beberapa aspek. Untuk mudahnya, masalah
tersebut dapat dipecah menjadi dua bagian yaitu bagian software-hardware dan
bagian user.
·
Bagian
software-hardware
Dalam
membangun sebuah jaringan komputer, kita memiliki kebebasan dalam merancang,
baik dari struktur jaringan maupun konfigurasi hardware dan jenis program yang
akan digunakan. Struktur jaringan yang akan direalisasikan dapat dirancang
sedemikian rupa sehingga memiliki tingkat sekuriti yang tinggi. Sebagai contoh,
kita bisa membuat sebuah jaringan perimeter atau lebih dikenal dengan
sebutan DeMilitary Zone (DMZ) yang memberikan layanan dan akses
seperlunya saja kepada Internet. Jaringan perimeter ini merupakan jaringan yang
langsung berhadapan dengan Internet setelah melalui sebuah router atau gateway.
Dari segi hardware, kita
dapat menentukan spesifikasi hardware yang tepat sesuai kebutuhan dan
tugas yang akan diberikan kepada hardware tersebut. Sebagai contoh,
untuk menjadi sebuah mail server yang menangani 100 buah mailing list
atau lebih, tentunya kebutuhan akan jumlah memory/RAM dan swap
memory yang disediakan menjadi melonjak. Selain itu, bila terdapat
usaha-usaha pengrusakan pada mail server tersebut dengan berbagai cara
seperti mail bombing, setidak-tidaknya mail server kita masih
bisa bertahan.
Pada bagian software, kita
bisa menggunakan sistem operasi dan software-software yang telah dikenal
kehandalannya. Hal ini bertujuan supaya sistem operasi maupun software yang
kita gunakan mampu menahan gempuran atau serangan dari Internet dan tidak
sampai merusak hardware. Selain itu, sebaiknya kita selalu menggunakan
software-software keluaran terbaru. Untuk itu, kita harus lebih sering memantau
perkembangan software yang kita gunakan tersebut.
Setelah kita memilih sistem
operasi dan software yang akan digunakan, kita harus mengkonfigurasi sistem
operasi dan software tersebut agar tidak memiliki hole-hole yang bisa
dieksplorasi oleh para penyusup dari Internet. Apabila kita tidak waspada, hole-hole
yang sudah umum pun bisa muncul pada sistem jaringan komputer kita. Berikut
ini terdapat beberapa titik penting pada sistem operasi berbasis Unix yang
perlu mendapat perhatian.
·
Perintah-perintah
berawalan huruf “r”
Perintah-perintah
berawalan huruf “r” (rlogin, rsh, rwho, dlsb) perlu ditinjau ulang dari segi
kebutuhan. Apabila kita tidak memerlukan fungsi-fungsi perintah di atas maka
kita matikan perintah-perintah tersebut. Jika kita memerlukannya, kita harus
lebih hati-hati dalam mengkonfigurasi file-file yang berhubungan dengan setting
perintah-perintah tersebut. Untuk perintah-perintah tersebut, file konfigurasi
yang penting adalah /etc/hosts.equiv.
·
File-file
dengan suid
File
dengan konfigurasi suid adalah file (umumnya berupa program) yang
apabila dieksekusi akan memiliki hak setingkat dengan pemilik (owner)
dari file tersebut. Sebagai contoh, perintah “chpass” termasuk jenis
file suid. Perintah “chpass” ini berguna untuk merubah data-data
tentang user seperti: nama lengkap, alamat kantor, alamat rumah, dlsb. Pada
dasarnya, perintah “chpass” ini melakukan perubahan pada file yang
berisi user password dari komputer tersebut. Oleh karena itu,
perintah tersebut memerlukan konfigurasi suid root karena file
yang berisi user password hanya bisa diubah oleh root sendiri atau memiliki hak akses setara dengan
root. File-file dengan suid root harus dibatasi jumlahnya
sesuai kebutuhan. Bila tidak, para penyusup bisa memanfaatkan kelemahan ini
untuk memperoleh hak akses setara root pula. Seringkali para penyusup
menyiapkan backdoor melalui file-file suid tersebut sehingga saat
penyusup ingin kembali masuk ke dalam sistem, ia bisa menggunakan backdoor
tersebut. Salah satu langkah penanggulangannya adalah dengan membuat daftar
file suid di saat setelah konfigurasi sistem operasi selesai dan
melakukan pemeriksaan secara rutin yang kemudian dibandingkan dengan daftar
file pertama.
·
File &
directory permission
Pada
saat mengkonfigurasi sistem operasi, file permission dan directory
permission sebaiknya ikut dikonfigurasi lebih lanjut selain konfigurasi
awal yang telah disediakan dari pencipta sistem operasi tersebut. Batasi user
hanya untuk bisa memiliki akses penuh pada home directory user tersebut.
·
Network File
System (NFS)
NFS
memungkinkan kita membuat file system yang berada di komputer lain
seolah-olah berada di komputer kita. Tetapi, apabila kita kurang hati-hati
dalam mengkonfigurasi-nya, hal ini menjadi makanan empuk bagi para pengrusak.
Kita harus memilih direktori mana saja yang perlu dibuat menjadi terbuka
terhadap komputer lain. Hak akses juga harus menjadi perhatian sehingga kita
dapat menempatkan file-file pada porsi yang sebenarnya. Perbaikan-perbaikan
(patches) untuk NFS juga telah tersedia di Internet karena NFS memiliki
beberapa titik kelemahan.
·
majordomo
Majordomo
adalah salah satu software yang menangani mailing list dan sudah
tersebar sangat luas. Gunakan selalu majordomo versi di atas 1.91 karena versi
di bawah 1.91 memiliki bugs yang cukup berbahaya.
·
Fingerd
Utilitas
ini sudah cukup terkenal sebagai salah satu alat utama dalam Internet worm
yang sempat melumpuhkan jaringan Internet di tahun 1988. Hingga saat ini,
utilitas finger masih sering digunakan sebagai langkah awal memantau
sistem yang akan disusupi. Meskipun perbaikan-perbaikan terhadap bug
yang ada di fingerd telah dilakukan, sebaiknya layanan ini ditutup untuk
akses dari luar sehingga perintah finger hanya bisa dilakukan sebatas
sistem atau komputer itu saja.
·
File
/etc/inetd.conf
File /etc/inetd.conf
ini berisi konfigurasi service-service yang dijalankan oleh inetd.
Sebaiknya file ini diatur pada mode 600 dan dimiliki oleh root. Selain itu,
sebaiknya kita menutup layanan-layanan networking yang tidak kita perlukan.
Konfigurasi awal dari instalasi sistem operasi seringkali membuka
layanan-layanan networking yang tidak kita butuhkan.
·
Anonymous FTP
Anonymous
FTP disediakan bagi user umum untuk mendapatkan file-file yang kita
publikasikan. Hal yang perlu diperhatikan dari sudut pandang sekuriti adalah
konfigurasi hak akses yang diberikan pada direktori-direktori yang kita
publikasikan. Selain itu, selalu gunakan versi terbaru untuk FTP daemon
yang kita gunakan. Versi FTP daemon yang sudah lama memiliki perintah-perintah
jarak jauh untuk meletakkan file ataupun membaca file yang berada di direktori
selain direktori FTP tersebut.
·
SMTP Server
SMTP server
adalah server yang bertugas mengatur penghantaran electronic mail dari
pengirim ke penerima. SMTP server yang sering digunakan adalah sendmail.
Sendmail ini telah terkenal kehandalannya tetapi juga memiliki bugs yang
bisa digunakan untuk mendapatkan hak akses setara root. Untuk
meminimalkan resiko ini, selalu gunakan versi terbaru dari sendmail. Kita juga
bisa menaikkan tingkat proses logging hingga tingkat/level 9. Pada
tingkat tersebut, sendmail logger akan mendeteksi usaha-usaha
eksploitasi terhadap kelemahan sendmail.
·
HTTP Server /
Web Server
Baru-baru
ini, Web server merupakan salah satu titik eksploitasi yang paling terkenal.
Dengan mengeksploitasi bugs yang ada di web server ini, para penyusup
bisa mendapatkan hak akses setara root. Hal ini mengakibatkan data-data homepage
yang ada di web server itu diacak-acak dan diganti sesuka hati penyusupnya.
Untuk mencegah terjadinya hal ini, beberapa langkah pencegahan perlu diambil.
Beberapa di antaranya yang cukup dominan:
·
Gunakan selalu
HTTP daemon yang terbaru dan telah diketahui hingga saat ini belum
memiliki bugs. Contoh: NCSA httpd versi 1.5.
·
Hilangkan script-script
yang tidak perlu yang memerlukan akses ke file system. Umumnya, script-script
tersebut disebut dengan Common Gateway Interface (CGI) script.
·
Lakukan
konfigurasi sebaik-baiknya terhadap CGI script yang kita perlukan
sebagai penghubung antara user dengan server.
·
Gunakan tapis (filter)
untuk mendeteksi masukan-masukan yang diberikan oleh user terutama terhadap
karakter-karakter yang berpotensi untuk merusak seperti: \n \r ( . , / ; ~ ! )
> | ^ & $ ` < %.
Selain
dari itu, kita bisa menggunakan software firewall untuk membatasi akses
dan melakukan pemantauan terhadap aliran transfer data. Software firewall
ada yang bersifat shareware dan komersial. Cara instalasi, penggunaan,
dan konfigurasinya tidak dibahas pada tulisan ini karena topik tersebut cukup
luas
Dalam
suatu sistem yang terproteksi cukup ketat, seringkali kita tidak bisa mengakses
komputer kita dari jarak jauh. Untuk memenuhi kebutuhan tersebut tanpa harus
mengorbankan tingkat sekuriti sistem, kita bisa menempuh dua cara. Cara pertama
adalah merubah program yang bertugas menerima akses langsung dari luar sehingga
kita bisa memonitor, mencatat maupun membatasi akses yang diberikan. Contoh
program yang menerima akses langsung dari Internet adalah telnetd. Cara
kedua adalah dengan menyiapkan hardware khusus yang bertindak sebagai perantara
antara user dengan komputer. Fungsi dari
hardware khusus ini tidak berbeda jauh dengan software yang diubah pada cara
pertama.
·
Bagian User
Jika
sisi software telah dikonfigurasi dengan baik, sisi user yang perlu
mendapat perhatian. Seringkali, user pada suatu sistem memilih kata password
yang mudah ditebak. Penulis pernah mencoba beberapa password account
yang isinya mudah ditebak, antara lain: “Komputer”, “Memori”, kombinasi nama user, nama perusahaan
penghasil meja komputer, merek monitor/keyboard/casing komputer,
dlsb. Untuk itu, sebagai system administrator, kita perlu memberikan
arahan dan anjuran kepada user untuk tidak menggunakan kata-kata yang mudah
ditebak sebagai password. Selain itu, jangan menuliskan password
pada kertas atau benda apa pun. Walaupun dalam film “War Games” (sebuah
film yang cukup terkenal di kalangan hacker di Amerika) telah
ditunjukkan akibat penulisan password tetapi masih saja terdapat user
yang menuliskan password-nya. Tentunya sudah cukup banyak tips untuk
membuat password yang baik. Jika dipandang perlu, konfigurasi password
user bisa diatur agar user diharuskan memperbaharui password-nya secara
periodik. Cara lain yang bisa dilakukan adalah menjalankan program yang
berfungsi memecahkan kode password pada file password yang Anda
miliki. Program semacam ini cukup banyak di Internet dan tersedia untuk
berbagai platform sistem operasi. Pada sistem operasi Unix, program yang
cukup terkenal adalah Crack. Dengan menggunakan program ini, kita dapat
mengetahui apakah user telah memilih password dengan baik.
Langkah lain yang bisa kita
lakukan adalah mencari dan mendapatkan software-software khusus yang
berhubungan dengan masalah sekuriti. Contohnya antara lain: COPS (software
penganalisa kelemahan dalam password dan konfigurasi file), SATAN (software
penganalisa jarak jauh terhadap usaha-usaha penyusupan dari luar), TCP-Wrapper
(software yang bertugas mencatat beberapa aktivitas transfer data), Tripwire (mirip dengan TCP-Wrapper), dlsb.
Dengan adanya software ini, kita bisa mengetahui hingga seberapa tinggi tingkat
sekuriti sistem jaringan komputer kita.
Penanggulangan
Jika terjadi usaha-usaha penyusupan ke dalam
sistem jaringan komputer, kita harus secepat mungkin menutup akses dari mana
usaha-usaha penyusupan tersebut. Beberapa ciri-ciri dasar dari usaha-usaha
penyusupan adalah usaha login yang gagal terus-menerus, sumber daya komputer
yang terserap habis akibat satu atau lebih layanan networking, munculnya
file-file aneh yang asal-usulnya tidak diketahui, jebolnya password dari
beberapa user, dlsb. Bila penyusup telah berhasil memasuki sistem komputer kita
dan bisa memperoleh hak akses setara root, bisa dipastikan sistem komputer
kita sudah tidak aman. Mengapa? Karena pada umumnya penyusup telah membuat backdoor
yang cukup aman dan tersembunyi kecuali kita mengetahui setiap titik dari backdoor
yang dibuat oleh penyusup tersebut dan kita bisa memusnahkannya. Bila kita
tidak bisa menemukan backdoor tersebut, jalan teraman adalah instalasi
ulang sistem operasi yang ada di komputer tersebut L.
Sebagai
system administrator yang baik, kita seharusnya selalu membaca log
file yang banyak dihasilkan oleh program-program yang dieksekusi di
komputer kita. Dengan membaca log file ini, kejadian-kejadian yang tidak
diinginkan dapat dideteksi lebih dini.
No comments :
Post a Comment