Sugeng Rawuh ^_^

" Mugi saking serat kedik menika saged maringi faedah kagem sederek sedaya"

Sabtu, 07 Januari 2012

SNORT


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

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 :