Snort yordamida korporativ tarmoq xavfsizligi. Bosqinlarni aniqlash tizimlari Snort oynalari bilan qanday ishlash kerak

Kirish

Ushbu maqolaning asosiy maqsadi mashhur Snort IDS ilovasini tavsiflash va o'rganishdir. Snort - bu ko'plab tarmoq ma'murlari tomonidan zararli imzolarni qo'lga olish va tarmoq hujumlari haqida ogohlantirish uchun foydalaniladigan katta ochiq kodli loyiha. Snort tarmoq interfeyslaridan barcha trafikni to'xtatadi, paketlarni shubhali so'rovlar, bosqinga urinishlar uchun tekshiradi.

Uning asosiy afzalligi - mavjudlik va o'z ish tarmog'ingiz uchun uning ishini tahrirlash qobiliyati. Dastur kichik va yirik tashkilotlarda ishlash uchun mo'ljallangan. Shuningdek, ma'lum bir tashkilotning xavfsizlik talablariga (masalan, xodimlarning ijtimoiy tarmoqlarga kirishini taqiqlash) asoslanib, o'zingizning noyob qoidalaringizni tahrirlash qobiliyati ham muhimdir.

Kamchiliklardan ba'zi operatsion tizimlarda (masalan, Windows) sozlash va o'rnatishning noqulayligini, sozlamalarning yagona to'liq va batafsil tavsifining yo'qligi va o'z qoidalarini ishlab chiqishni ajratib ko'rsatish mumkin.

Bundan tashqari, noto'g'ri signallarni o'chirish juda qiyin, chunki turli korxonalarda turli xil cheklovlar bo'lishi odatiy hol emas va qoidalarni juda nozik sozlash talab etiladi. Katta-kichik klavishlar yordamida ilovalarni ishga tushirishning ko'p rejimlarini eslab qolish juda qiyin va xato chiqishiga olib kelishi mumkin.

Ushbu ishning asosiy vazifasi IDS Snort ning funksional xususiyatlarini tushunish, unga turli xil tarmoq hujumlarini amalga oshirish orqali dasturning ishlashini tekshirish. Qulayroq formatda shunga o'xshash IDS mavjudligini bilib oling. Snort ma'lumotlar bazalari bilan qanday o'zaro ta'sir qiladi. Ba'zi noyob qoidalarni ishlab chiqing va ularni samaradorlik uchun sinab ko'ring.

IDS Snortni o'rnatish va sozlash

Snort: Windows XP da o'rnatish

Snort-ni Windows operatsion tizimiga o'rnatishda ba'zi qiyinchiliklar paydo bo'lishi mumkin. Shuning uchun, bu ish o'rnatish va konfiguratsiya opsiyalarining juda batafsil qismiga bag'ishlangan. Avval siz kerakli dasturlarni ishlaydigan kompyuteringizga yuklab olishingiz kerak.

Snort uchun qoidalar.

Yuqorida aytilganlarning barchasi ushbu ilovalarning rasmiy veb-saytlaridan yuklab olingan.

Winpcap - yadro darajasida paketlarni ushlaydigan va filtrlaydigan dastur. U o'rnatilgan Unix drayveri libpcapga o'xshaydi. O'rnatish hech qanday noqulaylik tug'dirmaydi, u oddiy o'rnatuvchi orqali ishga tushiriladi. Shundan so'ng, siz IDS-ni rasmiy saytdan yuklab olishingiz kerak, shundan so'ng biz u erdan qoidalar bilan yangi arxivni yuklab olamiz. Keyingi qadam, arxivda bo'lgan barcha papkalarni qoidalar bilan ilovaning ildiz katalogiga to'liq nusxalash va kerakli joyda tarkibni to'liq almashtirishdir. Keyin dasturning to'g'ri ishlashi uchun konfiguratsiya faylida muhim o'zgarishlar qilish kerak bo'ladi.

var RULE_PATH c:snort ules

var SO_RULE_PATH c:snortso_rules

var PREPROC_RULE_PATH c:snortpreproc_rules

dynamicpreprocessor katalogi c:snortlibsnort_dynamicpreprocessor

dynamicengine c:snortlibsnort_dynamicenginesf_engine.dll

#dynamicdetection katalogi /usr/local/lib/snort_dynamicrules

Biz konfiguratsiya faylida shunga o'xshash qatorlarni topamiz va ularni yuqorida keltirilganlar bilan almashtiramiz. Shundan so'ng biz dasturni sinab ko'rishga harakat qilamiz. Biz buyruq satrini boshlaymiz va "bin" bo'limidagi dastur katalogiga o'tamiz. "Snort -W" buyrug'ini kiriting

Guruch. 1.1.

Ushbu buyruq yordamida biz interfeyslarimizni ko'rish uchun dasturning sog'lig'ini tekshiramiz. Ularning bir nechtasi borligiga ishonch hosil qilganimizdan so'ng, paketlarni ushlab qolish va IDS ishlashini kuzatishni boshlash uchun ishchi tarmoqqa ulanganini tanlaymiz.

C:Snortinsnort -i 3 -c C:snortetcsnort.conf -l C:snortlog -A konsol

Endi biz kiritgan buyruqni tahlil qilaylik. "-i 3" interfeyslar ro'yxatida ID= 3 bo'lgan interfeysni ko'rib chiqamiz. Keyin biz konfiguratsiya fayliga yo'lni va qo'lga kiritilgan paketlarning "jurnalini" yozish kerak bo'lgan katalogga yo'lni ko'rsatdik. "-Konsol" signal paketlari konsolimizda aniqlanishini anglatadi. Qayta ishlash jarayonida biron bir muammo yuzaga kelsa, biz ularni aniqlash jarayonida yo'q qilamiz. Snort satr va qurilish xatosining turini belgilaydi. Agar hamma narsa ishlagan bo'lsa, unda ishlaydigan qoidalardan biri ishlamaguncha biz hech narsani ko'rmaymiz. Ulardan birini ishlatish uchun, keling, tarmoq hujumini simulyatsiya qilishga va mahalliy tarmog'imiz orqali shubhali paketni ishga tushirishga harakat qilaylik. Buni amalga oshirish uchun, masalan, buyruq satrini oching va quyidagilarni kiriting: "Ping 192.168.1.16". Snort 192.168.1.1624-da xostni tinglashga urinishni to'xtatadi va shubhali tarmoq faoliyati haqida xabar va ma'lumotni chop etadi. Afsuski, bunday IDS tizimlari kuchli kamchiliklarga ega - bu noto'g'ri musbatlar. Shu munosabat bilan, Snort foydali bo'lishi va chalg'itmasligi uchun qoidalarni aniq va aniq belgilash va ushbu noto'g'ri ijobiy holatlarning oldini olish uchun ko'riladigan tarmoqlarni chegaralash kerak.


Guruch. 1.2.

Endi bizning IDS ishlayotgan konsolda "tinglash" ga o'xshash shubhali paket haqida xabarlar bo'ladi. Ushbu qoida Snortning to'liq ishlayotganligini ko'rsatdi. Uning ishlash rejimlarini va keyingi ish uchun qoidalar sintaksisini ko'rib chiqing.

1. IDS nima.

Bugungi kunda, xakerlar tavsifi, shuningdek, maqolalar, ekspluatatsiyalar, bir xil mavzudagi dasturlar mavjud bo'lgan ko'plab saytlar mavjud bo'lganda, serverlarni buzishga urinishlar tez-tez uchrab turadi. Oxir oqibat, o'zini xaker deb hisoblaydigan har qanday foydalanuvchi sizga yangi yuklangan ekspluatatsiyani sinab ko'rishi va serveringiz ustidan nazoratni qo'lga kiritishi mumkin. Bu, albatta, oson emas, lekin baribir ...

Hujumlar haqida bilish yoki serverda sodir bo'layotgan barcha voqealardan xabardor bo'lish uchun ko'plab administratorlar har kuni jurnallarni ko'zdan kechiradilar. Ammo, masalan, Apache veb-serverining log fayli kuniga 10 Mb ga oshganida, siz server xavfsizligini kuzatish jarayonini avtomatlashtirishingiz kerak. Yechimlardan biri IDS - buzg'unchilikni aniqlash tizimlari bo'lib, ularning samaradorligi so'nggi bir necha yil ichida sezilarli darajada oshdi va endi ular har qanday tarmoq himoyasining ajralmas qismi hisoblanadi.

IDS (Intrusion Detection System) ning ko'p turlaridan ikkitasini ajratib ko'rsatish mumkin: protokol tahliliga asoslangan(standartlarga mos kelmaydigan paketlarni aniqlash) va imzo tahliliga asoslangan(paketlarda hujum imzosi qidiriladi - bu paket zararli trafikka tegishli ekanligini ko'rsatuvchi qator (namuna). Bunday IDS NIDS (Network Intrusion Detection System) deb ataladi. Umuman olganda, NIDS ning ishlash prinsipini quyidagicha ta'riflash mumkin. : barcha trafik zararli ma'lumotlarni o'z ichiga olgan paketlar mavjudligi uchun tahlil qilinadi va agar bunday paket topilsa, u holda turli xil signalizatsiya harakatlari amalga oshiriladi (konsolda xabar ko'rsatiladi, xat yuboriladi, jurnalga yoziladi, Winpopup xabari yuborilgan va h.k.) Ikkala turdagi IDS ham o'zining afzalliklari va kamchiliklariga ega, masalan, paketni tahlil qilish uchun mavjud shaklga aylantirish tufayli protokol tahlili sekinroq. standartlar qayd etiladi. Imzo tahliliga asoslangan IDS tezroq va bundan tashqari, ularni sozlash va yangilash oson (men yangi zaiflikni ko‘rdim, uni bazaga qo‘shdim va sizning IDSingiz uni topadi.) Lekin IDS dan foydalangan ma’qul. tahlil qilishning ikkita usuli, bu haqiqatan ham ajoyib natija beradi.

2. IDSning umumiy ko'rinishi

Hozirgi vaqtda juda ko'p IDS mavjud bo'lib, ularning har biri o'ziga xos fazilatlar va kamchiliklarga ega. Men ulardan ba'zilarining qisqacha tavsifini beraman (dasturlar haqidagi ushbu ma'lumotlar www.opennet.ru saytidan olingan, u erda siz ushbu IDSning barchasini topishingiz mumkin):

PortSentry

Real vaqt rejimida serverning UDP va TCP portlarini skanerlash urinishlarini aniqlash va bloklash imkonini beruvchi dastur. Yashirin portni skanerlash urinishlari (SYN/yarim ochiq, FIN, NULL, X-MAS, oddball) ham aniqlanadi.

"Bufer to'lib ketishi, yashirin port skanerlari, CGI hujumlari, SMB problari, OS barmoq izini olish urinishlari" kabi hujumlar o'tgan paketlarni tahlil qilish va kuzatish (ro'yxatga olish) tizimi tan olingan. Hujum aniqlanganda administratorni real vaqt rejimida xabardor qilish imkoniyati mavjud

Needsbench

Tarmoqni odatiy zaifliklar uchun sinovdan o'tkazish va ruxsatsiz kirish urinishlarini aniqlash uchun o'rnatilgan tizimning reaktsiyasini aniqlash tizimi. NIDS bo'yicha hujjatlarning yaxshi tanlovi mavjud.

TCP / IP trafigini kuzatib boring, u o'tayotgan trafikka kirishga qodir, port skanerlarini, toshqinlarni va ba'zi turdagi hujumlarni aniqlay oladi.

Linux 2.0.x ning TCP/IP stekini taqlid qiluvchi NIDS tizimlarini yaratish kutubxonasi, bu ko'pchilik snifferlar (masalan, libpcap, tcpdump) kabi nafaqat paketlarni (paketlarning xaotik to'plami) ushlashga, balki paketlarning TCP qismlarini defragmentatsiya qilish va yig'ishni hisobga olgan holda individual seanslarni kuzatib borish (masalan, SMTP trafigini ushlab turish va har bir SMTP seansini ajratish). Linux, *BSD va Solaris ostida ishlaydi.

Dastur ketma-ket port orqali o'tadigan barcha ma'lumotlarni kuzatish va jurnal fayliga qo'yish imkonini beradi.

Bularning barchasi IDS emas, hatto eng mashhurlari ham emas, lekin ularni topish oson.

Bu barcha dasturlardan, Xiralash- mening sevimli. Nega? Mana uning afzalliklari: ikkita tahlil rejimi, imzo va protokol tahlili, dasturni oson o'rnatish va sozlash, kichik o'lcham va tizim talablari, juda ko'p sonli hujumlarni aniqlash.

3. Snortni o'rnatish va sozlash

Boshlash uchun www.snort.org saytidan Snort-ni yuklab oling. Hozirda so'nggi versiyaga to'g'ridan-to'g'ri havola http://www.snort.org/dl/binaries/linux/snort-1.9.1-1snort.i386 .rpm. Shuningdek, Snort-ning turli xil modifikatsiyalari mavjud, masalan, MySQL, postgresql, snmp-ni qo'llab-quvvatlagan holda, siz bularning barchasini bitta saytdan yuklab olishingiz mumkin va men dasturning eng oson o'rnatish versiyasini tanladim.

O'rnatish juda oddiy:

rpm –i snort-1.9.1-1snort.i386.rpm

Shundan so'ng, barcha kerakli fayllar tizimga ko'chiriladi.

Endi dasturni o'zingiz uchun sozlashingiz kerak, biz buni hozir qilamiz ... Keling, katalogga o'tamiz /etc/snort, bu erda siz imzo ma'lumotlar bazalarini topishingiz mumkin (aniqrog'i, ularni Snort zararli trafikni aniqlaydigan qoidalar deb atash mumkin) va bir nechta konfiguratsiya fayllari, bizga snort.conf kerak. Bu erda biz HOME_NET, EXTERNAL_NET va boshqalar kabi o'zgaruvchan o'zgaruvchilarni o'rnatamiz ... Buni aniqlash qiyin bo'lmaydi, chunki har bir variant ingliz tilida bo'lsa ham, juda tushunarli sharhlar bilan birga keladi. Konfiguratsiya faylining oxirida plagin imzolari mavjud, unumdorlikni oshirish uchun keraksizlarini izohlash mumkin.

Mana mening konfiguratsiyamga misol:


# 1-qadam: Tarmoq bilan bog'liq o'zgaruvchilarni sozlash
# IP-ni mahalliy tarmoq manzillariga o'zgartiring
# Bir nechta diapazonlarni vergul bilan ajratish orqali belgilashingiz mumkin
var HOME_NET 192.168.168.0/24
var EXTERNAL_NET !$HOME_NET
var DNS_SERVERS $HOME_NET
var SMTP_SERVERS $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var TELNET_SERVERS $HOME_NET
var ORACLE_PORTS 1521
var HTTP_PORTS 80
var SHELLCODE_PORTS !80

# Imzolar uchun yo'l
var RULE_PATH /etc/snort

#Aniqlangan hujum tasnifi va havolalarni o'z ichiga olgan kerakli fayllarni qo'shing
# yuk mashinalari

classification.configni qo'shing
reference.config ni o'z ichiga oladi

###################################################

# 2-qadam: Hujumni aniqlash mexanizmini o'rnating

Old protsessor frag2
preprotsessor oqimi 4: aniqlash_skanerlari, o'chirish_evasion_alerts
preprotsessor oqimi4_reassemble
preprocessor http_decode: 80 unicode iis_alt_unicode double_encode iis_flip_slash full_whitespace
protsessor rpc_decode: 111 32771
preprocessor portscan: $HOME_NET 4 3 portscan.log
# Men ushbu parametrni qo'shishga majbur bo'ldim, chunki menda qo'llaniladigan ba'zi maxsus dasturlar
Ko'pincha noto'g'ri ijobiy natijalarga olib keladigan # tarmoqlar
preprocessor portscan-ignorehosts: 192.168.168.0/24
protsessor arpspoof
protsessor suhbati: allow_ip_protocols all, timeout 60, max_conversations 32000
preprocessor portscan2: scanners_max 3200, targets_max 5000, target_limit 5, port_limit 20, kutish vaqti 60

####################################################################

# 3-qadam: Bizga qaysi imzolar kerakligini belgilang

$RULE_PATH/bad-traffic.rules kiriting
$RULE_PATH/exploit.rulesni o'z ichiga oladi
$RULE_PATH/scan.rulesni o'z ichiga oladi
$RULE_PATH/finger.rulesni o'z ichiga oladi
$RULE_PATH/ftp.rulesni o'z ichiga oladi
$RULE_PATH/dos.rulesni o'z ichiga oladi
$RULE_PATH/ddos.rulesni o'z ichiga oladi
$RULE_PATH/dns.rulesni o'z ichiga oladi
$RULE_PATH/web-cgi.rulesni o'z ichiga oladi
# Men statistika uchun keyingi variantni qoldirdim - mening serverim muntazam ravishda IIS xatolari uchun tekshiriladi,
# Aniqrog'i, mening serverim emas, balki men ham kiradigan bir qator manzillar :)
$RULE_PATH/web-iis.rulesni o'z ichiga oladi
$RULE_PATH/web-client.rulesni o'z ichiga oladi
$RULE_PATH/web-php.rulesni o'z ichiga oladi
$RULE_PATH/sql.rulesni o'z ichiga oladi
$RULE_PATH/icmp.rulesni o'z ichiga oladi
$RULE_PATH/netbios.rulesni o'z ichiga oladi
$RULE_PATH/misc.rulesni o'z ichiga oladi
$RULE_PATH/attack-responses.rulesni o'z ichiga oladi
$RULE_PATH/mysql.rulesni o'z ichiga oladi

$RULE_PATH/pop3.rules kiriting
$RULE_PATH/pop2.rulesni o'z ichiga oladi
$RULE_PATH/other-ids.rulesni o'z ichiga oladi
$RULE_PATH/web-attacks.rulesni o'z ichiga oladi
$RULE_PATH/backdoor.rulesni o'z ichiga oladi
$RULE_PATH/shellcode.rulesni o'z ichiga oladi

Endi hamma narsa Snortni ishga tushirishga tayyor. Uni inittab-ga yozing va u tizimdan boshlanadi.

4. O'z imzolaringizni qo'shish

Snort juda moslashuvchan va IDSni sozlash oson. Uning fazilatlaridan biri bizga hujum imzolarini o'zimiz qo'shishimizga imkon beradi (yoki aytganimdek, bu qoidalarga o'xshaydi). Bizda *.rules fayllarida shunday qoidalar mavjud. Qoidalarning sintaksisi juda oddiy:

HARAKAT PROTO IP_ADDR1 PORT1 DIRECTION IP_ADDR2 PORT2 [ (VARITALAR) ]

Keling, qoida maydonlarini batafsil ko'rib chiqaylik:

Harakat maydonida ma'lum bir qoidaga mos keladigan tarmoq paketi topilganda harakatlarni belgilaydigan uchta asosiy ko'rsatma mavjud: o'tish, jurnal va ogohlantirish.

o'tish- paketga e'tibor bermaslik

jurnal- paket jurnal fayliga yozilishi uchun jurnal jurnaliga o'tkazilishi kerak

ogohlantirish qoidaga mos keladigan paket topilganda bildirishnoma hosil qiladi

Paket protokoli tcp, udp, icmp bo'lishi mumkin

Variant nomidan ko'rinib turibdiki, bu maydon IP manzilini bildiradi. har qanday barcha mumkin bo'lgan manzillarni o'rnatish imkonini beradi. Ramz! shartni o'zgartiradi, ya'ni. !192.168.168.0/24 har qanday pastki tarmoq bo'lmagan 192.168.168.0/24 degan ma'noni anglatadi. Vergul bilan ajratilgan bir nechta IP manzillarni sanab o'tishingiz mumkin

Bitta port raqamiga qo'shimcha ravishda siz ikkita nuqta bilan ajratilgan portlar oralig'ini belgilashingiz mumkin, masalan, 6000:6010, belgi ! shartni o'zgartiradi va har qanday barcha portlarni bildiradi

DIRECTION

Paket harakati yo'nalishini belgilaydi:

-> (bir tomonlama) - qoida faqat IP_ADDR1 dan IP_ADDR2 ga keladigan paketlarga qo'llaniladi;

(ikki tomonlama) - paketning harakat yo'nalishi rol o'ynamaydi

Qavslar ichiga olingan parametrlar qoidaning ixtiyoriy qismidir, lekin ular tahdid haqida xabar beruvchi xabar matnini belgilaydi, qoida ishga tushirilganda qo'shimcha harakatlarni va tahlil qilingan paketlarning ushbu qoidaga mos kelishi uchun qo'shimcha shartlarni belgilaydi. Parametrlar bir-biridan nuqtali vergul bilan ajratiladi va parametr kalit so'zi uning argumentidan ikki nuqta bilan ajratiladi.

Qoidaga mos keladigan qo'shimcha shartlarni belgilaydigan parametrlar:

ttl- IP paket sarlavhasida TTL maydonining qiymatini o'rnatadi;

tos- IP paket sarlavhasida TOS maydonining qiymatini o'rnatadi;

id- IP paket sarlavhasidagi fragment raqami maydonining qiymatini o'rnatadi;

ipopts- IP paket parametrlari maydonining qiymatini o'rnatadi;

parchalar- IP-paketning parchalanish bitlarini o'rnatadi;

hajmi- IP-paketning o'lchami uchun shartlarni belgilaydi;

bayroqlar- ma'lum TCP bayroqlarining mavjudligi yoki yo'qligi uchun shartlarni belgilaydi;

seq- ketma-ketlikda TCP paket segmentining raqamini o'rnatadi;

ack- TCP paketidagi tasdiqlash maydonining qiymatini o'rnatadi;

itip- ICMP paket tipi maydonining qiymatini o'rnatadi;

ikod- ICMP paket kodi maydonining qiymatini o'rnatadi;

icmp_id- ICMP paketidagi ICMP ECHO ID maydonining qiymatini o'rnatadi;

icmp_seq- ICMP ECHO paketining raqamini ketma-ketlikda o'rnatadi;

mazmuni- kerakli shablonni sarlavhada emas, balki paket mazmunida ko'rsatadi (shablon matn shaklida ham, o'n oltilik tizimda ham ko'rsatilishi mumkin);

tarkib ro'yxati- bu parametr kontent parametriga o'xshash, faqat izlanayotgan shablonlar ro'yxati berilgan fayldan olinadi;

ofset- tarkib tahlil qilinadigan paketdagi ofsetni aniqlash uchun kontent varianti bilan birgalikda ishlaydi;

chuqurlik- ofset parametriga o'xshash va tarkib tahlil qilinadigan paketdagi pozitsiyani belgilaydi;

hol yo'q- paket tarkibini tahlil qilishda katta-kichik harf sezgirligini o'chiradi;

rpc- bu parametr RPC xizmatlariga dastur yoki protsedura chaqiruvlarining xususiyatlarini aniqroq belgilash imkonini beradi.

Ko'rib turganingizdek, sanab o'tilgan parametrlar xavfsizlikka qandaydir tarzda tahdid soladigan deyarli har qanday paketlarni ushlab qolish qoidalarini yaratishga imkon beradi. Va agar siz Snort paketlarni havola qatlamida ushlab turishi mumkin deb hisoblasangiz, undan foydalanish xavfsizlik devori bilan himoyalangan xostlarda ayniqsa qiziq, chunki xavfsizlik devori tomonidan tushirilgan paketlar hali ham Snortning ko'rish sohasida bo'ladi.

Tahlil qilingan paket barcha shartlarga javob bersa, qiymatlari mantiqiy bo'lgan parametrlar:

msg- xabar matnini o'z ichiga oladi;

logto- paket tarkibini unga yozish uchun muqobil faylni belgilaydi;

sessiya- bu parametr juda qiziqarli Snort funksiyasini yoqish imkonini beradi - TCP seansidan foydalanuvchi ma'lumotlarini ajratib olish, masalan, foydalanuvchi telnet seansi davomida qanday buyruqlarni kiritganligini keyingi tahlil qilish uchun;

javob- agar paket qoidaga mos kelsa, u holda Snort belgilangan amallardan birini bajaradi - masalan, TCP-RST paketini xostlardan biriga yuborish orqali ulanishni yoping.

reaksiyaga kirishish- qoidada ko'rsatilgan veb-saytlarni ular bilan aloqani o'chirish va/yoki saytga kirishga urinilgan brauzerga ko'rsatilgan xabarni yuborish orqali bloklaydi.

O'zingizning qoidalaringizni yaratishning bir nechta misollari:

Agar Napster serveriga so'rov topilsa, ulanish majburiy ravishda yopiladi. Ko'rib turganingizdek, Snort yordamida keraksiz trafikni filtrlashni xavfsizlik devoridagi tegishli portlarni yopishdan ko'ra samaraliroq tashkil qilish mumkin, chunki paketlar tarkibiga qo'shimcha shart kiritish mumkin.

5. Snortni sinovdan o'tkazish

Snort ishlashini sinab ko'rish uchun oddiy misolni olaylik. Buyruqlar qatoriga ping -s 65507 kiriting. Endi biz /var/log/snort-ga o'tamiz, jurnallar bu erda sukut bo'yicha saqlanadi. Ogohlantirish faylini oching va quyidagi qatorlarni ko'ring:

[**] ICMP katta ICMP paketi [**]
01/06-07:37:37.119752 192.168.168.99 -> 192.168.168.9
ICMP TTL: 255 TOS: 0x0 ID: 18479 IpLen: 20 DgmLen: 63028
Turi: 0 Kod: 0 ID: 512 Seq: 19456 EHO REPLY

Birinchi satr bizga qaysi harakat signalni ishga tushirganini aytadi, bu holda ICMP paketi juda katta. Ikkinchi qatorda hujum sinfi va uning ustuvorligi ko'rsatilgan (bu ma'lumot classification.config faylidan aniqlanadi). Uchinchi qatorda hujum vaqti, shuningdek, paketni yuborgan hostning IP manzillari va paket mo'ljallangan xost ko'rsatilgan. Keyin TTL, TOS kabi paketli maydonlarning qolgan qismi keladi - ular orqali siz tajovuzkorning operatsion tizimini va boshqalarni aniqlashingiz mumkin ...

6. Xulosa

Yuqorida aytilganlarning barchasidan menimcha, Snort juda foydali degan xulosaga kelish mumkin. Har holda, ushbu dasturdan foydalanish xakerlar hayotini biroz qiyinlashtiradi. Va bu har qanday tizim ma'murining maqsadi emasmi?

Ushbu maqola Snort bo'yicha to'liq qo'llanma bo'lib ko'rinmaydi, lekin umid qilamanki, u sizga uning o'rnatilishi, konfiguratsiyasi va ishlashini tushunishga yordam beradi. Ko'pgina fikrlar men turli xil xavfsizlik saytlarida uchragan turli hujjatlardan, asosan ingliz tilidan keladi, lekin bu asosan Snort bilan bo'lgan tajribam natijasidir.

Bugungi kunda simsiz tarmoqlarning xavfsizligi haqida tez-tez va ko'p gapiriladi, lekin tarmoqni buzish juda uzoq narsa sifatida qabul qilinadi. Biz allaqachon nashr etilgan material WEP himoyasini qanday buzish haqida. Bundan tashqari, bir muncha vaqt o'tgach davomi tarmoqni qanday himoyalash haqida. Bugun bizning e'tiborimiz simsiz tarmoq xavfsizligini tekshirish vositalariga qaratiladi. Shuningdek, kirishni aniqlash tizimlari - WLAN uchun o'ziga xos "yong'in signalizatsiyasi".

Aytgancha, agar WLAN-ni buzish haqida gapiradigan bo'lsak, uy va kichik ofis tarmoqlari foydalanuvchilari biz uchun ayniqsa zaif ko'rinadi. Bu, birinchi navbatda, ularning simsiz tarmog'ini himoya qilishdan tashqari boshqa vazifalari borligi bilan bog'liq. Va yirik kompaniyalardan farqli o'laroq, ular mutaxassislarni yollash imkoniyatiga ega emaslar.

Biroq, hamma narsa ko'rinadigan darajada qayg'uli emas. Tabiatda "xavfsizlik" va "simsiz tarmoq" so'zlarini birlashtirishning bema'ni tuyulganiga qaramay, simsiz tarmoq xavfsizligini baholash usullari mavjud. Intrusion Detection Systems (IDS) mumkin bo'lgan hujumlarni ular sodir bo'lishidan oldin aniqlaydi, shu bilan birga dushman bo'shliqni qidiradi. Albatta, bunday tizimlar to'liq xavfsizlikni kafolatlay olmaydi (va, aytmoqchi, nima qila oladi?), Lekin xavfsizlik devorlari va boshqa xavfsizlik choralari bilan birgalikda ular juda foydali bo'lishi mumkin. Umuman olganda, IDS xavfsizlik signalining bir turi ekanligi qabul qilinadi: ya'ni u faqat hujum haqida xabar beradi, buzg'unchi bilan ishlashni boshqa tizimlar va vositalarga (jismoniylarga qadar) qoldiradi.

Guruch. 1. Snort IDS.


Guruch. 3. Linksys WRT54G.

Quyida biz dasturiy ta'minot bilan WRT54G asosida misollar keltiramiz OpenWRT RC 2(kod nomi "Oq ruscha"). Aslida, simsiz marshrutizatorlar uchun juda ko'p Linux distributivlari mavjud, biroq biz OpenWRT proshivkasiga qaror qildik, chunki u oddiy, "engil" va Debian Linux kabi paketlangan.


Guruch. 4. OpenWRT amalda.

Ogohlantirish. WRT54G ga OpenWRT, Snort Wireless yoki boshqa muqobil mikrodastur versiyalarini yuklash kafolatni bekor qiladi. Muqobil versiyani o'chirishni boshlashdan oldin tavsiya qilamiz yuklab oling joriy dasturiy ta'minot versiyasining nusxasi

OpenWRT-ni o'rnatish haqida batafsil ma'lumot bermaymiz, chunki OpenWRT veb-saytini topish mumkin o'rnatish uchun ajoyib qo'llanma. O'rnatish tugallangandan so'ng, siz Telnet () yordamida routerga ulanishingiz va natijadan bahramand bo'lishingiz mumkin.

Routerga OpenWRT-ni o'rnatganingizdan so'ng, dasturni yuklab olishingiz va o'rnatishingiz mumkin Snort Simsiz. Bularning barchasi aytib o'tilgan OpenWRT paket tizimi orqali amalga oshirilishi mumkin - buyruqni bajaring ipkg quyidagi sozlamalar bilan.

ipkg o'rnatish http://nthill.free.fr/openwrt/ipkg/testing/20041204/snort-wireless_2.1.1-1_mipsel.ipk

Ba'zilarga bu paketning bir yildan oshgani yoqmasligi mumkin. Ammo buning hech qanday yomon joyi yo'q, chunki barcha kerakli IDS funktsiyalari bu erda mavjud va keyinchalik barcha Snort qoidalarini ipkg orqali yuklab olish mumkin (batafsil ma'lumot: OpenWRT kuzatuvchi sahifasi). Agar siz shaxsiy kompyuterda kirish nuqtasini o'rnatishga qaror qilsangiz, Snort Wireless manba kodini yuklab olishingiz va uni to'g'ridan-to'g'ri kompyuteringizda kompilyatsiya qilishingiz mumkin. E'tibor bering, bu bayroqni qo'shishi kerak --simsizni yoqish, aks holda Wi-Fi protsessorlari ishlamaydi.

Snort Wireless oddiy Snort kabi ishlaydi, lekin simsiz ulanish nuqtalari uchun maxsus ishlab chiqilgan bo'lib, ularni hujumlardan samarali himoya qilish imkonini beradi. Xususan, u nomli yangi qoidalar protokolini o'z ichiga oladi Wi-fi va IDS ga umumiy WLAN hujumlariga xos simsiz trafikni to'g'ri ajratish imkonini beradi. Masalan, xuddi shu Netstumbler hujumlari yoki WEP yorilish urinishlari. Snort Wireless-da Wi-Fi protokolidan foydalanish Snort uchun oddiy qoidalarni o'rnatishga juda o'xshaydi, bitta istisno: birinchi va ikkinchi tugunlarning IP manzillari va portlarini kiritish o'rniga, ularning MAC manzillaridan foydalanishingiz kerak.

Ayni paytda bizda ishlaydigan Snort Wireless mavjud. Biz uni tanlangan tarmoqda ishlatish uchun sozlashni davom ettiramiz. Siz ipkg ishga tushirganingizda, Snort katalogga o'rnatiladi /etc/snort routerda. Boshqa Unix dasturlari singari, Snort ham tartibga solinadigan konfiguratsiya faylidan foydalanadi, unda siz tarmoq muhiti va nazorat qilish uchun turli hujum naqshlari haqidagi ma'lumotlarni belgilashingiz mumkin. Fayl nomi berilgan snort.conf (Guruch. 5) va katalogda joylashgan /etc/snort. Uni istalgan matn muharririda ochishingiz kerak (agar yo'riqnomangizda bo'lmasa, uni ipkg yordamida yuklab oling).


Guruch. 5. snort.conf konfiguratsiya fayli.

Endi siz barcha kerakli tarmoq sozlamalarini, jumladan IDS ishlayotgan kirish nuqtasi nomini va siz kuzatmoqchi bo'lgan mijozlarning MAC manzillarini sozlashingiz mumkin. Bu yerda siz sozlashingiz mumkin bo'lgan juda ko'p sozlamalar mavjud, shuning uchun hech narsani o'tkazib yubormaslik uchun ularning barchasini diqqat bilan ko'rib chiqing.

Xususan, Snort Wireless-dagi Wi-Fi-ga xos pre-protsessorlarni ko'rib chiqing. Ular NetStumbler va MAC manzillarini buzish urinishlari kabi dasturlar orqali passiv tarmoq skanerlashni aniqlash uchun oldindan protsessorlarni o'z ichiga oladi. Biz muhim preprotsessorlarni alohida ko'rib chiqishga qaror qildik.


Guruch. 6. AntiStumbler preprotsessori rekonstruksiya hujumi haqida xabar berish imkonini beradi.

  • AntiStumbler. NetStumbler va MacStumbler kabi dasturlar ( Guruch. 6) kirish nuqtalarini aniqlash uchun null SSID-lardan foydalaning. Ushbu SSID-lar translyatsiyalar kabi ishlaydi va boshqa kirish nuqtalari o'zlarining SSID-larini so'ragan xostga yuborishiga olib keladi. Bu xususiyat mavjud simsiz tarmoqlarni qidirishda foydalidir. AntiStumbler protsessori bir MAC manzilidan juda ko'p null SSIDlarning taqsimlanishini taniydi va signalni ko'tarishi mumkin.
    Eslatma. Bu preprotsessor kabi dasturlarni belgilashga ruxsat bermaydi Qismet chunki ular 802.11 freymlarini passiv ravishda tinglaydilar, so'rovlarni yubormaydilar.
  • Deauth Flood. Ushbu hujum bizning maqolamizda batafsil yoritilgan WEP yorilishi haqida maqola. Xostlarni kirish nuqtalaridan uzish va qayta ulanishga urinish uchun foydalaniladi, bu WEP yorilishi paytida tahlil qilish uchun qo'shimcha paketlarni taqdim etadi. Bundan tashqari, hujum "xizmatni rad etish" (Denial of Service, DoS) kirish nuqtasi uchun ishlatilishi mumkin. DeauthFlood protsessori vaqt birligidagi autentifikatsiya freymlari sonini hisoblash orqali ushbu turdagi hujumni taniydi va agar kerak bo'lsa, signal beradi.
  • AuthFlood. Hujum avvalgisiga o'xshaydi, biroq AuthFlood protsessori juda ko'p autentifikatsiya urinishlarini, ya'ni mijozlarning simsiz tarmoqqa ulanishga urinishlarini aniqlaydi, ulardan kirish nuqtasiga DoS hujumi sifatida foydalanish mumkin.
  • MacSpoof. Kirish nuqtasiga kirishni cheklashning eng samarali usullaridan biri ruxsat etilgan mijoz MAC manzillari ro'yxatini yaratishdir. Afsuski, tajovuzkor o'z mashinasining MAC manzilini aldashi va kirish nuqtasiga ulanishi mumkin. MacSpoof protsessori paket raqamlarini tekshiradi va MAC manzilini aldash mumkinligini ko'rsatadigan nomuvofiqliklarni aniqlasa, signal beradi.
  • RogueAP. Chet ellik ("dushman") kirish nuqtalari odatdagidek yashiringan, shuning uchun foydalanuvchi ularga noto'g'ri ulanadi va har qanday shaxsiy ma'lumotlarni uzatadi. Bu preprotsessor hali amalga oshirilmagan, ammo kelajakdagi nashrlarda u xorijiy kirish nuqtalarining yaqinligi haqida xabar berishi mumkin.

Bundan tashqari, Snort Wireless keng doiradagi vaziyatlar uchun oldindan belgilangan ko'plab qoidalarni o'z ichiga oladi. Tarmoq konfiguratsiyasiga qarab, ba'zi qoidalar juda qulay bo'lishi mumkin. Misol uchun, agar sizning tarmog'ingizda veb-server ishlayotgan bo'lsa, barcha veb qoidalari. Qoidani faollashtirish uchun Snort konfiguratsiya faylidagi tegishli qatordan izohni olib tashlash kifoya. Shaxsiy qoidalar to'plami sukut bo'yicha katalogda saqlanadi /etc/snort/rules, va ulardan istalganini matn muharriri yordamida ko'rish mumkin. To'plamdagi qoidalar xuddi Snortning o'zida bo'lgani kabi aniqlangan. Aytgancha, misollardan so'ng, qoidani o'zingiz osongina yozishingiz mumkin.


Guruch. 7. Snort qoidasi portni skanerlash mashinasini aniqladi.

Ishda

Fayl qachon snort.conf tayyor, siz Snort-ni ishga tushirishingiz mumkin. Ishga tushirishda siz chiqishdan ish rejimiga qadar hamma narsani aniqlaydigan ko'plab parametrlarni belgilashingiz mumkin. Birinchidan, Snort-ni quyidagi variantlardan boshlaylik (Telnet so'rovida).

snort -D -A to'la

Ushbu buyruq Snort-ni fon jarayoni sifatida boshlaydi, shuning uchun siz qobiq bilan tinchlikda ishlashni davom ettirishingiz mumkin. Signal ishga tushirilganda, to'liq ma'lumot qayd qilinadi.

Endi Snort ishga tushdi va simsiz tarmoqni himoya qilishning qo'shimcha usullarini ko'rib chiqish vaqti keldi. Aytaylik, siz murojaat qilishingiz mumkin Qismet- qo'shimcha hujumni aniqlash tizimi sifatida ishlatilishi mumkin bo'lgan Snortga o'xshash yordamchi dastur. Snort faqat OSI modelining uchinchi qatlamida ishlaydi - IP va boshqa trafik uchun mas'ul bo'lgan tarmoq qatlami. Va Kismet ikkinchi darajada ishlaydi - Ethernet ramkalari uchun mas'ul bo'lgan kanal. Shunday qilib, ikkala tizimni juftlikda joylashtirish umumiy xavfsizlikni sezilarli darajada oshiradi.


Guruch. 8. Qismat harakatda.

Snort ma'lumotlar bazasiga jurnallar yozish uchun sozlanishi mumkin, bu esa keyingi tahlilni osonlashtiradi. Daniel Valter yozgan boshqaruv MySQL va PostgreSQL ma'lumotlar bazalariga yozishni qanday sozlash kerak. Agar siz Gentoo Linux-dan hotspot sifatida ishlaydigan mashinada foydalanayotgan bo'lsangiz, Apache-ni o'rnatish va veb orqali ko'rsatiladigan jurnallarni sozlash orqali bir qadam oldinga o'tishingiz mumkin. Saytda Gentoo Wiki Bunday sozlamaning batafsil tavsifini topishingiz mumkin.


Guruch. 9. MySQL, ACID va Apache orqali Snort jurnallarini ko'ring.

Xulosa

Biz faqat Snortning asosiy tamoyillariga to'xtaldik. Asos sifatida, maqolaning materiallariga ko'ra, siz tizimni kirish nuqtasida sozlashingiz mumkin. Biroq, Snort maqolada tasvirlanganidan ko'ra ko'proq xususiyatlarga ega. Xususan, siz yaratishingiz mumkin o'zingiz uchun qoidalar, bu Snortni tarmoqqa chuqurroq kiritishga yordam beradi.

Va nihoyat, simsiz tarmog'ingizni samarali himoya qilish uchun Snort ham, qoidalar ham yangilanib turishi kerakligini unutmang. Muntazam tashrif buyurishni unutmang Snort Simsiz, shuningdek ipkg paket kuzatuvchisi(OpenWRT o'rnatish uchun) yoki Snort qoidalari sahifasi(boshqalar uchun).

Boshqa xavfsizlik vositalari singari, Snort tarmoq xavfsizligi uchun davo emas. Bu sizning qal'angizning qal'alaridan biri, xolos. Ammo himoya kompleksida u juda yaxshi ishlaydi.

Xakerlarimga yana xush kelibsiz!

Axborot xavfsizligi dunyosida siz ertami-kechmi duch keladigan eng keng tarqalgan bosqinlarni aniqlash tizimi (IDS) bu Snort. Siz allaqachon bilganingizdek, IDS antivirus dasturiga o'xshash tarzda ishlaydi - u sizning tarmog'ingizdagi zararli dasturlarni aniqlashga harakat qiladi va sizni uning mavjudligi haqida ogohlantiradi.

1999 yilda Martin Roesch tomonidan yaratilgan Snort shu qadar mashhur bo'ldiki, tarmoq giganti Cisco uni 2014 yilda sotib oldi. Shuning uchun, yaqin kelajakda siz uni deyarli barcha Cisco qurilmalarida ko'rishingiz mumkin. Va Cisco eng mashhur tarmoq qurilmalarini ishlab chiqaruvchisi bo'lgani uchun tez orada Snortni hamma joyda topasiz.

Tashkilotingiz hech qachon Cisco (ehtimoli yo'q) yoki Snort-dan foydalanmasa ham, siz ushbu IDS qanday ishlashini tushunishingiz kerak, chunki boshqa hujumlarni aniqlash tizimlarining aksariyati xuddi shunday ishlaydi.

Biz yaqinda Snort haqida bir nechta maqolalarni nashr qildik, ammo biz ushbu mavzu bo'yicha butun bir qator maqolalarni tayyorlashni yaxshi deb o'yladik. Ushbu turkumda biz sizga Snort-dan qanday foydalanishni boshidan oxirigacha, jumladan o'rnatish, konfiguratsiya, chiqishni boshqarish, yozish qoidalari va ogohlantirishlarni kuzatish orqali ko'rsatamiz.

Boshlaymiz!

1-usul: Snort-ni omborlardan o'rnating

Agar tizimingizdagi omborlarda Snort bo'lsa, Snortni o'rnatish oson. Afsuski, u endi Kali-da mavjud emas, shuning uchun bizning birinchi qadamimiz Snort-ga ega bo'lgan omborni qo'shishdir. Bunday holda, biz ba'zi Ubuntu omborlarini qo'shamiz.

/etc/sources.list faylini oching. Buni har qanday matn muharriri bilan qilishimiz mumkin (bu yerda biz Leafpad’dan foydalanamiz).

Kali>leafpad /etc/apt/sources.list

Yuqoridagi skrinshotda ko'rsatilganidek, biz bir nechta Ubuntu omborlarini qo'shdik, ular ham quyida keltirilgan. Ubuntu Debian vilkasi bo'lganligi sababli (Kali o'rnatilgan asosiy Linux distribyutsiyasi), ko'pchilik Ubuntu paketlari Kali'da ham ishlaydi.

Deb http://ch.archive.ubuntu.com/ubuntu/ saucy main limited deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main limited deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main

Bizning omborlarimiz ro'yxatini yangilash uchun faylni saqlaganimizdan so'ng biz paketlar ro'yxatini o'zlari yangilashimiz kerak. Buni konsolga yozish orqali amalga oshirishimiz mumkin:

Kali > apt-get yangilanishi

Bizning paketlarimiz yangilangandan so'ng, biz buyruq bilan Snort paketini ombordan o'rnatishimiz mumkin:

Kali> apt-get install snort

Hammasi shu. Snort o'rnatildi va borishga tayyor! Buni tekshirish uchun konsolga kiriting:

Kali > pichirladi -V

Bizning holatda, Snort o'zining versiya raqamini chop etdi (bu holda, 2.9.2).

2-usul: Snortni manbalardan o'rnatish

Snort-ni manbadan o'rnatish ancha murakkab va ko'p vaqt talab etadi, ammo buni amalga oshirishning afzalligi shundaki, Snort maxsus apparat va dasturiy ta'minot konfiguratsiyasi uchun maxsus kompilyatsiya qilinadi.

Bu sizga eng yaxshi umumiy ishlashni beradi. Har qanday IDSda bo'lgani kabi, ishlash juda muhim. Pastroq IDS unumdorligi sizning umumiy tarmoq qobiliyatingizni sekinlashtiradi yoki paketlarning tushishiga olib keladi. Birinchi holda, sizda norozi mijozlar yoki foydalanuvchilar bo'ladi, ikkinchi holatda esa siz tarmoq xavfsizligini buzasiz.

Snort-ni xavfsiz ishlab chiqarish muhitida ishlatganda, manbadan o'rnatish tavsiya etiladi. Bundan tashqari, manbadan o'rnatish Snortning so'nggi versiyasini o'rnatayotganingizni ta'minlaydi. Ko'pgina omborlarda eski versiyalar mavjud. Snortning joriy versiyasi 2.9.8, omborlarda esa 2.9.2. Kichkina farq, lekin biz "xazina" ni himoya qilishga harakat qilganda, har bir tafsilot foydali bo'ladi.

Keling, Kali-da manba kodini yuklaydigan katalog yaratishdan boshlaylik.

Kali> mkdir snort_source

Keyin ushbu katalogga o'ting

Kali > cd snort_source

Snort-ni yuklab olishdan oldin siz Ma'lumotlarni yig'ish kutubxonasini yoki DAQni o'rnatishingiz kerak. DAQda biz o'rnatishimiz kerak bo'lgan bir nechta bog'liqliklar mavjud.

Kali> apt-get install -y bizon flex

Endi biz Snort veb-saytidan DAQ-ni yuklab olishimiz va o'rnatishimiz mumkin.

Kali> wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz kali> tar -xvzf daq-2.0.6.tar.gz

Keyin daq katalogiga o'tamiz.

Kali > cd daq-2.0.6

Nihoyat, DAQ ni sozlaymiz va make buyrug'ini beramiz.

Kali> ./kali-ni sozlash> kali yaratish> kali o'rnatish> wget "https://snort.org/snort/snort-2.9.8.0.tar.gz"https://snort.org/snort/snort-2.9.8.0 .tar.gz

Yuklab olingandan so'ng, siz uni o'rashingiz kerak bo'ladi. (tar buyrug'i haqida ko'proq ma'lumot olish uchun Linux asoslari maqolamizga qarang).

Kali> tar -xvzf snort-2.9.8.0.tar.gz

Keling, yangi Snort fayllari joylashgan katalogga o'tamiz.

Kali> cd /snort-2.9.8.0

Siz uni sozlashingiz kerak.

Kali> ./configure --enable-sourcefire

Shundan so'ng, biz make buyrug'idan foydalanishimiz kerak, u manba kodining qaysi komponentlarini qayta kompilyatsiya qilish kerakligini aniqlaydi va keyin buni qilishni buyuradi.

Kali > qiling

Va nihoyat, biz o'rnatishni amalga oshiramiz (o'rnatishni amalga oshiring). Bu buyruq qayta kompilyatsiya qilingan dastur komponentlarini oladi va ularni tegishli kataloglarga joylashtiradi.

Kali> o'rnatishni amalga oshiring

O'rnatish jarayonida biz yangi kutubxona fayllarini o'rnatganimiz uchun umumiy kutubxonalarni yangilashimiz kerak. Buning uchun konsolda quyidagi buyruqni kiriting:

Kali > ldconfig

Snort-ni istalgan katalogdan ishga tushirish uchun siz /usr/local/bin/snort-dagi ikkilik (bajariladigan) fayllarga ramziy havola o'rnatishingiz va uni snort deb atagan holda /usr/sbin katalogiga joylashtirishingiz mumkin. /usr/sbin bizning PATH-da joylashganligi sababli, IDS-dan foydalanishni boshlash uchun operatsion tizimning istalgan joyiga Snort-ni yozishimiz mumkin.

Kali > ln -s /usr/local/bin/snort /usr/sbin/snort

Keling, Snort normal o'rnatilganligini tekshirib ko'raylik. Buning uchun konsolga kiriting:

Kali > pichirladi

Ko'rib turganimizdek, Snort ishga tushirildi va paketli damping rejimida yoki "sniffer" deb ataladigan rejimda muvaffaqiyatli ishlamoqda.

Endi biz Snort-ni muvaffaqiyatli o'rnatdik, keling, uni zararli dasturlarni aniqlash uchun sozlashni davom ettiramiz. Bu bizning keyingi maqolamizda bo'ladi, shuning uchun qayta tekshirib ko'ring!

Mas'uliyatni rad etish: Ushbu maqola faqat ta'lim maqsadida yozilgan. Muallif yoki noshir ushbu maqolani zararli maqsadlarda nashr etmagan. Agar o'quvchilar ma'lumotlardan shaxsiy manfaatlar uchun foydalanmoqchi bo'lsalar, muallif va nashriyot etkazilgan zarar yoki zarar uchun javobgar emas.
Nashr qilingan sana: 2009 yil 21 sentyabr
Tarjimasi: S. Vladimirskiy
O'tkazish sanasi: 2009 yil 2 oktyabr

Ushbu qo'llanmada Synaptic Ubuntu paket menejeri yordamida Ubuntu 9.04 da Snort, ACIDBASE (asosiy xavfsizlik va tahlil moduli), MySQL va Apache2 bilan tajovuzni aniqlash tizimini (IDS) qanday o'rnatish va sozlash tasvirlangan. Snort tarmog'ingizni kuzatishda yordam beradi va sizni yuzaga kelishi mumkin bo'lgan tahdidlar haqida ogohlantiradi. Keyin Snort MySQL ma'lumotlar bazasi uchun jurnal fayllarini yaratadi va ACIDBASE ularni veb-brauzerda GUIda ko'rsatadi.

1. Tizimni tayyorlash va dasturiy ta'minotni o'rnatish.

1.1 O'rnatish.

Desktop Ubuntu 9.04 32bit yoki 64bit-ni bu yerdan yuklab oling: http://www.ubuntu.com/getubuntu/download

1.2 Tizim va tarmoq sozlamalari

Kompyuteringizni tarmoqqa ulang. Tizim turli xil sozlamalar bilan ishlashi mumkin bo'lsa-da, quyidagi konfiguratsiyaga afzallik beriladi:

  • Demilitarizatsiya zonasida (DMZ) turar joy.
  • Statik IP manzil NAT tomonidan xavfsizlik devori orqasida yashiringan.
  • Tarmoq kalitidagi monitoring portiga ulaning (SWITCH).

ismli yangi administrator yarating <ваше_имя> va parol <ваш_пароль> .

1.3 Dasturiy ta'minotni o'rnatish.

O'rnatish tugallangandan so'ng qilinadigan birinchi narsa Ubuntu tomonidan tavsiya etilgan yangilanishlarni o'rnatishdir. Yangilanishlarga kirish uchun menyuga o'ting: Tizim> Ma'muriyat> Yangilash menejeri (Tizim> Ma'muriyat> Yangilash menejeri). Parolingizni kiriting va Tekshirish-ni tanlang. Yangilanishlarni o'rnatish-ni tanlang.

Ish stolidan Tizim > Ma'muriyat > Synaptic paket menejeri (Tizim > Ma'muriyat > Synaptic paket menejeri) ga o'ting. Parolingizni kiriting va Qidiruv-ni tanlang.

Quyidagi paketlarni toping va o'rnating:

  • Barcha bog'liq paketlar bilan kislotali asos
  • Barcha bog'liq paketlar bilan Snort-MySQL
  • Barcha bog'liq paketlar bilan MySql-server-5.0
  • libpcap0.8-dev
  • libmysqlclient15-dev
  • mysql-client-5.0
  • Bizon
  • Apache2
  • libapache2-mod-php5
  • php5-gd
  • php5 mysql
  • libphp-adodb
  • php-nok

2. Superfoydalanuvchi huquqlarini oling

Ish stolidan menyuga o'ting: Ilovalar> Aksessuarlar> Terminal (Ilovalar> Qo'shimchalar> Terminal) va buyruqni kiriting:

$ sudo -i
$ parolni kiriting

3. Snort-ni sozlang

Shaxsiy imtiyozlarni o'rnatish uchun siz snort.conf konfiguratsiya faylini o'zgartirishingiz kerak.

Matn muharriri (nano, vi, vim yoki boshqa) yordamida /etc/snort/snort.conf faylini oching.

# vim /etc/snort/snort.conf

Var HOME_NET any ni HOME_NET 192.168.1.0/24 ga o‘zgartiring (uy tarmog‘ingiz manzili 192.168.1.0 dan farq qilishi mumkin). Agar siz bir nechta tarmoqlarni kuzatayotgan bo'lsangiz, ushbu tarmoqlarning barchasini quyidagicha belgilashingiz kerak: var HOME_NET . Var EXTERNAL_NET any ni var EXTERNAL_NET !$HOME_NET ga o‘zgartiring (tashqi HOME_NET o‘zgaruvchisidan tashqari barcha o‘zgaruvchilarni o‘rnatadi).

Var RULE_PATH ../rules ni var RULE_PATH /etc/snort/rules ga o'zgartiring. Ro'yxatni # ma'lumotlar bazasi chiqishi yozilgan joyga aylantiring: log, mysql, user=, satr boshidan # belgisini olib tashlang.

Misol: chiqish ma'lumotlar bazasi: log, mysql, user= parol = dbname=snorthost=localhost

(yangi foydalanuvchi qachon yaratilganligi uchun yuqoriga qarang).

Foydalanuvchi nomi, parol va ma'lumotlar bazasi nomini (dbname) yozing. MySQL ma'lumotlar bazasini o'rnatishda sizga ushbu ma'lumot kerak bo'ladi. O'zgarishlarni saqlang va chiqing.

4. MySQL da Snort va Arxiv ma'lumotlar bazalarini o'rnatish

4.1 MySQL-ni o'rnatish

MySQL serveriga kiring.

# mysql -u root -p

Ba'zan shunday bo'ladiki, parol o'rnatilmagan, shuning uchun "Enter" tugmasini bosing.

Agar tizimga kirish amalga oshmasa, yuqoridagi buyruqni qayta kiritib ko‘ring va YOUR_PASSWORD so‘zini kiriting.

Agar parol bo'lmasa, superuser hisobi uchun parol o'rnatishingiz kerak.

Eslatma: MySQL serverida bo'lganingizda, "#" belgilar guruhi so'rovda "mysql>" sifatida ko'rsatiladi.

mysql> foydalanuvchi yaratish @localhost;
mysql> UCHUN PAROL O'RING [elektron pochta himoyalangan]=PAROL( );
mysql> UCHUN PAROL O'RING [elektron pochta himoyalangan]=PAROL( );

4.2 Snort ma'lumotlar bazasini yaratish

mysql> ma'lumotlar bazasi snort yaratish; mysql> rootda INSERT,SELECT ni bering.* to [elektron pochta himoyalangan]; mysql> snort-ga YARATISH, QO'SHISH, TANLASH, O'CHIRISH, YANGILASH ni bering.* @localhost; mysql> snortda CREATE, INSERT, SELECT, DELETE, UPDATE funksiyalarini bering.* snort uchun;

4.3 Arxiv ma'lumotlar bazasini yaratish

mysql> ma'lumotlar bazasi arxivini yaratish; mysql> arxivda YARATISH, QO'SHISH, TANLASH, O'CHIRISH, YANGILASH berish.* @localhost; mysql> arxivda YARATISH, QO'SHISH, TANLASH, O'CHIRISH, YANGILASH.* arxivlash uchun; mysql> chiqish

4.4 Snort va Archive ma'lumotlar bazalarida jadvallar yaratish

Biz Snort va Arxiv ma'lumotlar bazalarini yaratish uchun Snort sxemasidan foydalanamiz.

# cd /usr/share/doc/snort-mysql # zcat create_mysql.gz | mysql -u -h localhost -p snort # zcat create_mysql.gz | mysql -u -h localhost -p arxivi

4.5 Ma'lumotlar bazalari va yangi yaratilgan jadvallarni yaratishni tasdiqlash.

MySQL serveriga kiring va biz yaratgan ma'lumotlar bazalarini va ushbu ma'lumotlar bazalarida joylashtirilgan jadvallarni tekshiring. Agar hamma narsa muvaffaqiyatli yaratilgan bo'lsa, MySQL ma'lumotlar bazalarida to'rtta (4) ma'lumotlar bazasini (mysql, test, snort va arxiv) va har bir ma'lumotlar bazasida taxminan 16 ta jadvalni ko'rasiz.

# mysql -u root -p mysql> ma'lumotlar bazalarini ko'rsatish; mysql> snort dan foydalaning; mysql>jadvallarni ko'rsatish; mysql> arxivdan foydalanish; mysql>jadvallarni ko'rsatish; mysql> chiqish

4.6 Snortni sinash

Terminal rejimida buyruqni kiriting: # snort -c /etc/snort/snort.conf

Agar hamma narsa yaxshi bo'lsa, javobni ascii kodlarida ko'rishingiz kerak.

Sinovni tugatish uchun ctrl + c tugmalarini bosing

5. Apache2 ni sozlash

Apache2 paketi allaqachon kompyuterda o'rnatilgan bo'lishi kerak.

Sevimli matn muharriringizdan foydalanib, /var/www/ jildida test.php nomli fayl yarating.

# vim /var/www/test.php

Unga yozing:

O'zgarishlarni saqlang va ushbu faylni yoping.

/etc/php5/apache2/php.ini faylini tahrirlang

# vim /etc/php5/apache2/php.ini

"Dinamik kengaytmalar" qatoriga quyidagilarni qo'shing:

extension=mysql.so extension=gd.so

Apache2-ni qayta yuklang.

# /etc/init.d/apache2 qayta ishga tushiring

Ish kompyuteringizning IP manzilini oling.

# ifconfig -a

Veb-brauzerni oching va http://YOUR_IP_ADDRESS/test.php ga o'ting.

Agar hamma narsa yaxshi bo'lsa, PHP ma'lumotlari ko'rsatiladi.

6. Papka konfiguratsiyasi

ADOdb-ni /var/www jildiga o'tkazing.

# mv /usr/share/php/adodb /var/www/

Www-da web deb nomlangan papka yarating va unga ACIDBASE-ni o'tkazing.

# mkdir /var/www/web # mv /usr/share/acidbase /var/www/web/

O'rnatish uchun kislota asosi papkasini vaqtincha yozishni yoqing.

# chmod 777 /var/www/web/acidbase

# cd /var/www/web/acidbase # mv base_conf.php base_conf.old

ACIDBASE da ishlash uchun quyidagi buyruqni bajaring:

# nok o'rnatish Image_Color

7. Snort va Archive ma'lumotlar bazalari uchun ACIDBASE dasturini o'rnatish

7.1 Snort ma'lumotlar bazasini veb-brauzer orqali o'rnatish

1/5 qadam:

ADODB yo'lini kiriting. Bu /var/www/adodb.

2/5 qadam:

Asosiy ma'lumotlar bazasi turi = MySQL (Asosiy ma'lumotlar bazasi turi),
Ma'lumotlar bazasi nomi = snort (Ma'lumotlar bazasi Snort),
Ma'lumotlar bazasi xosti = localhost (Snort ma'lumotlar bazasining mahalliy joylashuvi),
Ma'lumotlar bazasi foydalanuvchi nomi =<ваше_имя_пользователя>(Snort ma'lumotlar bazasi bo'yicha foydalanuvchi nomi),
Ma'lumotlar bazasi paroli =<ваш_пароль>(Snort ma'lumotlar bazasi uchun parol)

Arxiv ma'lumotlar bazasi turi = MySQL (Arxiv ma'lumotlar bazasi turi),


Ma'lumotlar bazasi foydalanuvchi nomi =<ваше_имя_пользователя>
Ma'lumotlar bazasi paroli =<ваш_пароль>

3/5 qadam:

Agar autentifikatsiyadan foydalanmoqchi bo'lsangiz, foydalanuvchi nomingiz va parolingizni kiriting (foydalanuvchi:<ваше_имя>, parol:<ваш_пароль>).

4/5 qadam:

BASE AG yaratish-ni bosing.

5/5 qadam:

4-qadam tugagach, pastki qismida bosing: Endi 5-bosqichga o'ting (Endi 5-bosqichga o'ting) .

Ushbu sahifani belgilang.

7.2 Arxiv ma'lumotlar bazasi ACIDBASE uchun papka yarating

Arxiv ma'lumotlar bazasi to'g'ri ishlashi uchun ACIDBASE papkasida arxiv papkasi yaratilishi kerak.

# mkdir /var/www/web/acidbase/archive # cd /var/www/web/acidbase # cp -R * /var/www/web/acidbase/archive # chmod 777 /var/www/web/acidbase/archive

Mavjud base_conf.php faylining nomini base_conf.old deb o'zgartiring.

# cd /var/www/web/acidbase/archive # mv base_conf.php base_conf.old

7.3 Arxiv ma'lumotlar bazasini veb-brauzer orqali o'rnatish.

Veb-brauzerni oching va http://YOUR_IP_ADDRESS/web/acidbase/archive/setup ga o'ting.

Birinchi sahifada Davom etish tugmasini bosing.

1/5 qadam:

ADODB yo'lini kiriting. Bu /var/www/adodb. >

2/5 qadam:

Arxiv ma'lumotlar bazasi turi = MySQL (ma'lumotlar bazasi turi),
Ma'lumotlar bazasi nomi = arxiv (Arxiv ma'lumotlar bazasi),
Ma'lumotlar bazasi xosti = localhost (Arxiv ma'lumotlar bazasining mahalliy joylashuvi),
Ma'lumotlar bazasi foydalanuvchi nomi =<ваше_имя_пользователя>(Arxiv ma'lumotlar bazasining foydalanuvchi nomi),
Ma'lumotlar bazasi paroli =<ваш_пароль>(Arxiv ma'lumotlar bazasi uchun parol)

3/5 qadam:

Agar autentifikatsiyadan foydalanmoqchi bo'lsangiz, foydalanuvchi nomingiz va parolingizni kiriting (foydalanuvchi:<ваше_имя_пользователя>, parol:<ваш_пароль>).

4/5 qadam:

BASE AG yaratish-ni bosing.

5/5 qadam:

4-bosqich tugagach, pastga bosing: Endi 5-bosqichga o'ting (Endi 5-bosqichga o'ting).

8. Snort-ni ishga tushiring va xizmatlarning holatini tekshiring.

Snortni ishga tushirish uchun terminal rejimiga yozing:

# snort -c /etc/snort/snort.conf -i eth0 -D

Bu buyruq demo rejimida eth0 interfeysi yordamida snortni boshlaydi.

Xizmat ishlayotganligini quyidagi buyruq bilan tekshirishingiz mumkin:

# ps aux | grep qichqirdi

Agar xizmat ishlayotgan bo'lsa, siz quyidagi snort -c /etc/snort/snort.conf -i eth0 -D ga o'xshash narsani ko'rasiz.

Quyidagi buyruqlarni bajarish orqali barcha kerakli xizmatlar ishlayotganligini tekshiring:

# /etc/init.d/mysql status # /etc/init.d/apache2 status # /etc/init.d/snort status

Agar xizmatlar ishlayotgan bo'lsa, siz javob xabarini ko'rasiz .

Agar kerak bo'lsa, buyruqni bajaring
# /etc/init.d/ qayta ishga tushirish
qayta ishga tushirilishi kerak bo'lgan xizmatlarning har biri uchun.

Maqola yoqdimi? Do'stlaringizga ulashing: