2. Dastur va uning rejimlarini o'rganish Ushbu bo'limda biz SNORT tushunchalari va buyruqlarini batafsil muhokama qilamiz. Ushbu vazifani dasturning barcha kalitlarini aks ettiradigan oddiy buyruq bilan boshlaymiz:
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 -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 foydalanamiz:
–v: root @lord]# ./snort –v Shuni esda tutingki, 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'ini ko'rib chiqamiz:
root @lord]# snort -v -d -e -i eth0 -h 192.168.3.0/24 Bu erda biz C sinfi qismtarmog’ining 192.168.3.0-192.168.3.255 (qismtarmoq maskasi: 255.255.255.0) oralig'ini ko'rib chiqamiz. Buning ma'nosini tushunish uchun yuqoridagi buyruqni batafsil tahlil qilaylik:
'-v': konsolingizga batafsil javob yuboradi.
'-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 biz Snortda ogohlantirishlarni yaratamiz. 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 foydalaning. /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 sizning ekraningizda namoyish etiladi. Agar Snort ularni jurnaliga yozishini xohlasangiz, "-l" parametridan foydalaning va jurnallarni yozish uchun katalog nomini ko'rsating (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 foydalaning: root @lord]#snort -b -i eth0 -A fast -h 192.168.3.0/24 -s -l /var/log/snort Yuqoridagi buyruqlarda Snort sizning tarmoq segmentingizdagi barcha paketlarni qayd qiladi. Agar siz qoidalarga qarab faqat ayrim turdagi paketlarni ro'yxatdan o'tkazmoqchi bo'lsangiz, '-c' kalitidan foydalaning. root @lord]# snort -b -i eth0 -A fast -h 192.168.5.0/24 -s -l /var/log/snort -c /snort-rule-file. Nazorat savollari: 1. IDS nima? 2. Passiv va faol IDS larning farqi nimada? 3. SNORT nima? 4. SNORT qanday vazifalarni bajaradi? 5. SNORT qoidalari qanday ishlaydi? 6. SNORT uchun qoidalar qanday yaratiladi? 7. Nima uchun o'zingizga SNORT qoidalarini yaratasiz? 8. Nima uchun SNORT qoidalari yangilanishini yuklab olish kerak? 9. SNORT da log fayllarni qanday yaratish mumkin?