SNORT
Definisi
Snort
adalah Network IDS dengan 3 mode: sniffer, packet logger, and
network intrusion detection. Snort dapat juga dijalankan di background sebagai
sebuah daemon.
§ Cepat, flexible, dan open-source
§ Dikembangkan oleh : Marty Roesch, bisa
dilihat pada (www.sourcefire.com)
§ Awalnya dikembangkan di akhir 1998-an sebagai
sniffer dengan konsistensi output
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
perintah-nya
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).
Rule Snort
·
Rule
adalah kumpulan aturan perilaku snort pada
·
Disimpan
di : /rules/, ftp.rules,ddos.rules,virus.rule,
dll
·
Alert
tcp !10.1.1.0/24 any -> 10.1.1.0/24 any (flags:SF;msg:”SYN-FINscan”;)
·
Rule
header – aksi, protokol, IP source dan tujuan, port
source dan tujuan.
·
Rule
body – keywords dan arguments untuk memicu
alert
Detection Engine: Rules
Rule Header
Alert
any -> tcp 1.1.1.1 2.2.2.2 any
Alert
tcp 1.1.1.1 any -> 2.2.2.2 any
Alert
tcp 1.1.1.1 any -> 2.2.2.2 any
Rule Options
(flags:
SF; msg: “SYN-FIN Scan”;)
(flags:
S12; msg: “Queso Scan”;)
(flags:
F; msg: “FIN Scan”;)
Tahap-Tahap Rule :
ü Mengidentifikasi karakteristik dari trafik
yg dicurigai
ü Menulis rule berdasarkan karakteristik
ü Mengimplementasikan rule
ü Testing terhadap trafik yg dicurigai
ü Mengubah rule sesuai hasil testing
ü Testing dan mengecek hasilnya
Snort Rules
alert tcp $EXTERNAL_NET 27374 -> $HOME_NET any (msg:"BACKDOOR
subseven 22"; flags: A+;
content:
"|0d0a5b52504c5d3030320d0a|";
reference:arachnids,485;
reference:url,www.hackfix.org/subseven/;
sid:103;
classtype:misc-activity; rev:4;)
alert aksi : log, pass, activate,
dynamic
tcp protocol : udp, icmp, ip
$EXTERNAL_NET alamat asal (netID), juga bisa IP
host
27374 source port: any, negation (!21),
range (1:1024)
-> arah
$HOME_NET alamat tujuan
any port tujuan
alert tcp $EXTERNAL_NET 27374 -> $HOME_NET any (msg:"BACKDOOR
subseven 22"; flags: A+;
content:
"|0d0a5b52504c5d3030320d0a|";
reference:arachnids,485;
reference:url,www.hackfix.org/subseven/;
sid:103;
classtype:misc-activity; rev:4;)
msg:”BACKDOOR subseven 22”; pesan muncul
di log
flags: A+; tcp flags; pilihan lainnya : SA,
SA+, !R, SF*
content: “|0d0…0a|”; binary data untuk mengecek isi
paket
reference…; melihat background dari rule tsb
sid:1000003; rule identifier
classtype: misc-activity; rule type
rev:4; rule revision number
rule option lainnya : offset, depth, nocase
/etc/snort/rules/
bad-traffic.rules exploit.rules scan.rules
finger.rules ftp.rules telnet.rules
smtp.rules rpc.rules rservices.rules
dos.rules ddos.rules dns.rules
tftp.rules web-cgi.rules web-coldfusion.rules
web-frontpage.rules web-iis.rules web-misc.rules
web-attacks.rules sql.rules x11.rules
icmp.rules netbios.rules misc.rules
backdoor.rules shellcode.rules policy.rules
porn.rules info.rules icmp-info.rules
virus.rules local.rules attack-responses.rules
Konfigurasi SNORT
Aturan konfigurasi Snort
updatedb
locate snort.conf
(snort.conf terletak
pada folder /home/administrator/etc/)
cp
/home/administrator/etc/snort.conf /home/administrator/etc/snort.conf.old
vi
/home/administrator/etc/snort.conf
ganti perintah snort
pada baris
dynamicdetection
directory /usr/local/lib/snort_dynamicrules
menjadi
dynamicdetection
directory /home/administrator/snortrules
atau direktori lain yang
pertama dibuat sebelumnya
dan di bawah baris ini;
#output unified2:
filename merged.log, limit 128, nostamp,
mpls_event_types,
vlan_event_types
tambahkan;
output unified2:
filename snort.u2, limit 128
Download program
Barnyard
Download Barnyar di http://www.securixlive.com/download/barnyard2/barnyard2-1.8.tar.gz
mulai instalasi barnyard
sudo tar zxvf
barnyard2-1.8.tar.gz
cd barnyard2-1.8
sudo ./configure
–with-mysql
sudo make
sudo make install
sudo mkdir
/var/log/barnyard2
sudo chmod 666
/var/log/barnyard2
sudo touch
/var/log/snort/barnyard2.waldo
sudo chown snort.snort
/var/log/snort/barnyard2.waldo
modify barnyard2.conf
sudo vi
/usr/local/snort/etc/barnyard2.con
f
ganti letak perintah
pada baris-baris ini;
alt f2- sudo gedit-
config reference_file: /etc/snort/reference.config
alt f2-sudo gedit-
config classification_file: /etc/snort/classification.config
alt f2- sudo gedit-
config gen_file: /etc/snort/gen-msg.map
alt f2 sudo gedit-
config sid_file: /etc/snort/sid-msg.map
#config hostname: thor
#config interface: eth0
#output database: log,
mysql, user=root password=test dbname=db host=localh
dengan letak folder
snort yang sebelumnya digunakan yaitu administrator
config reference_file:
/home/administrator/etc/reference.config
config
classification_file: /home/administrator/etc/classification.config
config gen_file:
/home/administrator/etc/gen-msg.map
config sid_file:
/home/administrator/etc/sid-msg.map
config hostname:
localhost
config interface: eth1
(it’s according to your own interface)
output database: log,
mysql, user=snort password=YOURPASSWORD dbname=snort
host=localhost
mulai program snort
/usr/local/bin/snort -u
snort -g snort -c /home/administrator/etc/snort.conf -i eth1
Sumber :