SNORT: mode IDS
Pertahanan di dunia cyber akan sangat mengandalkan sensor pendeteksi penyusup yang biasa di kenal sebagai Intrusion Detection System (IDS) seperti di terangkan di artikel tentang IDS. Ada beberapa IDS open source yang bisa kita gunakan untuk mendeteksi penyusup, salah satu yang paling populer adalah snort. Teknik instalasi snort telah di jelaskan dengan detail di artikel instalasi snort .
Kecanggihan snort yang berpenampilan sangat sederhana karena memang hanya CLI, akan tampak cemerlang pada saat kita operasikan sebagai pendeteksi penyusup atau dalam bahasa keren-nya Intrusion Detection System (IDS). Pada kesempatan ini, akan di jelaskan snort untuk mendeteksi penyusup.
Pada gambar di atas, di perlihatkan konfigurasi snort yang di operasikan untuk medeteksi penyusup. Snort bisa di operasikan sebagai sebuah mesin secara independen / berdiri sendiri, atau di pasang di titik-titik strategis di jaringan untuk menangkap paket yang berseliweran.
Kira-kira cara berfikir snort seperti anti-virus di komputer menganalisa file, snort menganalisa paket yang lewat dan di bandingkan dengan referensi serangan yang ada. Semua konfigurasi snort ada di /etc/snort. Secara umum snort akan membaca minimal 2 file penting, yaitu, snort.conf yang berisi konfigurasi snort, dan classification.config, yang berisi klassifikasi pelanggaran yang terjadi. Snort.conf yang akan menentukan bagaimana pola pendeteksian penyusup / serangan dilakukan. Daftar catatan pola serangan ada di folder /etc/snort/rules.
Berbasis pada snort.conf dan rules yang ada, maka snort akan mencatat alert yang ada di file alert dan juga akan merekam semua traffic yang dia dengar di snort.log yang nantinya bisa digunakan untuk kebutuhan forensik jaringan.
Konfigurasi snort.conf default biasanya mencukup untuk operasi sederhana. Mungkin yang justru akan banyak di ubah adalah file di bawah rules. Khususnya
/etc/snort/rules/local.rules
yang akan mencerminkan trap untuk jenis serangan tertentu.
Jika semua sudah di konfigurasi dengan benar maka untuk mengoperasikan snort sebagai IDS sebetulnya sangat mirip dengan snort untuk merekam / me-log traffic jaringan, hanya kita menambahkan switch -D untuk membuat snort sebagai daemon / server, misalnya menggunakan perintah
snort -c /etc/snort/snort.conf -l /var/log/snort/ -D
Untuk memastikan bahwa snort telah berjalan dengan baik, bisa ketik
ps ax
Cuplikan isi classification.config
# # config classification:shortname,short description,priority # config classification: not-suspicious,Not Suspicious Traffic,3 config classification: unknown,Unknown Traffic,3 config classification: bad-unknown,Potentially Bad Traffic, 2 config classification: attempted-recon,Attempted Information Leak,2 config classification: successful-recon-limited,Information Leak,2 config classification: successful-recon-largescale,Large Scale Information Leak,2 config classification: attempted-dos,Attempted Denial of Service,2 config classification: successful-dos,Denial of Service,2 config classification: attempted-user,Attempted User Privilege Gain,1 config classification: unsuccessful-user,Unsuccessful User Privilege Gain,1 config classification: successful-user,Successful User Privilege Gain,1 config classification: attempted-admin,Attempted Administrator Privilege Gain,1 config classification: successful-admin,Successful Administrator Privilege Gain,1 # NEW CLASSIFICATIONS config classification: rpc-portmap-decode,Decode of an RPC Query,2 config classification: shellcode-detect,Executable code was detected,1 config classification: string-detect,A suspicious string was detected,3 config classification: suspicious-filename-detect,A suspicious filename was detected,2 config classification: suspicious-login,An attempted login using a suspicious username was detected,2 config classification: system-call-detect,A system call was detected,2 config classification: tcp-connection,A TCP connection was detected,4 config classification: trojan-activity,A Network Trojan was detected, 1
Cuplikan berbagai file di /etc/snort/rules
root@server1604:/etc/snort/rules# dir attack-responses.rules community-nntp.rules deleted.rules netbios.rules sql.rules backdoor.rules community-oracle.rules dns.rules nntp.rules telnet.rules bad-traffic.rules community-policy.rules dos.rules oracle.rules tftp.rules chat.rules community-sip.rules experimental.rules other-ids.rules virus.rules community-bot.rules community-smtp.rules exploit.rules p2p.rules web-attacks.rules community-deleted.rules community-sql-injection.rules finger.rules policy.rules web-cgi.rules community-dos.rules community-virus.rules ftp.rules pop2.rules web-client.rules community-exploit.rules community-web-attacks.rules icmp-info.rules pop3.rules web-coldfusion.rules community-ftp.rules community-web-cgi.rules icmp.rules porn.rules web-frontpage.rules community-game.rules community-web-client.rules imap.rules rpc.rules web-iis.rules community-icmp.rules community-web-dos.rules info.rules rservices.rules web-misc.rules community-imap.rules community-web-iis.rules local.rules scan.rules web-php.rules community-inappropriate.rules community-web-misc.rules misc.rules shellcode.rules x11.rules community-mail-client.rules community-web-php.rules multimedia.rules smtp.rules community-misc.rules ddos.rules mysql.rules snmp.rules