Modul 5
Intrusion Detection System (Snort)
TUJUAN PEMBELAJARAN
1.
Mengenalkan pada mahasiswa
tentang konsep Intrusion Detection System
2.
Mahasiswa mampu melakukan
installasi dan konfigurasi SNORT sebagai tools IDS
3.
Mahasiswa mampu membangun rule
baru untuk mendeteksi eksploit terbaru
DASAR TEORI
Deteksi
Penyusupan (Intrusion Detection)
Deteksi
penyusupan adalah aktivitas untuk mendeteksi penyusupan secara cepat dengan
menggunakan program khusus yang otomatis. Program yang dipergunakan biasanya
disebut sebagai Intrusion Detection System (IDS).
Tipe dasar
dari IDS adalah:
·
Rule-based systems -
berdasarkan atas database dari tanda penyusupan atau serangan yang telah
dikenal. Jika IDS mencatat lalulintas yang sesuai dengan database yang ada,
maka langsung dikategorikan sebagai penyusupan.
·
Adaptive systems -
mempergunakan metode yang lebih canggih. Tidak hanya berdasarkan database yang
ada, tapi juga membuka kemungkinan untuk mendeteksi terhadap bentuk bentuk
penyusupan yang baru.
Bentuk yang
sering dipergunakan untuk komputer secara umum adalah rule-based systems.
Pendekatan yang dipergunakan dalam rule-based systems ada dua, yakni pendekatan
pencegahan (preemptory) dan pendekatan reaksi (reactionary). Perbedaannya hanya
masalah waktu saja. Pendekatan pencegahan, program pendeteksi penyusupan akan
memperhatikan semua lalu lintas jaringan. Jika ditemukan paket yang
mencurigakan, maka program akan melakukan tindakan yang perlu. Pendekatan
reaksi, program pendeteksi penyusupan hanya mengamati file log. Jika ditemukan
paket yang mencurigakan, program juga akan melakukan tindakan yang perlu.
Snort
Mengoperasikan Snort
Tiga (3) buah
mode, yaitu
1.
Sniffer mode, untuk melihat
paket yang lewat di jaringan.
2.
Packet logger mode, untuk
mencatat semua paket yang lewat di jaringan untuk di analisa di kemudian hari.
3.
Intrusion Detection mode, pada
mode ini snort akan berfungsi untuk mendeteksi serangan yang dilakukan melalui
jaringan komputer. Untuk menggunakan mode IDS ini di perlukan setup dari
berbagai rules / aturan yang akan membedakan sebuah paket normal dengan paket
yang membawa serangan.
Sniffer Mode
Untuk
menjalankan snort pada sniffer mode tidaklah sukar, beberapa contoh perintahnya
terdapat di bawah ini,
#snort –v
#snort –vd
#snort –vde
#snort –v –d –e
dengan
menambahkan beberapa switch –v, -d, -e akan menghasilkan beberapa keluaran yang
berbeda, yaitu
-v, untuk melihat header TCP/IP paket yang lewat.
-d, untuk melihat isi paket.
-e, untuk melihat header link layer paket seperti ethernet header.
Packet Logger Mode
Tentunya
cukup melelahkan untuk melihat paket yang lewat sedemikian cepat di layar
terutama jika kita menggunakan ethernet berkecepatan 100Mbps, layar anda akan
scrolling dengan cepat sekali susah untuk melihat paket yang di inginkan. Cara
paling sederhana untuk mengatasi hal ini adalah menyimpan dulu semua paket yang
lewat ke sebuah file untuk di lihat kemudian, sambil santai … Beberapa perintah
yang mungkin dapat digunakan untuk mencatat paket yang ada adalah
./snort –dev –l ./log
./snort –dev –l ./log –h 192.168.0.0/24
./snort –dev –l ./log –b
perintah yang
paling penting untuk me-log paket yang lewat adalah
-l ./log
yang
menentukan bahwa paket yang lewat akan di log / di catat ke file ./log.
Beberapa perintah tambahan dapat digunakan seperti –h 192.168.0.0/24 yang
menunjukan bahwa yang di catat hanya packet dari host mana saja, dan –b yang
memberitahukan agar file yang di log dalam format binary, bukan ASCII.
Untuk membaca
file log dapat dilakukan dengan menjalankan snort dengan di tambahkan perintah
–r nama file log-nya, seperti,
./snort –dv –r packet.log
./snort –dvr packet.log icmp
Intrusion Detection Mode
Mode operasi
snort yang paling rumit adalah sebagai pendeteksi penyusup (intrusion
detection) di jaringan yang kita gunakan. Ciri khas mode operasi untuk
pendeteksi penyusup adaah dengan menambahkan perintah ke snort untuk membaca
file konfigurasi –c nama-file-konfigurasi.conf. Isi file konfigurasi ini
lumayan banyak, tapi sebagian besar telah di set secara baik dalam contoh
snort.conf yang dibawa oleh source snort.
Beberapa
contoh perintah untuk mengaktifkan snort untuk melakukan pendeteksian penyusup,
seperti
./snort –dev –l ./log –h 192.168.0.0/24 –c snort.conf
./snort –d –h 192.168.0.0/24 –l ./log –c snort.conf
Untuk
melakukan deteksi penyusup secara prinsip snort harus melakukan logging paket
yang lewat dapat menggunakan perintah –l nama-file-logging, atau membiarkan
snort menggunakan default file logging-nya di directory /var/log/snort.
Kemudian menganalisa catatan / logging paket yang ada sesuai dengan isi
perintah snort.conf.
Ada beberapa
tambahan perintah yang akan membuat proses deteksi menjadi lebih effisien,
mekanisme pemberitahuan alert di Linux dapat di set dengan perintah –A sebagai
berikut,
-A fast, mode alert yang cepat berisi waktu, berita, IP & port
tujuan.
-A full, mode alert dengan informasi lengkap.
-A unsock, mode alert ke unix socket.
-A none, mematikan mode alert.
Untuk
mengirimkan alert ke syslog UNIX kita bisa menambahkan switch –s, seperti tampak
pada beberapa contoh di bawah ini.
./snort –c snort.conf –l ./log –s –h 192.168.0.0/24
./snort –c snort.conf –s –h 192.168.0.0/24
Untuk
mengirimkan alert binary ke workstation windows, dapat digunakan perintah di bawah
ini,
./snort –c snort.conf –b –M WORKSTATIONS
Agar snort beroperasi
secara langsung setiap kali workstation / server di boot, kita dapat menambahkan
ke file /etc/rc.d/rc.local perintah di bawah ini
/usr/local/bin/snort –d –h 192.168.0.0/24 –c /root/snort/snort.conf
–A full –s –D
atau
/usr/local/bin/snort –d –c /root/snort/snort.conf –A full –s –D
dimana –D
adalah switch yang menset agar snort bekerja sebagai Daemon (bekerja dibelakang
layar).
TUGAS PENDAHULUAN
1.
Sebutkan dan jelaskan dengan
singkat apa yang disebut dengan konsep IDS ?
IDS (Intrusion Detection System) adalah sebuah
sistem yang melakukan pengawasan terhadap traffic jaringan dan pengawasan
terhadap kegiatan-kegiatan yang mencurigakan didalam sebuah sistem jaringan.
Jika ditemukan kegiatankegiatan yang mencurigakan berhubungan dengan traffic
jaringan maka IDS akan memberikan peringatan kepada sistem atau administrator
jaringan. Dalam banyak kasus IDS juga merespon terhadap traffic yang tidak
normal/ anomali melalui aksi pemblokiran seorang user atau alamat IP (Internet
Protocol) sumber dari usaha pengaksesan jaringan.
2.
Sebutkan fasilitas kemampuan
yang dimiliki snort !
Snort ini mempunyai kemampuan untuk mengexport log ke bentuk
database, ada beberapa database yang dapat digunakan, kayak MySQL, PostgreSQL,
oracle, MSSQL dan odbc.
Snort yang berbasis jaringan intrusion detection system (NIDS)
memiliki kemampuan untuk melakukan real-time analisis lalu lintas dan paket
logging pada Internet Protocol (IP) jaringan. Snort melakukan analisis
protokol, pencarian isi, dan pencocokan konten. Program ini juga dapat
digunakan untuk mendeteksi probe atau serangan, termasuk, namun tidak terbatas
pada, upaya sistem operasi sidik jari, antarmuka gateway umum, buffer
overflows, probe server pesan blok, dan port scan siluman.
Snort log adalah kemampuan untuk memotong dan menyisipkan berbagai
mendeteksi ke dalam pesan e-mail yang akan dikirim ke analis lain, CIRT Anda,
atau pihak yang bersalah.
Snort memiliki karakteristik, sebagai berikut:
1.
Berukuran kecil – Source code
dan rules untuk rilis 2.1.1 hanya 2256k.
2.
Portable untuk banyak OS –
Telah diporting ke Linux, Windows, OSX, Solaris, BSD,dll.
3.
Cepat – Snort mampu mendeteksi
serangan pada network 100Mbps.
4.
Mudah dikonfigurasi – Snort
sangat mudah dikonfigurasi sesuai dengan kebutuhan network kita. Bahkan kita
juga dapat membuat rule sendiri untuk mendeteksi adanya serangan baru.
5.
Free – Kita tidak perlu membayar sepeser pun
untuk menggunakan snort. Snort bersifat open source dan menggunakan lisensi
GPL.
3.
Jelaskan cara installasi dan
konfigurasi snort !
Untuk menginstall snort gunakan perintah #apt-get install snort
4.
Jelaskan cara membuat rule baru
di snort !
Membuat rule baru yaitu alltcp.rules dan simpan di /etc/snort/rules
dengan menggunakan perintah # gedit /etc/snort/rules/alltcp.rules
PERCOBAAN
1.
Konfigurasi sesuai dengan
topologi yang diminta :
·
Gunakan dhclient di
masing-masing PC untuk i dmendapatkan IP dari router.
·
192.168.50.x & y : IP dari
router
·
Pilih 192.168.50.x sebagai PC
Server yang akan dipasangi snort
·
Pilih 192.168.50.y sebagai PC
Client
2.
Lakukan instalasi snort pada PC
Server
# apt-get install snort
Masukkan range network yang akan dianalisa :
Address range for the local network :
192.168.0.0/16
3.
Manjalankan snort
a.
Bekerjalah dengan kelompok anda,
salah satu menjalankan snort (PC Server) dan yang lain menjalankan aplikasi
yang lain (PC Client).
b.
Jalankan perintah ping dan nmap
dari PC Client ke PC Server.
c.
Jalankan snort dengan
menggunakan mode sniffer
#snort –v
#snort –vd
#snort –vde
#snort –v –d –e
Ket : Running in packet dump mode
Jelaskan perbedaan hasil dari option di atas.
Perbedaan hasil di atas terletak pada packet wire totals nya. Setiap
perintah menghasilkan packet wire total yang berbeda.
d.
Untuk mempermudah pembacaan
masukkan hasil snort ke dalam file, jalankan perintah berikut :
#snort –dev –i eth0 –L /var/log/snort/snort.log
Ket : Running in packet logging mode
Akan menghasilkan sebuah file di folder
/var/log/snort, lihat dengan perintah :
# ls /var/log/snort
e.
Untuk membaca file snort (misal
: snort.log.1234) berikan option –r pada snort
# snort -dev -r /var/log/snort/snort.log.1234
5.
Menjalankan snort dengan mode
NIDS (Network Intrusion Detection System)
a.
Opsi e, dihilangkan karena kita
tidak perlu mengetahui link layer MAC. Opsi v dihilangkan juga, jalakan
menggunakan option sbb :
#snort -d -h 192.168.1.0/24 -l /var/log/snort -c
/etc/snort/snort.conf
Ket : Running in IDS mode
b.
Bekerjasamalah dengan rekan
anda. Sekarang coba jalankan scanning dari komputer lain (PC Client) dengan
nmap menuju komputer yang anda pasangi snort (PC Server). Terlebih dulu
jalankan snort dengan mode NIDS, kemudian lakukan scanning dengan perintah :
# snort -d -h 192.168.1.0/24 host <no_ip_snort> -l
/var/log/snort –c /etc/snort/snort.conf
#nmap -sS -v <no_ip_snort>
c.
Lihatlah apakah scan anda
terekam oleh snort. Jika iya, copy paste hasil snort pada bagian scanning SYN.
Untuk melihat, gunakan perintah :
# snort –dev –r <nama-log-file> | more
Apakah scanning ini ditandai sebagai alert ? Coba lihat di
/var/log/snort,
gunakan perintah :
# vim /var/log/snort/alert
d.
Jalankan snort. Buka halaman
web. Apakah ini terdeteksi sebagai alert?
e.
Sekarang coba ubah rule snort.
Buat rule baru yaitu alltcp.rules dan simpan di
/etc/snort/rules
# vim /etc/snort/rules/alltcp.rules
alert tcp any any -> any any (content:”www.facebook.com”;
msg:”Someone is visiting Facebook”;sid:1000001;rev:1;)
alert tcp any any -> any any (msg:"TCP
Traffic";sid:1000002;rev:0;)
Apa artinya ?
Ket : any any (host
port), sid harus lebih dari 1 juta, rev mulai dari 0.
f.
Coba lihat snort.conf. Beri
tanda # pada semua rule lain dan tambahkan rule anda yaitu : alltcp.rules.
# vim /etc/snort/snort.conf
include $RULE_PATH/alltcp.rules
g.
Lakukan restart aplikasi snort
anda :
# /etc/init.d/snort restart
h.
Bukalah halaman web untuk
mengakses “www.facebook.com”, lihatlah apakah ada tanda sebagai alert atau
tidak
i.
Coba lakukan scanning seperti
perintah b. Lihatlah apakah ada tanda sebagai alert atau tidak
Untuk mengetahui beberapa baris terakhir dari
informasi alert :
# tail –f /var/log/snort/alert
j.
Apa yang dapat anda simpulkan
dari langkah diatas ?
LAPORAN RESMI
1.
Berikan kesimpulan hasil
praktikum yang anda lakukan.
2.
Download rule terbaru di snort
dan bandingkan dengan rule yang lama, apa saja perubahan yang ada !
3.
Jelaskan rule apa saja yang
bisa didekteksi oleh snort !
4.
Untuk mempermudah pembacaan
data snort dimungkinkan dimasukkan dalam database, carilah artikel tentang
konfigurasi snort menggunakan database
5.
Jelaskan juga aplikasi yang
bisa dipakai untuk membaca database snort!
Tidak ada komentar:
Posting Komentar