Silahkan Pilih Warna Latar Blog ini Sesuai Dengan kenyamanan Yang Anda Suka
Selamat Datang di zainuddinkurnia.blogspot.com

Rabu, 03 November 2010

Mengamankan Sistem Informasi


Pada umunya, pengamanan dapat dikategorikan menjadi dua jenis: pencegahan (preventif) dan pengobatan (recovery). Usaha pencegahan dilakukan agar sistem informasi tidak memiliki lubang keamanan, sementara usaha-usaha pengobatan dilakukan apabila lubang keamanan sudah dieksploitasi.
Pengamanan sistem informasi dapat dilakukan melalui beberapa layer yang berbeda. Misalnya di layer “transport”, dapat digunakan “Secure Socket Layer” (SSL). Metoda ini umum digunakan untuk server web. Secara fisik, sistem anda dapat juga diamankan dengan menggunakan “firewall” yang memisahkan sistem anda dengan Internet. Penggunaan teknik enkripsi dapat dilakukan di tingkat aplikasi sehingga data-data anda atau e-mail anda tidak dapat dibaca oleh orang yang tidak berhak.

Mengatur akses (Access Control)
Salah satu cara yang umum digunakan untuk mengamankan informasi adalah dengan mengatur akses ke informasi melalui mekanisme “authentication” dan “access control”. Implementasi dari mekanisme ini antara lain dengan menggunakan “password”.
Di sistem UNIX dan Windows NT, untuk menggunakan sebuah sistem atau komputer, pemakai diharuskan melalui proses authentication dengan menuliskan “userid” dan “password”. Informasi yang diberikan ini dibandingkan dengan userid dan password yang berada di sistem. Apabila keduanya valid, pemakai yang bersangkutan diperbolehkan menggunakan sistem. Apabila ada yang salah, pemakai tidak dapat menggunakan sistem. Informasi tentang kesalahan ini biasanya dicatat dalam berkas log. Besarnya informasi yang dicatat bergantung kepada konfigurasi dari sistem setempat. Misalnya, ada yang menuliskan informasi apabila pemakai memasukkan userid dan password yang salah sebanyak tiga kali. Ada juga yang langsung menuliskan informasi ke dalam berkas log meskipun baru satu kali salah. Informasi tentang waktu kejadian juga dicatat. Selain itu asal hubungan (connection) juga dicatat sehingga administrator dapat memeriksa keabsahan hubungan.
Setelah proses authentication, pemakai diberikan akses sesuai dengan level yang dimilikinya melalui sebuah access control. Access control ini biasanya dilakukan dengan mengelompokkan pemakai dalam “group”. Ada group yang berstatus pemakai biasa, ada tamu, dan ada juga administrator atau super user yang memiliki kemampuan lebih dari group lainnya. Pengelompokan ini disesuaikan dengan kebutuhan dari penggunaan sistem anda. Di lingkungan kampus mungkin ada kelompok mahasiswa, staf, karyawan, dan administrator. Sementara itu di lingkungan bisnis mungkin ada kelompok finance, engineer, marketing, dan seterusnya.

Password di sistem UNIX
Akses ke sistem UNIX menggunakan password yang biasanya disimpan di dalam berkas /etc/passwd. Di dalam berkas ini disimpan nama, userid, password, dan informasi-informasi lain yang digunakan oleh bermacammacam program. Contoh isi berkas password dapat dilihat di bawah ini.
root:fi3sED95ibqR7:0:1:System Operator:/:/sbin/sh
daemon:*:1:1::/tmp:
rahard:d98skjhj9l:72:98:adi Rahardjo:/home/rahard:/bin/csh

TABLE 6. Penjelasan contoh isi berkas password
Field Isi
rahard Nama atau userid pemakai
d98skjhj9l password yang sudah terenkripsi (encrypted password)
72 UID, user identification number
98 GID, group identification number
Adi Rahardjo Nama lengkap dari pemakai (sering juga disebut GECOSa atau GCOS field)
/home/rahard home directory dari pemakai
/bin/csh shell dari pemakai

a. GECOS = General Electric Computer Operating System. Di masa lalu, pemakai juga memiliki account di komputer yang lebih besar, yaitu komputer GECOS. Informasi ini disimpan dalam berkas ini untuk memudahkan batch job yang dijalankan melalui sebuah Remote Job Entry.

Pada sistem UNIX lama, biasanya berkas /etc/passwd ini “readable”, yaitu dapat dibaca oleh siapa saja. Meskipun kolom password di dalam berkas itu berisi “encrypted password” (password yang sudah terenkripsi), akan tetapi ini merupakan potensi sumber lubang keamanan. Seorang pemakai yang nakal, dapat mengambil berkas ini (karena “readable”), misalnya men-download berkas ini ke komputer di rumahnya, atau mengirimkan berkas ini kepada kawannya. Ada program tertentu yang dapat digunakan untuk memecah password tersebut. Contoh program ini antara lain: crack (UNIX), viper (perl script), dan cracker jack (DOS).
Program “password cracker” ini tidak dapat mencari tahu kata kunci dari kata yang sudah terenkripsi. Akan tetapi, yang dilakukan oleh program ini adalah melakukan coba-coba (brute force attack). Salah satu caranya adalah mengambil kata dari kamus (dictionary) kemudian mengenkripsinya. Apabila hasil enkripsi tersebut sama dengan password yang sudah terenkripsi (encrypted password), maka kunci atau passwordnya ketemu. Selain melakukan “lookup” dengan menggunakan kamus, biasanya program “password cracker” tersebut memiliki beberapa algoritma heuristic seperti menambahkan angka di belakangnya, atau membaca dari belakang (terbalik), dan seterusnya. Inilah sebabnya jangan menggunakan password yang terdapat dalam kamus, atau kata-kata yang umum digunakan (seperti misalnya nama kota atau lokasi terkenal).

Shadow Password

Salah satu cara untuk mempersulit pengacau untuk mendapatkan berkas yang berisi password (meskipun terenkripsi) adalah dengan menggunakan “shadow password”. Mekanisme ini menggunakan berkas /etc/shadow untuk menyimpan encrypted password, sementara kolom password di berkas /etc/passwd berisi karakter “x”. Berkas /etc/shadow tidak dapat dibaca secara langsung oleh pemakai biasa.

Memilih password

Dengan adanya kemungkinan password ditebak, misalnya dengan menggunakan program password cracker, maka memilih password memerlukan perhatian khusus. Berikut ini adalah daftar hal-hal yang sebaiknya tidak digunakan sebagai password.
• Nama anda, nama istri / suami anda, nama anak, ataupun nama kawan.
• Nama komputer yang anda gunakan.
• Nomor telepon atau plat nomor kendaran anda.
• Tanggal lahir.
• Alamat rumah.
• Nama tempat yang terkenal.
• Kata-kata yang terdapat dalam kamus (bahasa Indonesia maupun bahasa
Inggris).
• Password dengan karakter yang sama diulang-ulang.
• Hal-hal di atas ditambah satu angka.

Menutup servis yang tidak digunakan
Seringkali sistem (perangkat keras dan/atau perangkat lunak) diberikan dengan beberapa servis dijalankan sebagai default. Sebagai contoh, pada sistem UNIX servis-servis berikut sering dipasang dari vendornya: finger, telnet, ftp, smtp, pop, echo, dan seterusnya. 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, atau ada lubang keamanan dalam servis tersebut akan tetapi sang administrator tidak menyadari bahwa servis tersebut dijalankan di komputernya.
Servis-servis di sistem UNIX ada yang dijalankan dari “inetd” dan ada yang dijalankan sebagai daemon. Untuk mematikan servis yang dijalankan dengan menggunakan fasilitas inet, periksa berkas /etc/inetd.conf, matikan servis yang tidak digunakan (dengan memberikan tanda komentar #) dan memberitahu inetd untuk membaca berkas konfigurasinya (dengan memberikan signal HUP kepada PID dari proses inetd).
unix# ps -aux | grep inetd
105 inetd
unix# kill -HUP 105

Untuk sistem Solaris atau yang berbasis System V, gunakan perintah “ps - eaf” sebagai pengganti perintah “ps -aux”. Lebih jelasnya silahkan baca manual dari perintah ps.
Untuk servis yang dijalankan sebagai daemon dan dijalankan pada waktu startup (boot), perhatikan skrip boot dari sistem anda.
• SunOS: /etc/rc.*
• Linux Debian: /etc/init.d/*

Memasang Proteksi
Untuk lebih meningkatkan keamanan sistem informasi, proteksi dapat ditambahkan. Proteksi ini dapat berupa filter (secara umum) dan yang lebih spesifik adalah firewall. Filter dapat digunakan untuk memfilter e-mail, informasi, akses, atau bahkan dalam level packet. Sebagai contoh, di sistem UNIX ada paket program “tcpwrapper” yang dapat digunakan untuk membatasi akses kepada servis atau aplikasi tertentu. Misalnya, servis untuk “telnet” dapat dibatasi untuk untuk sistem yang memiliki nomor IP tertentu, atau memiliki domain tertentu. Sementara firewall dapat digunakan untuk melakukan filter secara umum.
Untuk mengetahui apakah server anda menggunakan tcpwrapper atau tidak, periksa isi berkas /etc/inetd.conf. Biasanya tcpwrapper dirakit menjadi “tcpd”. Apabila servis di server anda (misalnya telnet atau ftp) dijalankan melalui tcpd, maka server anda menggunakan tcpwrapper.
Biasanya, konfigurasi tcpwrapper (tcpd) diletakkan di berkas /etc/hosts.allow dan /etc/hosts.deny.

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:
Autobuse, mendeteksi probing dengan memonitor logfile.
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)
Shadow dari SANS
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.

Pemantau integritas sistem
Pemantau integritas sistem dijalankan secara berkala untuk menguji integratitas sistem. Salah satu contoh program yang umum digunakan di sistem UNIX adalah program Tripwire. Program paket Tripwire dapat digunakan untuk memantau adanya perubahan pada berkas. Pada mulanya, 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 (misalnya dengan menggunakan program MD5), dan sebagainya. 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
Segala (sebagian besar) 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), misalnya, 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. Di sistem berbasis UNIX, biasanya berkas ini berada di direktori/var/adm atau /var/log. Contoh berkas log yang ada di sistem Linux Debian.
TABLE 7. Berkas Log di sistem Debian Linux
Nama Berkas Keterangan
/var/adm/auth.log Berisi informasi yang berhubungan dengan authentication. Gagal login, misalnya, dicatat pada berkas ini.
/var/adm/daemon.log Informasi mengenai program-program daemon seperti BIND, Sendmail, dsb.
/var/adm/mail.log Berisi informasi tentang e-mail yang dikirimkan dan diterima oleh MTA (sendmail) serta akses ke sistem email melalui POP dan IMAP.
/var/adm/syslog Berisi pesan yang dihasilkan oleh program syslog. Kegagalan login tercatat di sini.

Sebagai contoh, berikut ini adalah cuplikan baris isi dari berkas /var/adm/ auth.log:
Apr 8 08:47:12 xact passwd[8518]: password for `inet' changed by root
Apr 8 10:02:14 xact su: (to root) budi on /dev/ttyp3
Baris pertama menunjukkan bawah password untuk pemakai “inet” telah diganti oleh “root”. Baris kedua menunjukkan bahwa pemakai (user) yang bernama “adi” melakukan perintah “su” (substitute user) dan menjadi user “root” (super user). Kedua contoh di atas menunjukkan entry yang nampaknya normal, tidak mengandung security hole, dengan asumsi pada baris kedua memang pemakai “budi” diperbolehkan menjadi root. Contoh entry yang agak mencurigakan adalah sebagai berikut.
Apr 5 17:20:10 alliance wu-ftpd[12037]: failed login from
ws170.library.msstate.edu [130.18.249.170], m1
Apr 9 18:41:47 alliance login[12861]: invalid password for
`adi' on `ttyp0' from `ppp15.isp.net.id'
Baris di atas menunjukkan kegagalan untuk masuk ke sistem melalui fasilitas FTP (baris pertama) dan telnet (baris kedua). Pada baris kedua terlihat bahwa user “budi” (atau yang mengaku sebagai user “budi”) mencoba masuk melalui login dan gagal memberikan password yang valid. Hal ini bisa terjadi karena ketidak sengajaan, salah memasukkan password, atau bisa juga karena sengaja ingin mencoba-coba masuk dengan userid “adi” dengan password coba-coba. Cara coba-coba ini sering dilakukan dengan mengamati nama user yang berada di sistem tersebut (misalnya dengan menggunakan program finger untuk mengetahui keberadaan sebuah user). Contoh berikut diambil dari isi berkas /var/adm/mail.log, yang berfungsi untuk mencatat aktivitas yang berhubungan dengan sistem mail.
Apr 9 18:40:31 mx1 imapd[12859]: Login faiure
user=^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P
^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^
P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P
host=vhost.txg.wownet.net
Apr 9 18:40:32 mx1 imapd[12859]: Success, while reading line
user=^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P

^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^
P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P
host=vhost.txg.wownet.net

Contoh di atas menunjukkan hal yang sedikit aneh dari akses ke servis email melalui IMAP (ditunjukkan dengan kata “imapd” yang merupakan server dari servis IMAP). Pertama, user yang digunakan tidak valid. Kedua, kebetulan administrator tidak memiliki remote user yang berasal dari host yang disebut di atas. Setelah diselidiki, ternyata memang ada lubang keamanan dari implementasi “imapd” yang digunakan. Ini diketahui setelah melihat informasi yang ada di web site CERT (See “Sumber informasi dan organisasi yang berhubungan dengan keamanan sistem informasi”). Untuk itu administrator cepat-cepat menutup servis imap tersebut, mengambil dan memasang versi baru dari imapd yang tidak memiliki lubang keamanan tersebut. Contoh-contoh di atas hanya merupakan sebagian kecil dari kegiatan menganalisa berkas log. Untuk sistem yang cukup ramai, misalnya sebuah perguruan tinggi dengan jumlah pemakai yang ribuan, analisa berkas log merupakan satu pekerjaan tersendiri (yang melelahkan). Untuk itu adanya tools yang dapat membantu administrator untuk memproses dan menganalisa berkas log merupakan sesuatu yang sangat penting. Ada beberapa tools sederhana yang menganalia berkas log untuk mengamati kegagalan (invalid password, login failure, dan sebagainya) kemudian memberikan ringkasan. Tools ini dapat dijalankan setiap pagi dan dan mengirimkan hasilnya kepada administrator.

Backup secara rutin
Seringkali tamu tak diundang (intruder) masuk ke dalam sistem dan merusak sistem dengan menghapus berkas-berkas yang dapat ditemui. Jika intruder ini berhasil menjebol sistem dan masuk sebagai super user (administrator), maka ada kemungkinan dia dapat menghapus seluruh berkas. Untuk itu, adanya backup yang dilakukan secara rutin merupakan sebuah hal yang esensial. Bayangkan apabila yang dihapus oleh tamu ini adalah berkas penelitian, tugas akhir, skripsi, yang telah dikerjakan bertahun-tahun. 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, dan lain sebagainya. Apabila data-data dibackup akan tetapi diletakkan pada lokasi yang sama, kemungkinan data akan hilang jika tempat yang bersangkutan mengalami bencana seperti kebakaran.

Penggunaan Enkripsi untuk meningkatkan keamanan

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:
• akses jarak jauh dengan menggunakan telnet dan rlogin
• transfer file dengan menggunakan FTP
• akses email melalui POP3 dan IMAP4
• pengiriman email melalui SMTP
• akses web melalui HTTP
Penggunaan enkripsi untuk remote akses (misalnya melalui ssh sebagai penggani telnet atau rlogin) akan dibahas di bagian tersendiri.

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 nakal melakukan “sniffing” dan mengumpulkan informasi tentang pasangan userid dan password ini.
Untuk menghindari hal 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:
• ssh untuk UNIX (dalam bentuk source code, gratis, mengimplementasikan protokol SSH versi 1 dan versi 2)
• SSH untuk Windows95 dari Data Fellows (komersial, ssh versi 1 dan versi 2) http://www.datafellows.com/
• TTSSH, yaitu skrip yang dibuat untuk Tera Term Pro (gratis, untuk Windows 95, ssh versi 1) http://www.paume.itb.ac.id/rahard/koleksi
• SecureCRT untuk Windows95 (shareware / komersial)
• 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.

sumber : http://muhammad-reza-anwar.blogspot.com/2009/04/mengamankan-sistem-informasi_28.html

Tidak ada komentar:

Posting Komentar

Milu ke

Share |