Keamanan Sistem Informasi
1. Evaluasi
Keamanan Sistem Informasi
Meski sebuah
sistem informasi sudah dirancang memiliki perangkat pengamanan, harus selalu
dimonitor. Hal ini disebabkan oleh beberapa hal, antara lain:
Ditemukannya
lubang keamanan (security hole) baru. Perangkat lunak dan perangkat keras
biasanya sangat kompleks sehingga tidak mungkin untuk diuji seratus persen.
Kadang-kadang ada lubang keamanan yang ditimbulkan oleh kecerobohan
implementasi
Kesalahan konfigurasi. Karena
lalai atau alpa, konfigurasi sebuah sistem kurang benar sehingga menimbulkan
lubang keamanan. Misalnya mode (permission atau kepemilikan) dari berkas yang
menyimpan password secara tidak sengaja diubah sehingga dapat diubah atau
ditulis. Contoh di windows
Atau
di /etc/passwd di sistem linux dengan perintah chmod 777 /etc/passwd
sehingga memberi izin user,group,other untuk read,write, execute
Penambahan
perangkat baru (hardware atau software) yang menyebabkan menurunnya tingkat
security atau berubahnya metoda untuk mengoperasikan sistem. Operator dan
administrator harus belajar lagi. Dalam masa belajar ini banyak hal yang jauh
dari sempurna, misalnya server atau software masih menggunakan konfigurasi awal
dari vendor (dengan password yang sama).
Sumber
Lubang Keamanan
Lubang
keamanan (security hole) dapat terjadi karena :
Salah disain
(Design Flaw)
Contoh :
Disain urutan nomor (sequence numbering) dari paket TCP/IP. Sehingga timbul
masalah yang dikenal dengan nama “IP spoofing”.
Implementasi
Kurang Baik
Contoh :
seringkali batas/bound dari sebuah “array” tidak dicek sehingga terjadi yang
disebut out-of-bound array atau buffer overflow yang dapat dieksploitasi
(misalnya overwrite ke variable berikutnya). Contoh lain adalah kealpaan
memfilter karakter-karakter yang aneh-aneh yang dimasukkan sebagai input dari
sebuah program web.
Salah
Konfigurasi
Contoh :
Berkas yang semestinya tidak dapat diubah oleh pemakai secara tidak sengaja
menjadi “writeable”. Apabila berkas tersebut merupakan berkas yang penting,
seperti berkas yang digunakan untuk menyimpan password.
Salah
Menggunakan Program atau Sistem
Contoh :
Kesalahan menggunakan program dengan account root (super user) dapat berakibat
fatal. Sering terjadi cerita horor dari sistem administrator baru yang teledor
dalam menjalankan perintah “rm -rf” (remove) di sistem linux (yang menghapus
berkas atau direktori beserta sub direktori di dalamnya). Akibatnya seluruh
berkas di sistem menjadi hilang mengakibatkan Denial of Service (DoS).
2. Cara
Mengamankan Sistem Informasi
Pada
umumnya, pengamanan dapat dikategorikan menjadi dua jenis :
-
Pencegahan (preventif)
Usaha pencegahan dilakukan agar
sistem informasi tidak memiliki lubang
keamanan
-
Pengobatan (recovery).
Usaha-usaha pengobatan dilakukan apabila lubang keamanan sudah
dieksploitasi.
Beberapa cara
yang dapat digunakan untuk mengamankan informasi adalah :
a. Mengatur
akses
b. Menutup
Servis yang tidak digunakan
c. Memasang
Proteksi
d. Firewall
e. Pemantau adanya serangan
f.
Pemantau
integritas sistem
g. Audit
h. Backup secara rutin
i.
Penggunaan
enkripsi
j.
telnet atau
shell aman
Mengatur akses (Access
Control)
Mengatur akses ke informasi
melalui mekanisme “authentication” dan “access control”. Implementasi dari
mekanisme ini antara lain dengan menggunakan “password”.
Di sistem LINUX dan Windows
NT,untuk menggunakan sebuah sistem atau komputer, pemakai diharuskan melakukan
authentication dengan menuliskan “userid” dan “password”. Apabila keduanya
valid, pemakai tersebut diperbolehkan menggunakan sistem. Apabila ada yang
salah, pemakai tidak dapat menggunakan sistem. Informasi tentang kesalahan ini
biasanya dicatat dalam berkas log.
Dengan adanya kemungkinan
password ditebak, misalnya dengan menggunakan program password cracker, maka
memilih password memerlukan perhatian khusus.
Hal-hal yang sebaiknya
dihindari sebagai password adalah :
-
Nama
anda, nama istri / suami, anak, nama teman.
-
Nama
komputer yang anda gunakan.
-
Nomor
telepon atau plat nomor kendaran anda
-
Tanggal
lahir
-
Alamat
rumah
-
Nama
tempat yang terkenal.
Menutup Servis Yang Tidak
Digunakan
Seringkali sistem (perangkat
keras dan/atau perangkat lunak) diberikan beberapa servis yang dijalankan
sebagai default.
Contoh Pada sistem LINUX
servis-servis berikut sering dipasang dari vendornya: finger, telnet, ftp,
smtp, pop, echo, dan seterusnya. Pada sistem windows seperti servis apache,
mysql, telnet, remote dekstop dll.
Padahal Servis tersebut
tidak semuanya dibutuhkan, untuk mengamankan sistem, servis yang tidak
diperlukan di server (komputer) tersebut sebaiknya dimatikan.
Sudah banyak kasus yang
menunjukkan abuse dari servis tersebut.
Memasang Proteksi
Untuk lebih meningkatkan
keamanan sistem informasi, proteksi dapat ditambahkan. Proteksi ini dapat
berupa filter (secara umum) dan yang lebih spesifik firewall.
Filter dapat digunakan untuk
memfilter e-mail, informasi, akses, atau bahkan dalam level packet.
Contoh :
LINUX paket program
“tcpwrapper” dapat digunakan untuk membatasi akses servis atau aplikasi
tertentu.
Misalnya servis untuk
“telnet” dapat dibatasi untuk untuk sistem yang memiliki nomor IP tertentu,
atau memiliki domain tertentu.
Firewall
Firewall merupakan sebuah
perangkat yang diletakkan antara Internet dengan jaringan internal, dan setiap
Informasi yang keluar atau masuk harus melalui firewall.
Tujuan utama dari firewall
adalah untuk menjaga (agar akses (ke dalam maupun ke luar) dari orang yang
tidak berwenang agar tidak dapat dilakukan.
Konfigurasi dari firewall
bergantung kepada kebijaksanaan dari organisasi yang bersangkutan, yang dapat
dibagi menjadi dua jenis:
a.
Apa-apa
yang tidak diperbolehkan secara eksplisit dianggap tidak diperbolehkan
(prohibitted)
b.
Apa-apa
yang tidak dilarang secara eksplisit dianggap diperbolehkan (permitted)
Firewall bekerja dengan
mengamati paket IP (Internet Protocol) yang melewatinya. Berdasarkan
konfigurasi dari firewall maka akses dapat diatur berdasarkan IP address, port,
dan arah informasi.
Firewall dapat berupa sebuah
perangkat keras yang sudah dilengkapi dengan perangkat lunak tertentu, sehingga
pemakai (administrator) tinggal melakukan konfigurasi dari firewall tersebut.
Firewall juga dapat berupa perangkat lunak yang ditambahkan kepada sebuah
server.
Satu hal yang perlu diingat
bahwa adanya firewall bukan menjadi jaminan bahwa jaringan dapat diamankan
seratus persen. Meskipun sudah menggunakan firewall, keamanan harus tetap
dipantau secara berkala.
Pemantau adanya serangan
Sistem pemantau (monitoring
system) digunakan untuk mengetahui adanya tamu tak diundang (intruder) atau
adanya serangan (attack).
Nama lain dari sistem ini
adalah “intruder detection system” (IDS). Sistem ini dapat memberitahu
administrator melalui e-mail maupun melalui mekanisme lain seperti melalui
pager.
Ada berbagai cara untuk
memantau adanya intruder. Ada yang sifatnya aktif dan pasif. IDS cara yang
pasif misalnya dengan memonitor logfile.
Contoh software IDS antara
lain :
a.
Autobuse,
Mendeteksi probing dengan
memonitor logfile.
b.
Courtney
dan portsentry
Mendeteksi probing (port
scanning) dengan memonitor packet yang lalu lalang. Portsentry bahkan dapat
memasukkan IP penyerang dalam filter tcpwrapper (langsung dimasukkan kedalam
berkas /etc/hosts.deny)
c.
Shadow
dari SANS
d.
Snort
Mendeteksi pola (pattern)
pada paket yang lewat dan mengirimkan alert jika pola tersebut terdeteksi.
Pola-pola atau rules disimpan dalam berkas yang disebut library yang dapat
dikonfigurasi sesuai dengan kebutuhan. Contoh aplikasi Snort:
Pemantau integritas sistem
Pemantau integritas sistem
dijalankan secara berkala untuk menguji integratitas sistem.
Contoh : Pada Sistem UNIX
adalah program Tripwire. Program paket Tripwire digunakan untuk memantau adanya
perubahan pada berkas. Tripwire dijalankan dan membuat database mengenai
berkas-berkas atau direktori yang ingin kita amati beserta “signature” dari
berkas tersebut.
Signature berisi informasi
mengenai besarnya berkas, kapan dibuatnya, pemiliknya, hasil checksum atau hash
dll. Apabila ada perubahan pada berkas tersebut, maka keluaran dari hash
function akan berbeda dengan yang ada di database sehingga ketahuan adanya
perubahan.
Audit : Mengamati Berkas Log
Hampir semua kegiatan
penggunaan sistem dapat dicatat dalam berkas yang biasanya disebut “logfile”
atau “log” saja.
Berkas log ini sangat
berguna untuk mengamati penyimpangan yang terjadi. Kegagalan untuk masuk ke
sistem (login), akan tersimpan di dalam berkas log. Untuk itu para
administrator diwajibkan untuk rajin memelihara dan menganalisa berkas log yang
dimilikinya.
Letak dan isi dari berkas
log bergantung kepada operating system yang digunakan.
Audit : Mengamati Berkas Log
(lanjutan)
Pada sistem berbasis
UNIX/LINUX, biasanya berkas ini berada di direktori /var/adm atau /var/log.
Backup secara rutin
Seringkali tamu tak diundang
(intruder) masuk ke dalam sistem dan merusak sistem dengan menghapus
berkas-berkas yang ditemui. Jika intruder ini berhasil menjebol sistem dan
masuk sebagai administrator, maka ada kemungkinan dia dapat menghapus seluruh
berkas. Untuk itulah, backup data wajib dilakukan secara rutin.
Untuk sistem yang sangat
esensial, secara berkala perlu dibuat backup yang letaknya berjauhan secara
fisik. Hal ini dilakukan untuk menghindari hilangnya data akibat bencana
seperti kebakaran, banjir, dll. karena bila data dibackup tetapi diletakkan
pada lokasi yang sama, kemungkinan data akan hilang jika tempat yang
bersangkutan mengalami bencana seperti kebakaran.
Salah satu cara backup
system saja, klik start – klik kanan computer pilih properties – klik system
protection – klik create input tgl restore point
Kalau windowsnya suatu saat
error, caranya komputernya direstart masuk ke safemode lalu arahkan ke restore
point, pilih tgl backup yang pernah dilakukan.
Penggunaan Enkripsi
Salah satau mekanisme untuk
meningkatkan keamanan adalah dengan menggunakan teknologi enkripsi. Data-data
yang anda kirimkan diubah sedemikian rupa sehingga tidak mudah disadap.
Banyak servis di Internet
yang masih menggunakan “plain text” untuk authentication, seperti penggunaan
pasangan userid dan password. Informasi ini dapat dilihat dengan mudah oleh
program penyadap atau pengendus (sniffer).
Contoh servis yang
menggunakan plain text antara lain :
a. Akses jarak jauh dengan
menggunakan telnet dan rlogin
b. Transfer file dengan
menggunakan FTP
c. Akses email melalui POP3 dan
IMAP4
d. Pengiriman email melalui
SMTP
e. Akses web melalui HTTP
Penggunaan
enkripsi dapat digunakan untuk remote akses (misalnya melalui ssh sebagai
penggani telnet atau rlogin)
Telnet atau shell aman
Telnet atau remote login
digunakan untuk mengakses sebuah “remote site” atau komputer melalui sebuah
jaringan komputer.
Akses ini dilakukan dengan
menggunakan hubungan TCP/IP dengan menggunakan userid dan password. Informasi
tentang userid dan password ini dikirimkan melalui jaringan komputer secara
terbuka.
Akibatnya ada kemungkinan
seorang yang jahat akan melakukan “sniffing” dan mengumpulkan informasi tentang
userid dan password ini.
Enkripsi dapat digunakan
untuk melindungi adanya sniffing. Paket yang dikirimkan dienkripsi dengan
algoritma DES atau Blowish (dengan menggunakan kunci session yang dipertukarkan
via RSA atau Diffie-Hellman) sehingga tidak dapat dibaca oleh orang yang tidak
berhak. Salah satu implementasi mekanisme ini adalah SSH (Secure Shell).
Ada beberapa implementasi
SSH ini, antara lain :
a.
SSH
untuk UNIX (dalam bentuk source code, gratis, mengimplementasikan protokol SSH versi 1 dan
versi 2)
b.
SSH
untuk Windows95 dari Data Fellows (komersial, ssh versi 1 dan versi 2) http://www.datafellows.com
c.
TTSSH, yaitu
skrip yang dibuat untuk Tera Term Pro (gratis, untuk Windows 95, ssh versi 1)
http://www.paume.itb.ac.id/rahard/koleksi
d.
SecureCRT
untuk Windows95 (shareware / komersial)
e.
Putty (SSH
untuk Windows yang gratis, ssh versi 1)
Selain menyediakan ssh, paket putty juga
dilengkapi dengan pscp yang mengimplementasikan secure copy sebagai pengganti FTP.