Отворете
Близо

Инсталиране и конфигуриране на Snort на Linux. Практикувайте използването на IDS SNORT. Структура и функциониране на смъркане

Днес често се говори много за сигурността на безжичните мрежи, но мрежовото хакване се възприема като нещо много далечно. Ние вече публикуван материалза това как да разбиете WEP защитата. Освен това след известно време излезе продължениеза това как да защитите вашата мрежа. Днес вниманието ни ще бъде посветено на инструментите за проверка на сигурността на безжичната мрежа. А също и системи за откриване на атаки - един вид „пожарна аларма“ за вашата WLAN.

Между другото, ако говорим за хакване на WLAN, тогава потребителите на домашни и малки офис мрежи изглеждат особено уязвими за нас. Това се дължи преди всичко на факта, че те имат други задачи, освен да защитават своята безжична мрежа. И за разлика от големите компании, те нямат възможност да наемат професионалисти.

Не всичко обаче е толкова тъжно, колкото изглежда. В природата има начини за оценка на сигурността на безжична мрежа, въпреки привидната абсурдност на комбинацията от думите „сигурност“ и „безжична мрежа“. Системите за откриване на проникване (IDS) могат да открият потенциални прониквания, преди те да се случат, докато врагът търси пролука. Разбира се, такива системи не могат да гарантират пълна сигурност (и какво, между другото, може?), но в комбинация със защитни стени и други мерки за сигурност те могат да бъдат много полезни. Общоприето е, че IDS е вид аларма за сигурност: тоест тя само уведомява за атака, оставяйки работата с нападателя на други системи и средства (дори физически).

Ориз. 1. Смъркайте IDS.


Ориз. 3. Linksys WRT54G.

По-долу ще дадем примери, базирани на WRT54G с фърмуер OpenWRT RC 2(с кодово име "White Russian"). Всъщност има много дистрибуции на Linux за безжични рутери, но ние избрахме фърмуера OpenWRT, защото е прост, лек и пакетиран като Debian Linux.


Ориз. 4. OpenWRT на работа.

Внимание. Зареждането на OpenWRT, Snort Wireless или други алтернативни версии на фърмуера в WRT54G ще анулира гаранцията. Преди да започнете да флашвате алтернативна версия на фърмуера, препоръчваме Изтегликопие на текущата версия на фърмуера

Няма да навлизаме в подробности относно инсталирането на OpenWRT, тъй като можете да го намерите на уебсайта на OpenWRT отлично ръководство за инсталиране. След като инсталацията приключи, можете да се свържете с рутера с помощта на Telnet () и да се насладите на резултата.

След като инсталирате OpenWRT на рутера, можете да изтеглите и инсталирате програмата Snort Wireless. Всичко това може да стане чрез споменатата пакетна система OpenWRT – стартирайте командата ipkgсъс следните параметри.

ipkg инсталирайте http://nthill.free.fr/openwrt/ipkg/testing/20041204/snort-wireless_2.1.1-1_mipsel.ipk

Някои може да не харесат, че този пакет е на повече от една година. Но няма нищо лошо в това, тъй като всички необходими IDS функции присъстват тук и всички по-късни правила на Snort също могат да бъдат изтеглени чрез ipkg (повече подробности: Страница за проследяване на OpenWRT). Ако решите да организирате точка за достъп на компютър, можете да изтеглите изходния код на Snort Wireless и да го компилирате директно на вашия компютър. Имайте предвид, че трябва да добавите флага --enable-wireless, в противен случай Wi-Fi препроцесорите няма да работят.

Snort Wireless работи като обикновен Snort, но е специално проектиран за безжични точки за достъп, което ви позволява ефективно да ги защитите от атаки. По-конкретно, той съдържа нов протокол за правила, наречен wifiи позволява на IDS да изолира правилно безжичния трафик, типичен за обичайните WLAN атаки. Например същите атаки с помощта на Netstumbler или опити за кракване на WEP. Използването на wifi протокола в Snort Wireless е много подобно на настройването на нормалните правила за Snort, с едно изключение: вместо да въвеждате IP адресите и портовете на първия и втория възел, трябва да използвате техните MAC адреси.

На този етап имаме работещ Snort Wireless. Нека да преминем към настройването му за използване в избраната мрежа. Когато стартирате ipkg, Snort се инсталира в директорията /etc/snortна рутера. Подобно на други Unix програми, Snort използва редактируем конфигурационен файл, където можете да посочите информация за вашата мрежова среда и различните модели на атака, които искате да наблюдавате. Файлът се извиква snort.conf (Ориз. 5) и се намира в указателя /etc/snort. Трябва да се отвори във всеки текстов редактор (ако вашият рутер няма такъв, изтеглете го с ipkg).


Ориз. 5. Конфигурационен файл Snort.conf.

Сега можете да конфигурирате всички необходими мрежови параметри, включително името на точката за достъп, на която работи IDS, и MAC адресите на клиентите, които искате да наблюдавате. Има много настройки, които можете да конфигурирате тук, така че прегледайте внимателно всички, за да сте сигурни, че няма да пропуснете нищо.

По-специално погледнете специфичните за Wi-Fi препроцесори в Snort Wireless. Те включват препроцесори за откриване на пасивно мрежово сканиране от програми като NetStumbler и опити за подправяне на MAC адрес. Решихме да разгледаме отделно важните препроцесори.


Ориз. 6. Препроцесорът AntiStumbler ви позволява да уведомите за разузнавателна атака.

  • AntiStumbler. Програми като NetStumbler и MacStumbler ( Ориз. 6), използвайте нулеви SSID за откриване на точки за достъп. Тези SSID действат като излъчвания и принуждават други точки за достъп да изпращат своите SSID до искащия възел. Тази функция е полезна при търсене на налични безжични мрежи. Препроцесорът AntiStumbler разпознава, че твърде много нулеви SSID се изпращат от един MAC адрес и може да предизвика аларма.
    Забележка. Този препроцесор не позволява дефинирането на програми като Кисмет, тъй като те само пасивно слушат 802.11 кадри и не изпращат заявки.
  • DeauthFlood. Тази атака е описана подробно в нашия материал за WEP хакване. Използва се за прекъсване на връзката между хостове и точки за достъп и принудителен опит за повторно свързване, което осигурява допълнителни пакети за анализ по време на WEP кракване. В допълнение, атаката може да се използва за „отказ на услуга“ (DoS) на точка за достъп. Препроцесорът DeauthFlood разпознава този тип атака, като брои броя деаутентификационни кадри за единица време и, ако е необходимо, подава аларма.
  • AuthFlood. Атаката е подобна на предишната, но препроцесорът AuthFlood открива твърде много опити за удостоверяване, тоест опити на клиенти да се свържат с безжичната мрежа, което може да се използва като DoS атака на точката за достъп.
  • MacSpoof. Един от най-ефективните начини за ограничаване на достъпа до точка за достъп е създаването на списък с MAC адреси на разрешени клиенти. За съжаление, нападател може да подмени MAC адреса на своята машина и да се свърже с точката за достъп. Препроцесорът MacSpoof проверява номерата на пакетите и, ако бъдат открити някакви несъответствия, показващи възможно подправяне на MAC адрес, предизвиква аларма.
  • RogueAP. Извънземните („вражески“) точки за достъп са маскирани като обикновени, така че потребителят погрешно да се свърже с тях и да прехвърли всякакви лични данни. Този препроцесор все още не е изпълнено, но в бъдещи издания ще може да отчита близостта на точките за достъп на други хора.

В допълнение, Snort Wireless включва много предварително дефинирани правила за огромен брой ситуации. В зависимост от конфигурацията на мрежата някои от правилата може да са много удобни. Например всички уеб правила, ако във вашата мрежа работи уеб сървър. За да активирате правило, просто разкоментирайте съответния ред в конфигурационния файл на Snort. Индивидуалните набори от правила се записват в директория по подразбиране /etc/snort/rules, като всеки от тях може да се види с помощта на текстов редактор. Правилата в комплектите са точно същите като в самия Snort. Между другото, следвайки примерите, лесно можете сами да напишете правило.


Ориз. 7. Правилото Snort откри машина за сканиране на портове.

В ход

Когато файлът snort.confготов, можете да стартирате Snort. При стартиране можете да зададете много параметри, които определят всичко от изхода до работния режим. Първо, нека стартираме Snort със следните параметри (в опциите на Telnet).

изсумтяване -D -A пълен

Тази команда стартира Snort като фонов процес, така че можете да продължите да работите с обвивката спокойно. Когато се задейства аларма, пълната информация ще бъде записана в дневника.

Сега, когато Snort работи, можете да помислите за допълнителни начини за защита на вашата безжична мрежа. Да кажем, че можете да се свържете Кисмет- помощна програма, подобна на Snort, която може да се използва като допълнителна система за откриване на проникване. Snort работи само на третия слой на OSI модела - мрежовия слой, който отговаря за IP и друг трафик. И Kismet работи на второ ниво - нивото на канала, отговарящо за Ethernet кадрите. По този начин, разполагането на двете системи по двойки значително ще увеличи цялостната сигурност.


Ориз. 8. Kismet на работа.

Можете да конфигурирате Snort да записва регистрационни файлове в база данни, което улеснява по-нататъшния анализ. Даниел Валтер написа управлениеза това как да настроите запис в MySQL и PostgreSQL бази данни. Ако използвате Gentoo Linux на машина, която действа като точка за достъп, тогава можете да отидете по-далеч: инсталирайте Apache и конфигурирайте показването на регистрационни файлове през мрежата. На сайта Gentoo WikiМожете да намерите подробно описание на такава настройка.


Ориз. 9. Преглед на регистрационните файлове на Snort чрез MySQL, ACID и Apache.

Заключение

Докоснахме само основните принципи на работа на Snort. По принцип, въз основа на материалите в статията, можете да конфигурирате системата на точка за достъп. Snort обаче има много повече функции от описаните в статията. По-специално, можете да създадете управлява независимо, което ще помогне за по-дълбоко интегриране на Snort в мрежата.

И накрая, не забравяйте, че за да защитите ефективно вашата безжична мрежа, Snort и правилата трябва да се поддържат актуални. Не забравяйте да го посещавате редовно Snort Wireless, и ipkg инструмент за проследяване на пакети(за OpenWRT инсталации) или Страница с правила на Snort(за другите).

Подобно на други инструменти за сигурност, Snort не е панацея за защита на вашата мрежа. Това е само един от бастионите на вашата крепост. Но в отбранителния комплекс работи много добре.


Дата на публикуване: 21 септември 2009 г
Превод: С.Владимирски
Трансферна дата: 2 октомври 2009 г

Това ръководство описва как да инсталирате и конфигурирате система за откриване на проникване (IDS) със Snort, ACIDBASE (ядро за анализ и сигурност), пакети MySQL и Apache2 на Ubuntu 9.04 с помощта на мениджъра на пакети Synaptic Ubuntu. Snort ще ви помогне да наблюдавате вашата мрежа и да ви предупреждава за възможни заплахи. В този случай Snort ще генерира лог файлове за MySQL базата данни, а ACIDBASE ще ви позволи да ги показвате в графичен интерфейс в уеб браузър.

1. Подготовка на системата и инсталиране на софтуер.

1.1 Инсталиране.

Изтеглете Desktop Ubuntu 9.04 32-bit или 64-bit от тук: http://www.ubuntu.com/getubuntu/download

1.2 Системни и мрежови настройки

Свържете вашия компютър към мрежата. Въпреки че системата може да работи с различни настройки, за предпочитане е следната конфигурация:

  • Намира се в демилитаризирана зона (DMZ).
  • Статичен IP адрес, скрит зад защитна стена, използваща NAT.
  • Свържете се към порта за наблюдение на мрежовия комутатор (SWITCH).

Създайте нов администратор с име <ваше_имя> и парола <ваш_пароль> .

1.3 Инсталиране на софтуер.

Първото нещо, което трябва да направите, след като инсталацията приключи, е да инсталирате всички актуализации, препоръчани от Ubuntu. За достъп до актуализации отидете в менюто: Система > Администриране > Мениджър на актуализации. Въведете паролата си и изберете Проверка. Изберете Инсталиране на актуализации.

От вашия работен плот отидете на Система > Администриране > Synaptic Package Manager. Въведете паролата си и изберете Търсене.

Намерете и инсталирайте следните пакети:

  • Acidbase с всички зависими пакети
  • Snort-MySQL с всички зависими пакети
  • MySql-server-5.0 с всички зависими пакети
  • Libpcap0.8-dev
  • libmysqlclient15-dev
  • MySql-клиент-5.0
  • Бизони
  • Apache2
  • Libapache2-mod-php5
  • Php5-gd
  • Php5-mysql
  • libphp-adodb
  • Php-круша

2. Вземете права на суперпотребител

От работния плот отидете в менюто: Приложения\u003e Аксесоари\u003e Терминал (Приложения\u003e Добавки\u003e Терминал) и въведете командата:

$ sudo -i
$ въведете парола

3. Настройка на Snort

За да зададете потребителски настройки, трябва да редактирате файла с настройки snort.conf.

Използвайки текстов редактор (nano, vi, vim или друг), отворете файла /etc/snort/snort.conf.

# vim /etc/snort/snort.conf

Променете променливата HOME_NET всяка променлива на променлива HOME_NET 192.168.1.0/24 (адресът на вашата домашна мрежа може да е различен от 192.168.1.0). Ако наблюдавате множество мрежи, трябва да посочите всички тези мрежи, както следва: var HOME_NET. Променете var EXTERNAL_NET any на var EXTERNAL_NET !$HOME_NET (задава всички променливи с изключение на външната променлива HOME_NET).

Променете var RULE_PATH ../rules на var RULE_PATH /etc/snort/rules. Превъртете до точката, където е посочен ред # изходна база данни: log, mysql, user=, премахнете знака # от началото на реда.

Пример: изходна база данни: log, mysql, user= парола= dbname=хост host=localhost

(вижте по-горе кога е създаден нов потребител).

Запишете си потребителското име, паролата и името на базата данни (dbname). Тази информация ще ви е необходима, когато инсталирате базата данни MySQL. Запазете промените и излезте.

4. Инсталиране на бази данни Snort и Archive в MySQL

4.1 Инсталиране на MySQL

Влезте в MySQL сървъра.

# mysql -u root -p

Понякога се случва да няма зададена парола, така че просто натиснете "Enter".

Ако не можете да влезете, опитайте горната команда отново и въведете YOUR_PASSWORD.

Ако няма парола, трябва да зададете парола за акаунта на суперпотребител.

Забележка: Когато сте на MySQL сървър, подканата показва групата знаци "mysql>" вместо символа "#".

mysql> създаване на потребител @localhost;
mysql> ЗАДАДЕТЕ ПАРОЛА ЗА r@localhost=ПАРОЛА( );
mysql> ЗАДАДЕТЕ ПАРОЛА ЗА root@localhost=ПАРОЛА( );

4.2 Създаване на база данни на Snort

mysql> създаване на база данни snort; mysql> предостави INSERT,SELECT на root.* на snort@localhost; mysql> предостави CREATE,INSERT,SELECT,DELETE,UPDATE на snort.* на @localhost; mysql> предоставя CREATE,INSERT,SELECT,DELETE,UPDATE на snort.* за изсумтяване;

4.3 Създаване на архивна база данни

mysql> създаване на архив на база данни; mysql> предоставя CREATE,INSERT,SELECT,DELETE,UPDATE на архив.* на @localhost; mysql> предоставя CREATE,INSERT,SELECT,DELETE,UPDATE на архив.* за архивиране; mysql> изход

4.4 Създаване на таблици в бази данни Snort и Archive

Ще използваме схемата Snort за оформление на базите данни Snort и Archive.

# 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 архив

4.5 Потвърждение за създаването на бази данни и новосъздадени таблици.

Влезте в MySQL сървъра и проверете базите данни, които току-що създадохме, и таблиците, хоствани в тези бази данни. Ако всичко е създадено успешно, ще видите четири (4) бази данни (mysql, test, snort и архив) в базите данни на mysql и приблизително 16 таблици във всяка база данни.

# mysql -u root -p mysql> показване на бази данни; mysql> използвайте snort; mysql> показване на таблици; mysql> използвайте архив; mysql> показване на таблици; mysql> изход

4.6 Тестване на Snort

В терминален режим въведете командата: # snort -c /etc/snort/snort.conf

Ако всичко е минало добре, трябва да видите отговора в ascii кодове.

За да приключите теста, натиснете ctrl + c

5. Конфигуриране на Apache2

Пакетът Apache2 трябва вече да е инсталиран на вашия компютър.

Използвайки любимия си текстов редактор, създайте файл, наречен test.php в папката /var/www/.

# vim /var/www/test.php

Напишете в него:

Запазете промените си и затворете този файл.

Редактирайте файла /etc/php5/apache2/php.ini

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

Под реда „Динамични разширения“ добавете следното:

Разширение=mysql.so разширение=gd.so

Рестартирайте Apache2.

# /etc/init.d/apache2 рестартирайте

Вземете IP адреса на работния си компютър.

# ifconfig -a

Отворете вашия уеб браузър и отидете на http://ВАШИЯ_IP_АДРЕС/test.php.

Ако всичко е минало добре, ще се покаже информация за PHP.

6. Конфигуриране на папки

Преместете ADOdb в папката /var/www.

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

Създайте папка с име web в www и преместете ACIDBASE в нея.

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

Временно разрешете писане в папката на базата данни acidbase, за да го инсталирате.

# chmod 777 /var/www/web/acidbase

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

За да работите в ACIDBASE, изпълнете командата:

#pear инсталирайте Image_Color

7. Инсталиране на ACIDBASE за бази данни Snort и Archive

7.1 Инсталиране на базата данни Snort чрез уеб браузър

Стъпка 1 от 5:

Въведете пътя до ADODB. Това е /var/www/adodb.

Стъпка 2 от 5:

Основен тип база данни = MySQL
Име на базата данни = snort
Хост на база данни = localhost (Локално местоположение на базата данни на Snort),
Потребителско име на база данни =<ваше_имя_пользователя>(Потребителско име на Snort база данни)
Парола за база данни =<ваш_пароль>(Парола за база данни на Snort)

Тип архивна база данни = MySQL (тип архивна база данни),


Потребителско име на база данни =<ваше_имя_пользователя>
Парола за база данни =<ваш_пароль>

Стъпка 3 от 5:

Ако искате да използвате удостоверяване, въведете вашето потребителско име и парола (потребител:<ваше_имя>, парола:<ваш_пароль>).

Стъпка 4 от 5:

Щракнете върху Създаване на BASE AG.

Стъпка 5 от 5:

Когато стъпка 4 приключи, в долната част щракнете върху: Сега продължете към стъпка 5.

Отбележи тази страница.

7.2 Създайте папка за базата данни Archive ACIDBASE

За да работи правилно архивната база данни, трябва да се създаде архивна папка в папката ACIDBASE.

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

Преименувайте съществуващия файл base_conf.php на base_conf.old.

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

7.3 Инсталиране на архивната база данни чрез уеб браузър.

Отворете уеб браузър и отидете на http://ВАШИЯ_IP_АДРЕС/web/acidbase/archive/setup.

На първата страница щракнете върху Продължи.

Стъпка 1 от 5:

Въведете пътя до ADODB. Това е /var/www/adodb. >

Стъпка 2 от 5:

Архив тип база данни = MySQL
Име на база данни = архив (Архив на база данни),
Хост на база данни = localhost (Локално местоположение на архивната база данни),
Потребителско име на база данни =<ваше_имя_пользователя>(Потребителско име за архивна база данни),
Парола за база данни =<ваш_пароль>(Парола за архивна база данни)

Стъпка 3 от 5:

Ако искате да използвате удостоверяване, въведете вашето потребителско име и парола (потребител:<ваше_имя_пользователя>, парола:<ваш_пароль>).

Стъпка 4 от 5:

Кликнете върху Create BASE AG.

Стъпка 5 от 5:

Когато стъпка 4 е завършена, щракнете в долната част: Сега продължете към стъпка 5 (Сега преминете към стъпка 5).

8. Стартирайте Snort и проверете състоянието на услугите.

За да стартирате Snort, въведете в терминален режим:

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

Тази команда стартира snort с помощта на интерфейса eth0 в демо режим.

Можете да проверите дали услугата работи, като използвате следната команда:

# ps aux | grep изсумтяване

Ако услугата работи, ще видите нещо подобно на следното snort -c /etc/snort/snort.conf -i eth0 -D.

Проверете дали всички необходими услуги работят, като изпълните следните команди:

# /etc/init.d/mysql статус # /etc/init.d/apache2 статус # /etc/init.d/snort статус

Ако услугите работят, ще видите съобщение за отговор .

Ако е необходимо, изпълнете командата
# /etc/init.d/ рестартирам
за всяка от услугите, които трябва да бъдат рестартирани.

Въведение

Основната цел на тази работа е да опише и проучи популярното IDS приложение Snort. Snort е голям проект с отворен код, който се използва от много мрежови администратори за улавяне на злонамерени подписи и ги предупреждава, когато тяхната мрежа е атакувана. Snort прихваща целия трафик от мрежовите интерфейси, като проверява пакетите за подозрителни заявки и опити за проникване.

Основното му предимство е неговата достъпност и възможността да редактирате работата му, за да отговаря на вашата конкретна работна мрежа. Програмата е предназначена за работа както в малки, така и в големи организации. Също така важна е възможността да редактирате свои собствени уникални правила въз основа на изискванията за сигурност на конкретна организация (например забрана за достъп на служители до социални мрежи).

Недостатъците включват неудобството при настройка и инсталиране на някои операционни системи (например Windows), липсата на едно достатъчно пълно и подробно описание на настройката и разработването на ваш собствен набор от правила.

Освен това е много трудно да се изключат фалшивите аларми, тъй като различните предприятия често имат различни ограничения и е необходима доста фина настройка на правилата. Много режими за стартиране на приложение с помощта на чувствителни към малки и главни букви клавиши са много трудни за запомняне и могат да доведат до грешен резултат.

Основната задача на тази работа е да се разберат функционалните характеристики на IDS Snort и да се провери работата на приложението чрез извършване на различни видове мрежови атаки върху него. Разберете дали има подобни IDS в по-удобен формат. Как Snort взаимодейства с бази данни. Разработете няколко уникални правила и ги тествайте за функционалност.

Инсталиране и конфигуриране на IDS Snort

Snort: Инсталиране на Windows XP

Когато инсталирате Snort на операционна система Windows, може да срещнете някои трудности. Следователно тази работа се фокусира върху доста подробна част от опциите за инсталиране и конфигуриране. Първо трябва да изтеглите необходимите програми на работния си компютър.

Правила за Snort.

Всичко по-горе се изтегля от официалните уебсайтове на тези приложения.

Winpcap е приложение, което улавя и филтрира пакети на ниво ядро. Това е аналогично на вградения драйвер за Unix libpcap. Инсталацията няма да причини особени неудобства; тя се стартира чрез обикновен инсталатор. След това трябва да изтеглите самия IDS от официалния уебсайт, след което изтегляме най-новия архив с правилата от там. Следващата стъпка ще бъде да копирате напълно всички папки, които са били в архива с правилата, в главната директория на приложението, като напълно замените съдържанието, където е необходимо. След това, за да работи програмата правилно, ще трябва да направите важни промени в конфигурационния файл.

var RULE_PATH c: snort ules

var SO_RULE_PATH c:snortso_rules

var PREPROC_RULE_PATH c:snortpreproc_rules

директория на динамичен препроцесор c:snortlibsnort_dynamicpreprocessor

dynamicengine c:snortlibsnort_dynamicenginesf_engine.dll

#dynamicdetection директория /usr/local/lib/snort_dynamicrules

Намираме подобни редове в конфигурационния файл и ги заместваме с посочените по-горе. След това се опитваме да тестваме приложението. Стартирайте командния ред и отидете в директорията на приложението в секцията „bin“. Въведете командата "snort -W"

Ориз. 1.1.

С тази команда проверяваме функционалността на приложението за преглед на нашите интерфейси. След като се уверим, че има повече от един от тях, избираме този, който е свързан към работещата мрежа, за да започне прихващане на пакети и наблюдение на работата на IDS.

C:Snortinsnort -i 3 -c C:snortetcsnort.conf -l C:snortlog -A конзола

Нека сега да разгледаме командата, която въведохме. "- i 3" означава, че ще разгледаме интерфейса, който има ID= 3 в списъка с нашите интерфейси. След това посочихме пътя до конфигурационния файл и пътя до директорията, където трябва да се записва „дневникът“ на прихванатите пакети. „-A конзола“ означава, че алармените пакети ще бъдат открити в нашата конзола. Ако възникнат проблеми по време на обработката, ние ги отстраняваме при идентифицирането им. Snort показва низа и типа на грешката при компилиране. Ако всичко работи, тогава няма да видим нищо, докато не се задейства едно от изпълняваните правила. За да използваме един от тях, нека се опитаме да симулираме мрежова атака и да стартираме подозрителен пакет в нашата локална мрежа. За да направите това, например, отворете командния ред и въведете следното: „Ping 192.168.1.16“. Snort ще прихване опит за слушане на хоста на адрес 192.168.1.1624 и ще покаже съобщение и информация за подозрителната активност в мрежата. За съжаление такива IDS системи имат сериозен недостатък - фалшиви положителни резултати. В тази връзка, за да бъде Snort полезен, а не подвеждащ, е необходимо достатъчно и ясно да се дефинират правилата и да се разграничат наблюдаваните мрежи, за да се избегнат тези фалшиви положителни резултати.


Ориз. 1.2.

Сега в конзолата, където работи нашият IDS, ще се появят съобщения за подозрителен пакет, който прилича на „слушане“. Това включено правило показа, че Snort е напълно функционален. Нека разгледаме неговите режими на работа и синтаксиса на правилата за по-нататъшна работа.

Милиарди пакети данни се предават през корпоративните мрежи всеки ден. Някои от тях са опасни; Авторите на такива пакети предприеха специални мерки за заобикаляне на защитните стени и пробиване на защитните линии по периметъра на мрежите, нарушавайки работата на всички системи, срещани по пътя. Разрушителните ефекти на пакетирани атаки като Code Red, Nimda, SQL Slammer и MSBlaster са добре известни. Всички тези зловреден софтуер използват надеждни протоколи (като HTTP) или мрежов трафик от системи на Microsoft. Такива протоколи не могат просто да бъдат взети и блокирани, така че администраторите обикновено се опитват да уловят опасния трафик възможно най-бързо, като използват системи за откриване на неоторизиран достъп, система за откриване на проникване в мрежа (NIDS), за да реагират навреме на заплахата.

В търговската мрежа се предлагат няколко NIDS, които се различават по възможности и цена. Като цяло всички работят успешно. Всички търговски пакети, които срещнах, бяха отлични. Но какво трябва да направят организациите със скромни бюджети, ако откриването на проникване не е приоритет? За такива случаи има Snort - мощен безплатен NIDS пакет. За разлика от много пакети с отворен код, той е съвместим с Windows.

Запознаване със Snort

Първоначалният разработчик на Snort, Мартин Реш, направи програмата достъпна за отворената общност съгласно условията на GNU General Public License (GPL). Историята на този пакет започва през 1998 г. и оттогава той е доказал своята надеждност повече от веднъж. Благодарение на приноса на отворени членове на общността и мрежови администратори по целия свят, Snort се превърна в много мощен продукт. Текущата версия осигурява анализ на мрежовия трафик в реално време и регистриране на IP трафика при скорост на Fast Ethernet и Gigabit Ethernet.

Майкъл Дейвис пренесе Snort 1.7 към платформата Win32, правейки го достъпен за общността на Windows. След това Крис Рийд се зае със задачата да компилира нови версии на Snort в готови изпълними файлове, които могат лесно да бъдат внедрени в среда на Windows.

Администраторите, които не са запознати с NIDS, могат да мислят за инструмента като за специален тип мрежов анализатор. NIDS проверява всеки пакет, преминаващ през интерфейса, търсейки известни модели в полезния товар, където злонамереният код обикновено е скрит. Със Snort можете да извършвате операции за търсене и съпоставяне на всеки пакет, преминаващ през мрежата на организацията, и да откривате много видове атаки и нелегитимен трафик в реално време.

Изисквания за Snort

За да стартирате Snort, имате нужда от компютър с Windows, оборудван с поне един мрежов адаптер. По-добре е да имате два мрежови адаптера, единият свързан към контролираната мрежа, а другият към производствената мрежа; последният препраща докладите. Snort е съвместим не само с Windows 2000 Server и по-нови версии, но и с Windows XP Professional Edition, XP Home Edition и Windows 2000 Professional. Не се изисква сървърен лиценз. Свързвам моя XP Pro лаптоп към много клиентски мрежи всеки ден и обикновено стартирам Snort като услуга. По този начин програмата работи във фонов режим, откривайки всякакви атаки срещу моята система, идващи от тази клиентска мрежа. Използвам Snort като преносим сензор - програмата действа като NIDS за всеки порт, към който е свързан лаптопът.

В малки мрежи Snort може да бъде внедрен на сървър от начално ниво. Не е необходима специална машина с висока мощност за откриване на опити за неоторизиран достъп. Например, чувал съм за базирани на FreeBSD Snort възли с 1 GHz процесори и 1 GB RAM, които успешно обслужват мрежи с 15 000 потребители и множество T-3 WAN връзки. Благодарение на ефективността на изходния код на Snort, не е необходима много мощна машина, за да стартира програмата.

Къде е най-доброто място в мрежата за намиране на NIDS? Първата мисъл е да поставите устройството пред защитната стена. Това е мястото, където NIDS ще открие най-много атаки, но броят на фалшивите положителни резултати също ще бъде най-висок и администраторът ще получи много безполезни предупреждения за опасността. Не трябва да се тревожите за заплахи, спрени от защитна стена; по-важно е да откриете опасни програми, които се крият зад нея. Следователно е по-добре да поставите Snort зад защитната стена така или иначе.

Въпреки това, ако потребителите се свързват към мрежата чрез VPN връзка (по интернет или безжична връзка), има смисъл NIDS да се постави по-далеч зад защитната стена, като например зад VPN сървър или концентратор, където пакетите се декриптират при излизане от VPN тунел. В противен случай NIDS няма да може да се противопостави на зловреден софтуер, вграден във VPN трафика, тъй като анализираните пакети ще бъдат криптирани. Същото се отнася за криптиран SMTP трафик, криптирани .zip файлове, прикачени към имейл съобщения, и други видове криптирани данни.

В идеалния случай NIDS трябва да бъде поставен достатъчно далеч зад всички компоненти, които шифроват трафик и достатъчно близо до периметъра на мрежата, за да анализира трафика във възможно най-много сегменти и подмрежи. В комутирана мрежова среда комутаторът обикновено изисква диагностичен порт за събиране на всички пакети, преминаващи през мрежата. В резултат на това NIDS има удобен достъп до целия мрежов трафик.

Сега, след като сте запознати със Snort и знаете неговите изисквания за хостинг, можете да инсталирате и тествате NIDS. За повече информация относно Snort вижте документите, свързани в страничната лента „Уеб ресурси“. Този процес се състои от седем етапа:

  1. Инсталиране на WinPcap
  2. Инсталиране на Snort
  3. Тестване на Snort
  4. Настройване на Snort
  5. Задаване на правила
  6. Настройка на предупреждения и регистрационни файлове
  7. Изпълнявайте като услуга

Етап 1. Инсталиране на WinPcap

Snort е по същество мрежов анализатор в безразборен режим, така че изисква поддръжка на драйвер. Тази поддръжка се предоставя от WinPcap. Loris Digioanni създаде WinPcap чрез пренасяне на драйвера за улавяне на пакети libpcap, широко използван сред потребителите на Unix, в средата на Windows. WinPcap включва филтър за пакети на ниво ядро, DLL на ниско ниво (packet.dll) и независима от системата библиотека на високо ниво (wpcap.dll, базирана на libpcap 0.6.2).

WinPcap може да бъде изтеглен от http://winpcap.polito.it. Драйверът е съвместим с Windows Server 2003, XP, Windows 2000, Windows NT, Windows Me и Windows 9x. WinPcap също поддържа снифера на пакети Ethereal с отворен код, който може да бъде получен от . Използвайки Ethereal, можете да проверите дали Snort е инсталиран правилно.

След като изтеглите инсталационния файл на WinPcap от мрежата, просто трябва да преминете през няколко екрана от инсталационната процедура. Най-голямо усилие от страна на потребителя изисква екранът, на който трябва да се съгласите с лицензионните условия.

Стъпка 2: Инсталирайте Snort

Следващата стъпка е да инсталирате Snort. Последната версия може да бъде намерена на уеб сайтовете на консултантите на CodeCraft ( http://www.codecraftconsultants.com/snort.aspx) или Snort.org ( http://www.snort.org). Препоръчвам да изтеглите Snort от консултантите на CodeCraft, тъй като можете да получите саморазархивиращ се изпълним файл от този сайт. Програмата дори води потребителя през основните стъпки за инсталиране на Snort на компютър. Най-новата версия на Snort 2.1.1, компилация 18 беше използвана при подготовката на тази статия След това бяха пуснати актуализирани версии.

Когато стартирате инсталационната програма, в първия диалогов прозорец трябва да изберете режима на конфигурация на базата данни за съхраняване на резултатите. Ако използвате MySQL или ODBC-съвместима база данни, можете да приемете режима по подразбиране (Фигура 1). Но ако ще съхранявате протоколи в база данни на Microsoft SQL Server или Oracle, тогава трябва да изберете подходящия режим и да се уверите, че необходимата клиентска програма е налична на машината. При подготовката на тази статия е използван режимът по подразбиране.

Следващата стъпка е да идентифицирате компонентите на Snort, които искате да инсталирате. Стандартният набор (екран 2) е наред, така че препоръчвам да го приемете и да щракнете върху Напред. В диалоговия прозорец Избор на място за инсталиране трябва да посочите директорията, където ще бъде внедрен Snort. След като въведете името на директорията, щракнете върху Напред, за да завършите инсталационния процес.

Екран 2: Избор на инсталационни компоненти

Стъпка 3: Тествайте вашата инсталация на Snort

След завършване на инсталационния процес, Snort трябва да бъде тестван. По подразбиране на изпълнимия файл на Snort трябва да бъдат указани две местоположения: къде да записва регистрационни файлове и къде да намери конфигурационния файл (snort.conf). Тази информация се предоставя от потребителя, когато стартира Snort от командния ред, като използва съответно ключовете -l и -c. Например командата

Snort -l F:snortlog -c F:snortetcsnort.conf -A конзола

казва на програмата, че регистрационните файлове трябва да се записват в директорията F:snortlog и че snort.conf се намира в директорията F:snortetc. Ключът -A указва метода за предаване на предупреждения, генерирани от програмата. В този пример предупрежденията се показват на екрана на конзолата, така че администраторът да може да провери дали Snort работи правилно. Моля, обърнете внимание, че в статията командата е отпечатана на няколко реда, но в командния прозорец трябва да се въведе на един ред. Същото важи и за другите многоредови команди в тази статия. Много превключватели на командния ред на Snort са чувствителни към главни и малки букви, така че трябва да въвеждате командите точно както са въведени.

Ако системата има множество мрежови интерфейси, тогава по подразбиране Snort слуша първия интерфейс, който открие. Ако редът на мрежовите интерфейси на дадена машина е неизвестен, можете да изпълните командата Snort с един ключ -W. Snort изброява имената и номерата на мрежовите интерфейси в реда, в който програмата ги открива. За да принудите Snort да използва определен мрежов интерфейс, трябва да въведете ключа -i с номера на интерфейса, когато стартирате Snort. След като стартирате Snort, екранът ще покаже информация, подобна на тази, показана в екран 3 .

След като стартирате Snort, можете да тествате неговата чувствителност, като изпратите специално подготвен трафик към NIDS. Един от най-лесните начини за задействане на предупреждение е да извикате командния интерпретатор (cmd.exe) на отдалечената машина като част от HTTP URL заявка (обща техника за червеите Code Red и Nimda). За да симулирате тази фаза на атаката, отворете произволен URL адрес и добавете знаците /cmd.exe в края на заявката. Например, в отговор на извикване на http://www.a-website-that-I-can-trust.com/cmd.exe, Snort трябва да покаже предупреждение в командния прозорец, подобно на външния вид на първите три предупреждения На екран 4. Тези съобщения се записват в регистрационния файл на F:snortlog.

Целевите уеб сайтове за тестване трябва да се избират внимателно. От техническа гледна точка повечето администратори на уеб сайтове биха сметнали подобни действия за опит за хакване. Този опит няма да успее (освен ако няма сериозни грешки в конфигурацията на сървъра), но препоръчвам да тествате само с вашия собствен сървър или доверен сървър, чиито администратори са наясно с тестването.

Ако тестването не е възможно, друг начин да тествате Snort е да изпратите необичайно дълга заявка за ехо по мрежата до сървър или компютър с работещ Snort. Например, можете да използвате командата Ping

Ping -l 32767 ip_адрес

където ip_address е IP адресът на целевия сървър или Snort компютър. Тази команда трябва да изпрати много дълъг пакет (точна дължина - 32 KB), което очевидно е необичайно за команда Ping. Snort трябва да открие този пакет, както се вижда в долните осем предупреждения екран 4 .

Ако получите предупреждения, можете да започнете да конфигурирате Snort за вашите специфични условия. В противен случай трябва да се върнете към инсталационната процедура и да проверите дали някоя стъпка е пропусната.

Стъпка 4: Настройване на Snort

Основните конфигурационни данни на Snort се съхраняват във файла snort.conf, който по подразбиране се намира в директорията %systemdrive%snortetc. Файлът може да бъде оставен в тази папка или преместен в друга, ако посочите пътя до програмата в командния ред.

Подробно описание на всички параметри, налични в snort.conf, може да запълни цял брой на списание, тъй като Snort е невероятно мощна програма. Засега ще разгледаме само основните му параметри.

За да разграничите входящия трафик от изходящия, трябва да кажете на Snort хостовете и IP адресите на вашата корпоративна мрежа. За да въведете тази информация, променливата HOME_NET трябва да бъде зададена във файла snort.conf. Трябва да намерите линията

Променлива HOME_NET произволна

и го заменете с набор от IP адреси. Можете например да посочите един диапазон

Променлива HOME_NET 192.168.0.1/24

или няколко диапазона. Когато указвате множество диапазони, трябва да оградите набора от диапазони в квадратни скоби и да отделите всеки диапазон със запетая. Не можете да въвеждате интервали между обхватите на IP адреси. Например линията

Променлива HOME_NET

казва на Snort, че подмрежи 10.0.1.0/24, 10.0.2.0/24 и 10.0.3.0/24 принадлежат на корпоративната мрежа. По подразбиране Snort третира всички други адреси като външни. Можете изрично да посочите кои мрежи да се считат за външни, като зададете променливата EXTERNAL_NET. Във файла snort.config трябва да намерите реда

Променлива EXTERNAL_NET произволна

и го заменете с IP адреса на мрежата, която трябва да се счита за външна. Обаче обикновено е най-добре да оставите променливата EXTERNAL_NET зададена на произволно като начало.

След като отделите известно време, можете да идентифицирате типовете сървъри, които вашето предприятие има, и техните местоположения. Тази информация се съдържа в променливите DNS_SERVERS, SMTP_SERVERS, HTTP_SERVERS, SQL_SERVERS и TELNET_SERVERS в следните редове на файла snort.conf:

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 SNMP_SERVERS $HOME_NET

По подразбиране всичките шест сървърни променливи са зададени на $HOME_NET; това означава, че Snort ще наблюдава всички видове атаки на всички системи в диапазона HOME_NET. Тази конфигурация е доста приемлива за малка мрежа, чиито администратори толерират определен брой фалшиви сигнали. Но за наблюдение на тежък трафик е препоръчително да настроите фино Snort да проверява само част от подписите за определени възли. Няма смисъл да защитавате уеб сървър, работещ само с Microsoft IIS, от атаки за препълване на SQL буфер. За да дефинирате конкретен клас хост, трябва да замените $HOME_NET с набор от IP адреси на целеви сървъри според формата, използван за променливата HOME_NET. Например, за променливата DNS_SERVERS, вместо $HOME_NET, трябва да замените диапазона от IP адреси на DNS сървърите.

Точността на настройка може да бъде подобрена чрез идентифициране на портовете, използвани от сървърите за конкретни приложения. Например, ако уеб сървърите използват специален порт 8080 за HTTP трафик вместо порт 80 (този порт обикновено се използва за уеб сървъри и браузъри), можете да конфигурирате Snort да наблюдава порт 8080, като промените променливата HTTP_PORTS. В snort.conf трябва да намерите реда

Променлива HTTP_PORTS 80

и го заменете с линията

Променлива HTTP_PORTS 8080

По подобен начин можете да промените портовете за Oracle (дефинирани от променливата ORACLE_PORTS) и други приложения. Подобно на променливата HTTP_PORTS, ORACLE_PORTS по подразбиране е 80. Ако сървърът използва порт 1521 вместо това, низът ще изглежда така

Променлива ORACLE_PORTS 1521

По този начин има много настройки, които могат да бъдат конфигурирани във файла snort.conf. Трябва да прегледате snort.conf, за да намерите настройките, които са най-важни за вашата конкретна среда, и да ги конфигурирате по съответния начин.

Етап 5. Определяне на правилата

Един от редовете в snort.conf съдържа променливата RULE_PATH. Пример за този ред:

Променлива RULE_PATH ../rules

Опцията ../rules указва, че правилата (т.е. подписите) могат да бъдат намерени в директорията с правила, която е на същото ниво като двоичните файлове на Snort в структурата на директорията. Така, например, ако инсталирате Snort в общата папка F:snort, бинарните файлове на Snort са във F:snortin, а правилата са във F:snort ules. Можете да промените променливата RULE_PATH, ако желаете, но опцията по подразбиране е добра.

Правилата са в основата на Snort. Те са поредици от байтове, сигнатури за атака и други типове данни, които, когато бъдат открити, генерират предупреждение. Snort има повече от 1500 готови подписа.

Как изглежда правилото? Правилото за cmd.exe, което беше нарушено по време на теста на Snort, изглежда така: alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-IIS cmd.exe access"; flow:to_server, created; content: " cmd.exe"; тип клас: атака на уеб приложение; sid: 1002;). Нека да разгледаме основните компоненти на правилото. Връзката $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS указва, че трябва да се анализира само трафик, идващ в мрежата отвън (както е дефинирано от променливата EXTERNAL_NET). Параметърът content: указва търсене на поредица от символи cmd.exe в потока от данни. Когато Snort открие такава последователност, той генерира предупреждение, указано от параметъра msg:.

Както можете да видите от примера с cmd.exe, правилата са най-вече прости. Можете да създадете свои собствени правила за всеки тип трафик. Например, ако искате да откриете неупълномощени опити за отдалечен достъп до директория на машина чрез интерпретатора на команди, можете да търсите том в устройството или сериен номер на том на портове, където рядко се намират, като изходящи портове. Благодарение на гъвкавия подход за задаване на правила, на администраторите се предоставят обширни опции за конфигуриране на Snort.

1500-те правила на Snort се съхраняват в различни файлове според типовете данни, които се анализират. Например правилото за cmd.exe е във файла web-iis.rules. Ако предприятието не използва IIS, тогава програмата не трябва да открива IIS атаки. Файлът web-iis.rules може лесно да бъде премахнат изцяло от конфигурацията, като намерите и коментирате реда

Включете $RULE_PATH/web-iis.rules

във файла snort.conf. За да направите ред коментар, предхождайте го със символ (#):

# включват $RULE_PATH/web-iis.rules

По подразбиране някои типове файлове с правила (например icmp-info.rules, chat.rules) са представени чрез коментари в snort.conf. Конфигурацията по подразбиране на правилата в snort.conf е доста добра. След активиране на блокирани правила програмата обикновено генерира много ненужни предупреждения.

Някои файлове съдържат редица полезни правила, но няколко правила генерират твърде много ненужни предупреждения. За да деактивирате определено правило, трябва да маркирате съответния ред във файла с правила като коментар. В бъдеще Snort ще игнорира това правило, когато работи с файла.

Когато се появят нови източници на заплаха, файлът с правила трябва да се актуализира. Най-добрият ресурс за нови правила е Snort.org. Този уеб сайт няма услуга за автоматично актуализиране, така че администраторът ще трябва редовно да проверява с него за актуализации, когато възникне нова заплаха.

Стъпка 6: Конфигурирайте предупреждения и регистрационни файлове

Както беше отбелязано, Snort осигурява запис на информация в MySQL, SQL Server, Oracle и ODBC-съвместими бази данни. Просто изберете подходящия тип база данни по време на инсталационния процес на Snort. За да не увеличаваме прекомерно дължината на статията, ще разгледаме стандартните режими на регистриране с помощта на текстов файл и функцията за писане на съобщения в регистъра на събитията на Windows.

Когато стартирате NIDS с помощта на командата Snort, превключвателят на конзолата -A предизвиква показване на предупреждения на екрана. За да препращате съобщения към текстов файл, трябва да замените този ключ с -A бързо или -A пълно, в зависимост от предпочитания от вас режим на регистриране. Пълният параметър показва подробно описание на заплахата в няколко реда на текстов файл с име alerts.ids в директорията, пътят до който е посочен от ключа -l. Този тип регистриране предоставя изчерпателни подробности, но може да бъде трудно за разбиране, ако в мрежата се регистрират много събития. В такива „шумни“ мрежи се препоръчва да се използва бърз режим за добавяне на едноредови записи към alerts.ids, съдържащи основните характеристики на подозрителен трафик. Според мен работата с текстов файл в бърз режим е по-лесна, отколкото в пълен режим.

Текущата версия на Snort осигурява регистриране в регистъра на събитията на Windows. Много организации вече са закупили инструменти за централизирано наблюдение на събития, регистриране и събиране на данни и тази функция би била чудесно допълнение към средата на Windows.

За да запишете предупреждения в регистъра на събитията на приложението на системата, на която работи Snort, използвайте ключа -E вместо ключа -A (параметрите не са задължителни). Фигура 5 показва как изглежда събитие Snort (в този случай опит за достъп до cmd.exe), публикувано в регистрационния файл на приложението. Събитието на Windows предоставя същата подробна информация като екрана на конзолата.

NIDS е безполезен, ако администраторът преглежда регистрационните файлове на събитията (или текстовите регистрационни файлове) веднъж седмично. Ако нещо се случи в мрежата, администраторът трябва незабавно да разбере за това. Централизирана система за наблюдение и обработка на събития може да изпраща съобщения чрез имейл, пейджър и други комуникационни устройства. Но ако няма такава система, това не е причина за безпокойство. NETIKUS.NET предлага безплатен пакет EventSentry Light, който може да се използва за изпращане на предупреждения.

EventSentry Light е пробна версия на EventSentry и може да бъде изтеглена от http://www.netikus.net/products_downloads.html. С EventSentry Light можете да конфигурирате вашата система да наблюдава регистрационните файлове на събитията и автоматично да изпраща подробни имейл съобщения за всички Snort събития, записани в регистрационния файл. На екран 6показва имейл съобщение за опити за атака на cmd.exe. Получих това съобщение от EventSentry Light няколко секунди след извършването на атаката.

Както бе споменато по-горе, Snort обикновено генерира много ненужни съобщения, които бързо запълват регистрационните файлове на събитията. Това е нещо, което трябва да имате предвид, когато избирате размери на файлове за регистрационните файлове на събития и как да ги редувате. За да попречите на EventSentry Light да наводни входящата ви кутия със съобщения за незначителни събития, можете да създадете филтър за търсене на ключови низове. Например, организирах филтър за търсене на низ в текста на съобщенията.

Стъпка 7: Стартирайте като услуга

След като приключите, можете да стартирате Snort като услуга, вместо да се налага да влизате в настолния си компютър всеки път, когато искате да стартирате програмата. Ако стартирате Snort с опциите /SERVICE и /INSTALL (заедно с други опции на командния ред), Snort е конфигуриран да работи като услуга на Windows и автоматично се стартира с Windows без намеса на потребителя.

Следващо ниво: модули за разширение

Snort е пълнофункционално приложение. В някои случаи обаче програмата трябва да бъде разширена. Например, ако няколко NIDS са разположени в различни части на мрежата, тогава е удобно да управлявате Snort от графичния интерфейс. Такива възможности са внедрени в модулите за разширение IDScenter от Engage Security и IDS Policy Manager от Activeworx. Понякога е необходимо да се анализира информацията, съдържаща се в съобщенията. Можете да преглеждате и анализирате съхранени данни с помощта на модула Analysis Console for Intrusion Databases (ACID), разработен в университета Карнеги Мелън.

Надеждна защита

Snort е пълнофункционална програма, която няма да навреди на бюджета на компанията. Като комбинирате Snort с мощно приложение за наблюдение на събития като EventSentry Light, можете проактивно да предотвратите атаки срещу вашата мрежа.

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА НА РУСКАТА ФЕДЕРАЦИЯ

Държавна образователна институция за висше професионално образование

„СПЕТЕРБУРГСКИ ДЪРЖАВЕН УНИВЕРСИТЕТ
Аерокосмически приборостроене"

КУРСОВА РАБОТА (ПРОЕКТ)
ЗАЩИТЕНО С ОЦЕНКА ОТЛИЧЕН

РЪКОВОДИТЕЛ

Доцент, д-р, ст.н.с

длъжност, акад степен, ранг

подпис, дата

инициали, фамилия

ОБЯСНИТЕЛНА БЕЛЕЖКА ЗА КУРСОВАТА РАБОТА (ПРОЕКТ)

Практикувайте използването на IDS SNORT

дисциплина: инженерна и техническа информационна сигурност

ЗАВЪРШЕНА РАБОТА)

СТУДЕНТ(КА) ГР.

подпис, дата

инициали, фамилия

Санкт Петербург 2011 г

1.. Какво е Snort?. 2

2. Режим на снифър: 2

3. Режим на регистриране на пакети. 6

4. Режим за откриване на проникване в мрежата. 6

1. Какво е Snort?

Snort е лека система за откриване на проникване. Snort обикновено се нарича “лек” NIDS /decrypt, translate/ - защото е предназначен основно за малки мрежи. Програмата може да извършва анализ на протоколи и може да се използва за откриване на различни атаки.

Snort използва "правила" (посочени във файлове с "правила"), за да знае кой трафик да разреши и кой да блокира. Инструментът е гъвкав, позволява ви да записвате нови правила и да ги следвате.

Snort може да работи в 3 основни режима:

· Sniffer режим: позволява ви просто да улавяте пакети от мрежата и да ги показвате на екрана (обикновено конзолата)

· Режим на регистриране на пакети: позволява ви да запазвате пакети на вашия твърд диск


· Режимът на системата за откриване на проникване (NIDS) е най-сложната и адаптивна конфигурация, която ви позволява да анализирате мрежовия трафик въз основа на дефиниран от потребителя набор от правила.

2. Режим на снифър:

В режим на подслушване на пакети, Snort просто чете пакети, идващи от мрежата, и ги показва на екрана. За да покажете заглавките на TCP/IP пакети, трябва да изпълните:

пръхтя –v

Тази команда показва заглавки на IP и TCP/UDP/ICMP пакети. Можете да видите от къде са изпратени пакетите, къде, до колко /адреса?/. Фигурата/чертежите трябва да бъдат номерирани за справка. Няма линк - значи снимката не е нужна / ясно е, че има два изходящи адреса / от къде може да се види? Дешифрирайте форматите на записите във фигурата или поне се обърнете към номера на реда /

За да разберете какви са тези адреси, просто изпълнете командата

системна информация


От снимката / вече - снимки. а не рисунки? Трябва да се поддържа еднаквост в рамките на документа! Или е нещо друго?/ Става ясно какви са тези изходящи адреси. /добре, избройте ги - или поне ги посочете. че номерата им са дадени в квадратни скоби/

За да видите данните, съдържащи се в пакетите, трябва да въведете:

snort-vd

https://pandia.ru/text/78/320/images/image004_112.jpg" alt=" детайлен_изход.jpg" width="589" height="338">!}

Превключвателите могат да бъдат дадени във всякаква форма, например: "хъркане - vde", "хъркане - d - ev" и "хъркане - e - v -d".

Snort ще продължи да събира информация, докато не бъде прекъснато. За да завършите улавянето на пакет, трябва да натиснете Ctrl-C. След като натиснете Ctrl-C, ще се покаже отчет за уловените пакети. По-долу е отчетът след стартиране на Snort за около минута.

От моментната снимка можете да видите, че повечето от анализираните пакети са TCP/IP пакети. UDP пакети също бяха уловени.

3. Режим на регистриране на пакети

Режимът за регистриране на пакети ви позволява да записвате поток от информация на диска. Това е полезно, когато извършвате анализ за определен период от време или проверявате за промени в настройките и политиките за сигурност.
Трябва да създадете и посочите директория за регистрационни файлове и Snort автоматично ще превключи в режим на регистриране на пакети.

Пример: създаване на директория трупи и стартирайте:

snort - dev - l../log

В резултат на операцията /къде, къде да го търся, как да посоча желаното място?/ файлът хърка. log.. Числата в края на новите имена на файлове са времеви марки, което помага да се избегнат конфликти при създаване на файлове. /желано е примерен лог файл/

4. Режим за откриване на проникване в мрежата

Третият режим на Snort е режимът за откриване на проникване в мрежа (NIDS).

В основната си форма правилото на Snort /къде се съхраняват?/ има две части: заглавка и параметри. По-долу е даден пример за правило.

alert tcp any any -> any any (съдържание: "www."; msg: "Някой посещава youtube в момента"; sid:1000002; rev:1)

Може ли моделът на структурата на правилата да бъде представен твърдо кодиран или може да бъде променен? надяваме се, че елементите в квадратни скоби не са задължителни. известен. Но има ли специални разделители между тях / по следната схема:

<действие_правила> <протокол> <порт> <оператор_направления>


<порт>([meta_data] [package_contents_data]

[data_in_header] [action_after_detection])

Действията на правилата са разделени на следните категории:

1. тревога - Създайте предупреждение с помощта на избрания метод и докладвайте информацията на системата за регистриране.

2. дневник - Използвайте система за регистриране, за да записвате информация за пакета.

3. пас - Игнорирайте пакета.

4. активирате - Използвайте друго динамично правило.

5. динамичен - След като се изпълни активното правило, се активира правилото с процедурата за регистриране.

6. изпускайте - Пуснете пакета с помощта на софтуерна защитна стена и докладвайте информацията на системата за регистриране

7. sdrop - Пуснете пакета с помощта на софтуерна защитна стена и не използвайте системата за регистриране.

8. отхвърлям - Използвайки защитна стена, изхвърлете пакета, ако протоколът е TCP, или напишете съобщение в регистрационния файл: ICMP портът е недостъпен, ако пакетът пристигне чрез UDP протокол

Втората част от правилото на Snort са опциите, които определят допълнителни подробности за открития трафик. Можете да търсите по набор от полета в TCP/ заглавката или по полезния товар на пакета. Всяка опция трябва да бъде последвана от кавички и търсената стойност. Можете да добавите няколко опции, като ги разделите с точка и запетая. Следните са валидни опции.

Сид – уникален етикет, идентифициращ правилото. Тази опция трябва да се използва с опцията рев .

<100 зарезервировано для дальнейшего использования

100-999 999 вече запазени правила

>=1 000 000 дефинирани от потребителя правила

рев- стойност на версията на правилото. Използване на интерпретатор на rev rules

Snort определя версията на писменото правило.

Можете да стартирате Snort в IDS режим с командата:

snort - c "D:\Program Files\Snort\etc\snort. conf" - l " D:\Program Files\Snort\log" - A конзола - i 1

ключ означава, че IDS режимът е активиран

ключ л позволява режим на запис на твърдия диск, като посочва пътя до файла

ключ А показва, че всички предупреждения (сигнали) ще бъдат дублирани от конзолния изход

ключ аз показва индексния номер на интерфейса, който ни интересува

за да разберете поддържаните интерфейси, трябва да изпълните командата:

изсумтявам У

Съдържанието на файла изсумтявам. конф

Съдържанието на файла *****лес:

Във файла snort. conf можете да свързвате правила с помощта на ключовата дума включват .

Резултат от командата:

Вижда се, че Snort е открил опит за достигане до „опасен“ сайт.

Няма информация за източника, откъдето е взето разпространението, или за операционната система, върху която е проведено изследването

Като цяло работата е много интересна. /