DASAR-DASAR SECURITY
PELAJARAN KELAS XII
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
individual (pribadi).
_ 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
Servis-servis yang kita sediakan di
dalam jaringan harus dijaga agar selalu
tersedia tanpa adanya gangguan
_ Kendali
Harus ada sistem pengendalian tertentu,
seperti mengatur hak akses di dalam
sistem jaringan. Karena perilaku
pemakai sulit ditebak maka pengguna harus
dibatasi dalam melakukan akses pada
daerah dimana ia berwenang, sedangkan
bagi pengguna luar harus ditolak.
_ Monitoring
Administrator harus melakukan
pemantauan terhadap sistem jaringan yang
dibangunnya, siapa yang telah
mengakses dan menggunakan servis, aktivitas
apa yang telah dilakukan, mencari
sela-sela sistem yang belum terlindungi,
memantau catatan logging sistem,
mendeteksi penyusup yang masuk dll.
Sangat penting di sini untuk
mengembangkan budaya memperhatikan aspek
keamanan dalam menggunakan setiap
fasilitas jaringan kepada seluruh
user/pengguna. Perlu diperhatikan bagi
administrator jaringan agar para pengguna
jaringan ikut menjaga keamanan
jaringan, misalnya dengan menerapkan disiplin
menggunakan login miliknya dan tidak
memberikannya kepada siapa pun,
mengganti password secara berkala, dan
hal-hal lain yang berguna untuk
membangun semangat untuk melindungi
jaringan secara bersama.
_ 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.
Pemilihan Password
Dengan adanya kemungkinan password
ditebak, misalnya dengan menggunakan
program password cracker, maka memilih
password memegang peranan yang
sangat penting dan memerlukan
perhatian khusus. Berikut ini adalah daftar hal-hal
yang sebaiknya tidak digunakan sebagai
password :
Nama orang, dan
hewan.
Nama komputer, nomor
telepon atau plat nomor kendaran.
Tanggal lahir, alamat
rumah, nama tempat yang terkenal.
Kata-kata yang
terdapat dalam kamus (misal : bahasa Indonesia, bahasa
Inggris).
Password dengan
karakter yang sama diulang-ulang
Password yang
mengurutkan penekanan tombol pada keyboard
Sebaiknya jangan menggunakan password
yang terdapat dalam kamus, atau katakata
yang umum digunakan. Gunakan kombinasi
huruf besar dan kecil, dan
gunakan angka atau karakter lainnya.
Password yang kita gunakan semakin
panjang tentu semakin baik. Panjang
password minimal secara default biasanya
adalah 7 karakter. Kita bisa mengeset
sesuai dengan kebutuhan kita (misal = 8
karakter). Untuk itu editlah file
/etc/login.defs dengan text editor favorit anda :
[root]# vi /etc/login.defs
kemudian pada bagian PASS_MIN_LEN 7
(ganti 7 dengan 8).
_ Dasar-dasar Enkripsi
Enkripsi adalah proses
pengubahan/konversi/penyandian suatu informasi ke bentuk
tertentu sehingga tidak
dimengerti/tidak dapat dimanfaatkan oleh pihak yang tidak
berhak. Enkripsi digunakan untuk
melindungi data. Dekripsi adalah kebalikan dari
proses enkripsi.
Data-data penting yang ada dan yang
anda kirimkan bisa diubah sedemikian rupa
sehingga tidak mudah disadap.
Jenis-jenis metode enkripsi ini banyak sekali, misal :
DES (Data Encryption System), PEM
(Privacy Enhanced Mail), PGP (Pretty Good
Privacy), SSL (Secure Socket Layer), MD5 dll
Banyak servis di Internet yang masih
menggunakan “plain text” untuk authentication,
seperti telnet. Informasi ini dapat
dilihat dengan mudah oleh program penyadap
(sniffer).
Aplikasi-aplikasi yang sering
digunakan untuk enkripsi antara lain :
SSH (Secure Shell),
merupakan aplikasi enkripsi digunakan terutama untuk
remote akses sebagai pengganti
telnet/rlogin.
Gpg (Encryption and
signing Tool), merupakan aplikasi enkripsi/dekripsi data.
Crypt, biasa terdapat
pada sistem berbasis Unix.
SSL, aplikasi
enkripsi data yang berbasis web.
PGP, aplikasi
enkripsi data yang berbasis email.
_ 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..
_ Situs-situs
Security di internet
Sudah menjadi kewajiban
administrator tentunya, untuk senantiasa mengikuti
perkembangan keamanan
jaringan sehingga tetap up to date. Kadang ditemukan
bug-bug terbaru yang dapat
dieksploit, dan patch lebih sering datang terlambat dan
baru dikeluarkan setelah
ditemukannya bug yang telah memakan korban.
Cukup banyak situs-situs
di internet yang berisi informasi, script, maupun program
dunia underground ini,
dari situs Indonesia sampai situs internasional. Yang cukup
terkenal antara lain :
http://www.cert.org
http://www.cert.or.id
http://www.rootshell.com
http://www.securityfocus.com
http://www.hackerlink.or.id
http://www.antionlione.com
Adapula situs yang
menawarkan scan secara online otomatis , di antaranya :
http://hackerwhacker.com