Amaliy qism
Mavzuning amaliy qismida dasturni oʻrnatish, shuningdek,
asosiy va qoʻshimcha sozlamalarni oʻrnatish koʻrib chiqiladi.
223
Snort dasturining asosiy sayti - http://www.snort.org. Snort
muallif Martin Roes tomonidan GNU GPL litsenziyasi ostida
tarqatiladi. Arxivni yuklagandan soʻng uni snort-1.7 katalogiga ochish
kerak:
root @lord]# tar -zxvf snort-1.7.tar.gz
Libpcapni yuklab olgandan soʻng, uni arxivdan ochish kerak.
Libbacp katalogiga kirib va quyidagi amallarni bajariladi:
root @lord]# ./configure root @lord]# make
Endi, snort kompilyatsiya qilish kerak. Buning uchun Snort
joylashgan katalogga kirib va quyidagi buyruqni bajarish lozim:
root @lord]# ./configure --with-libpcap-includes=/path/to/libpcap/ {* in
my case it was :
root@lord./configure--with-libpcap-includes=/home/dood/libpcap}
root @lord]# make root @lord]# make install
Ushbu jarayondan soʻng Snort kompyuterda oʻrnatiladi.
Endi
Snort jurnal fayllarini saqlaydigan katalog yaratish kerak:
root @lord]#mkdir /var/log/snort
Dastur qayerda oʻrnatilganligini tasdiqlash uchun quyidagilarni
bajarish kerak:
root @lord]# whereis snort
Snort arxitekturasi uchta asosiy tarkibiy qismga ega, ularni
quyidagicha tavsiflash mumkin:
1. Paket dekoderi: ushlangan paketlarni ma'lumotlar turi
shaklida tayyorlaydi, keyinchalik ularni aniqlash mexanizmi
yordamida qayta ishlashi mumkin. Paket dekoderi Ethernet, SLIP va
PPP paketlarini qayd etishi mumkin.
2. Aniqlash mexanizmi: Snort qoidalari asosida unga "dekoder"
tomonidan yuborilgan paketlarni tahlil qiladi va qayta ishlaydi.
Snortning funksionalligini oshirish uchun oʻzgaruvchan modullarni
aniqlash mexanizmiga kiritish mumkin.
224
3. Logger/Alerter: Registrator siz oʻqigan formatda paket
dekoder tomonidan toʻplangan ma'lumotlarni yozib olish imkonini
beradi.
Odatda,
roʻyxatdan
oʻtish
fayllari
katalogda
saqlanadi:/var/log/Snort.
Ogohlantirish mexanizmi ogohlantirishlarni syslog, fayl, Unix
soketlari yoki ma'lumotlar bazasiga yuboradi. Odatda, barcha
ogohlantirishlar faylda saqlanadi:
/var/log/Snort/alerts.
Dastur va uning rejimlarini oʻrganish.Ushbu boʻlimda SNORT
tushunchalari va buyruqlarini batafsil muhokama qilinadi. Ushbu
vazifa dasturning barcha kalitlarini aks ettiradigan oddiy buyruq bilan
boshlanadi:
root@lord snort -?
Buyruq quyidagilarni beradi:
-*> Snort! <*-
Version 1.7
By Martin Roesch (roesch@clark.net, www.snort.org)
USAGE: snort [-options]
Options:
-A Set alert mode: fast, full, or none (alert file alerts only)
'unsock' enables UNIX socket logging (experimental).
-a Display ARP packets
-b Log packets in tcpdump format (much faster!)
-c Use Rules File
-C Print out payloads with character data only (no hex)
-d Dump the Application Layer
-D Run Snort in background (daemon) mode
-e Display the second layer header info
-F Read BPF filters from file
-g Run snort gid as 'gname' user or uid after initialization
-h Home network =
-i Listen on interface
-l Log to directory
-n Exit after receiving packets
-N Turn off logging (alerts still work)
-o Change the rule testing order to Pass|Alert|Log
-O Obfuscate the logged IP addresses
225
-p Disable promiscuous mode sniffing
-P set explicit snaplen [sp? -ed.] of packet (default: 1514)
-q Quiet. Don't show banner and status report
-r Read and process tcpdump file
-s Log alert messages to syslog
Yuqorida aytib oʻtilganidek, SNORT uch xil rejimda ishlaydi:
1. Paketli sniffer rejimi: Snort ushbu rejimda ishlayotgan
boʻlsa, u barcha tarmoq paketlarini oʻqiydi va deshifrlaydi va stdout
(ekraningiz) ga dump hosil qiladi. Snortni sniffer rejimiga oʻtkazish
uchun quyidagi kalitdan foydalaniladi:
–v: root @lord]# ./snort –v
Shuni esda tutish kerakki, ushbu rejimda faqat paket
sarlavhalari koʻrsatiladi. Toʻplamning sarlavhasini va mazmunini
koʻrish uchun quyidagi buyruq kiritiladi:
root @lord]# ./snort -X
2. Paketni roʻyxatdan oʻtkazish rejimi: Ushbu rejim paketlarni
diskka yozib oladi va ularni ASCII formatida kodlaydi.
root @lord]# Snort -l < directory to log packets to >
3. Ruxsatsiz kirishni aniqlash rejimi: Signal ma'lumotlari
aniqlash mexanizmi tomonidan roʻyxatga olinadi (standart jurnal
katalogida "alert" deb nomlangan fayl, lekin syslog, Winpop xabarlari
va boshqalar ham boʻlishi mumkin). Standart jurnal katalogi -
/var/log/snort koʻrinishida boʻladi, lekin "- l" kaliti yordamida
oʻzgartirilishi mumkin. Endi paketni tahlil qilish uchun odatiy Snort
buyrugʻi koʻrib chiqiladi:
root @lord]# snort -v -d -e -i eth0 -h 192.168.3.0/24
Bu yerda C sinfi qismtarmogʻining 192.168.3.0-192.168.3.255
(qismtarmoq maskasi: 255.255.255.0) oraligʻini koʻrib chiqish lozim.
Buning ma'nosini tushunish uchun yuqoridagi buyruqni batafsil tahlil
qilish kerak:
'-v': konsol batafsil javob yuboradi.
226
'-d': dekodlangan dastur qatlami ma’lumotlarining borini hosil
qiladi
'-e': dekodlangan Ethernet sarlavhalarini koʻrsatadi.
'-i': paketni tahlil qilish uchun tekshiriladigan interfeysni
belgilaydi.
'-h': boshqariladigan tarmoqni belgilaydi.
Keyingi misolda Snortda ogohlantirishlar yaratiladi. Snort
ogohlantirish rejimlari uchta asosiy guruhga ega:
a. Tez: "alert" fayliga ogohlantirishlarni bitta satrda, xuddi
syslog singari yozadi.
b. Toʻliq: Toʻliq sarlavha dekodlangan holda 'alert' faylini
yuborish uchun ogohlantirishlarni yozadi.
v. None: - ogohlantirish bermaydi, soʻngra buyruq quyidagiga
oʻzgaradi:
root @lord]# snort -v -d -e -i eth0 -h 192.168.3.0/24 -A fast
Syslog signal xabarlarini yuborish uchun oʻrniga ‘-s ‘ kalitidan
foydalaniladi.
/var/log/safe yoki /var/log/messages ogohlantirishlar quyidagi
buyruqda paydo boʻladi:
root @lord]# snort -v -d -e -i eth0 -h 192.168.3.0/24 –s
Hozirgacha barcha ushlab olingan va tahlil qilingan paketlar
ekranda namoyish etiladi. Agar Snort ularni jurnaliga yozishi kerak
boʻlsa, "-l" parametridan foydalaniladi va jurnallarni yozish uchun
katalog nomi koʻrsatiladi (masalan /var/log/snort):
root @lord]#snort -v -d -e -i eth0 -h 192.168.3.0/24 -A full -l
/var/log/snort
Paketlarni tcpdump formatida roʻyxatdan oʻtkazish va minimal
ogohlantirishlarni yaratish uchun '-b' kalitidan foydalanish mumkin:
root @lord]#snort -b -i eth0 -A fast -h 192.168.3.0/24 -s -l
/var/log/snort
Yuqoridagi buyruqlarda Snort tarmoq segmentidagi barcha
paketlarni qayd qiladi. Agar qoidalarga qarab faqat ayrim turdagi
227
paketlarni roʻyxatdan oʻtkazish kerak boʻlsa, '-c' kalitidan
foydalaniladi.
root @lord]# snort -b -i eth0 -A fast -h 192.168.5.0/24 -s -l
/var/log/snort -c /snort-rule-file.
|