- pendahuluan
Keamanan komputer maupun jaringan komputer, terutama yang terhubung
ke internet harus direncanakan dan dikoordinasikan dengan baik agar dapat
melindungi sumber daya (resource) dan investasi di dalamnya. Informasi (data) dan
service (pelayanan) sudah menjadi sebuah komoditi yang sangat penting.
Kemampuan untuk mengakses dan menyediakan informasi secara cepat dan akurat
menjadi sangat esensial bagi suatu organisasi, baik yang berupa organisasi
komersial (perusahaan), perguruan tinggi, lembaga pemerintahan, maupun
- Aspek-aspek Security
Dalam mengamankan jaringan ada beberapa aspek yang harus kita perhatikan dan
dijaga, antara lain:
- Kestabilan Sistem
Sistem yang kita buat harus stabil sejalan dengan waktu, dalam arti bila
sewaktu-waktu terjadi perubahan pada perilaku hardware maupun software
yang lain dari biasanya. Administrator harus mampu segera mengatasi masalahmasalah
tersebut, seperti memperbaiki bug yang ada, melakukan upgrade, dan
mengganti device rusak.
- Ketersediaan data dan kerahasiaan
Harus ada perlindungan terhadap informasi baik berupa data, program, dan
segala hal yang dianggap penting agar tidak dihapus atau dirubah oleh orang
lain yang tidak berhak. Selain itu harus ada jaminan terhadap informasi agar
tidak bisa diakses/diketahui atau diubah oleh orang lain yang tidak berhak
- Ketersediaan service
- Monitoring
- Pengaturan Akses dalam Sistem Unix
Salah satu cara yang umum digunakan untuk mengamankan informasi adalah dengan mengatur akses ke informasi melalui mekanisme “access control”. Implementasi dari mekanisme ini antara lain dengan menggunakan “password”. Di sistem Unix, 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.
- 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 bermacam-macam program. Contoh isi
berkas password dapat dilihat di bawah ini (dapat dibuka juga dengan perintah
‘vipw’):
root:fi3sED95ibqR7:0:1:System Operator:/:/sbin/sh
daemon:*:1:1::/tmp:
hakim:d98skjhj9l:72:98:Rahmat Hakim:/home/hakim:/bin/bash
Field Isi
sandhy Nama atau userid pemakai
d98skjhj9l password yang sudah terenkripsi (encrypted pass-word)
72 UID, user identification number
98 GID, group identification number
Sandhy Hasan nama lengkap dari pemakai (sering juga disebut GECOS
a atau GCOS field)
/home/sandhy home directory dari pemakai
/bin/bash shell dari pemakai.
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), tetapi ini merupakan
potensi sumber lubang keamanan. 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. Semakin sederhana password yang digunakan maka kemungkinan
terpecahnya password tersebut akan semakin tinggi dan semakin cepat selesainya.
- Shadow Password
Salah satu cara untuk mempersulit 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
(bersifat hidden), tetapi bisa diakses oleh user root.
Beberapa perintah dan fungsi yang berhubungan dengan account dan password :
- chage (mengeset password expiration)
- chfn (untuk mengubah finger information)
- chsh (mengubah default shell)
- gpasswd (menambah user dalam group tertentu)
- groupadd (menambah group)
- groupdel (menghapus group)
- groupmod (mengubah setting/informasi group)
- id (menampilkan informasi ID beberapa informasi)
- login (untuk login)
- newgrp (mengganti group efektif)
- passwd (membuat password atau mengubah password)
- su (substitue user)
- userdel (menghapus user)
- usermod (mengubah setting dan informasi user)
- Pemilihan Password
Serangan Terhadap Sistem Keamanan
Serangan pada keamanan jaringan sangat banyak jenisnya. Bahkan mungkin
ditemukan cara-cara baru yang lebih mudah dan efektif serta tidak terlalu
membutuhkan kemampuan yang tinggi. Serangan-serangan ini ada yang bersifat
mengganggu, merusak, bahkan mengambil alih posisi superuser (root). Serangan
yang sering terjadi di internet di antaranya :
• Scanning
Scan adalah probe dalam jumlah besar menggunakan tool secara otomatis
dengan tujuan tertentu (misal : mendeteksi kelemahan-kelemahan pada host
tujuan). Scanner biasanya bekerja dengan men-scan port TCP /IP dan servisservisnya
dan mencatat respon dari komputer target. Dari scanner ini dapat
diperoleh informasi mengenai port-port mana saja yang terbuka. Kemudian
yang dilakukan adalah mencari tahu kelemahan-kelemahan yang mungkin
bisa dimanfaatkan berdasar port yang terbuka dan aplikasi serta versi aplikasi
yang digunakan.
• Sniffing
Sniffer adalah device (software maupun hardware) yang digunakan untuk
mendengar informasi yang melewati jaringan dengan protokol apa saja. Host
dengan mode promiscuous mampu mendengar semua trafik di dalam
jaringan. Sniffer dapat menyadap password maupun informasi rahasia, dan keberadaannya biasanya cukup sulit untuk dideteksi karena bersifat pasif.
Sniffer ini mendengarkan port Ethernet untuk hal-hal seperti "Password",
"Login" dan "su" dalam aliran paket dan kemudian mencatat lalu lintas
setelahnya. Dengan cara ini, penyerang memperoleh password untuk sistem
yang bahkan tidak mereka usahakan untuk dibongkar. Password teks biasa
adalah sangat rentan terhadap serangan ini. Untuk mengatasinya, dapat
digunakan enkripsi, merancang arsitektur jaringan yang lebih aman dan
menggunakan One Time Password (OTP).
• Eksploit
Eksploit berarti memanfaatkan kelemahan sistem untuk aktifitas-aktifitas di
luar penggunaan normal yang sewajarnya.
• Spoofing
Biasanya IP spoofing dilakukan dengan menyamarkan identitas alamat IP
menjadi IP yang tepercaya (misal dengan script tertentu) dan kemudian
melakukan koneksi ke dalam jaringan. Bila berhasil akan dilanjutkan dengan
serangan berikutnya.
• DoS (Denial of Service) attack
Salah satu sumberdaya jaringan yang berharga adalah servis-servis yang
disediakannya. DoS atau malah Distributed DoS (DDoS) attack dapat
menyebabkan servis yang seharusnya ada menjadi tidak bisa digunakan. Hal
ini tentu akan mendatangkan masalah dan merugikan. Penyebab penolakan
servis ini sangat banyak sekali, dapat disebabkan antara lain :
1. Jaringan kebanjiran trafik (misal karena serangan syn flooding, ping
flooding, smurfing).
2. Jaringan terpisah karena ada penghubung (router/gateway) yang tidak
berfungsi.
3. Ada worm/virus yang menyerang dan menyebar sehingga jaringan
menjadi lumpuh bahkan tidak berfungsi, dll
• Malicious Code
Malicious Code adalah program yang dapat menimbulkan efek yang tidak
diinginkan jika dieksekusi. Jenisnya antara lain : trojan horse, virus, dan worm. Trojan Horse adalah program yang menyamar dan melakukan aktifitas
tertentu secara tersembunyi (biasanya merugikan, misal : game yang mencuri
password). Virus adalah program yang bersifat mengganggu bahkan
merusak dan biasanya memerlukan intervensi manusia dalam
penyebarannya. Worm adalah program yang dapat menduplikasikan diri dan
menyebar dengan cepat tanpa intervensi manusia. Malicious kode dapat
menimbulkan beragam tingkat permasalahan.
• Serangan secara fisik
Serangan secara fisik misalnya mengakses server/jaringan/piranti secara
ilegal :
• Buffer Ofer Flow
Dapat terjadi jika ada fungsi yang dibebani dengan data yang lebih besar dari
yang mampu ditangani fungsi tersebut. Buffer adalah penampungan
sementara di memori komputer dan biasanya mempunyai ukuran tertentu.
Jika hal itu terjadi maka kemungkinan yang dapat terjadi adalah :
Program menolak dan memberi peringatan
Program akan menerima data, meletakkannya pada memori dan
mengoverwrite isi memori jika ada data sebelumnya. Cracker dapat membuat
data di mana bagian overflownya adalah set instruksi tertentu untuk
mendapatkan akses. Jika set instruksi baru menempati tempat suatu instruksi
sebelumnya, maka instruksi cracker akan dapat dijalankan.
• Social Engineering
Social engineering berarti usaha untuk mendapatkan password dengan jalan
'memintanya' , misalkan dengan menggunakan fakemail.
• OS Finger Printing
Mengetahui operating system (OS) dari target yang akan diserang
merupakan salah satu pekerjaan pertama yang dilakukan oleh seorang
cracker. Setelah mengetahui OS yang dituju, dia dapat melihat database
kelemahan sistem yang dituju. Fingerprinting merupakan istilah yang umum digunakan untuk menganalisa OS sistem yang dituju. Beberapa cara
konvensional antara lain : telnet, ftp, netcat, dll.
Jika server tersebut kebetulan menyediakan suatu servis, seringkali ada
banner yang menunjukkan nama OS beserta versinya. Misalkan dilakukan
dengan telnet dengan port tertentu, atau dapat juga menggunakan program
tertentu.
Cara fingerprinting yang lebih canggih adalah dengan menganalisa respon
sistem terhadap permintaan (request) tertentu. Misalnya dengan menganalisa
nomor urut packet TCP/IP yang dikeluarkan oleh server tersebut dapat
dipersempit ruang jenis dari OS yang digunakan.
Ada beberapa tools untuk melakukan deteksi OS ini antara lain: nmap, dan
queso
• Crack password
Crack password adalah program untuk MENDUGA dan memecahkan
password dengan menggunakan sebuah atau beberapa kamus (dictionary)
Dewasa ini tool-tool yang digunakan dalam penyerangan semakin mudah digunakan
dan efektif, bahkan banyak yang disertai source kodenya..
Sign up here with your email
ConversionConversion EmoticonEmoticon