- •1. Короткий огляд Snort 3
- •2. Настройка Snort 10
- •2.4.2. Приклади 44
- •3. Правила Snort 53
- •4. Отримання Snort 83
- •5. Встановлення Snort 85
- •1. Короткий огляд Snort
- •1.1. Загальні відомості
- •1.2. Режим перегляду
- •1.3. Режим реєстрації пакетів
- •1.4. Режим виявлення вторгнень в мережі
- •1.4.1. Елементи настройок виводу в режимі nids
- •1.4.2. Настройка високої продуктивності
- •1.4.3 Зміна порядку попереджень
- •1.5. Інші можливості
- •1.6. Додаткова інформація
- •2. Настройка Snort
- •2.1.1 Вмикачі
- •2.1.3. Конфігурування
- •2.2. Препроцесори
- •2.2.1. Детектор роrtscan
- •2.3.1. Автономні настройки
- •2.3.2 Автономний формат
- •2.3.3 Формат ключового слова правила
- •Формат ключового слова правила
- •2.3.4. Приклади
- •2.4. Заборона події
- •2.4.1 Формат
- •2.4.2. Приклади
- •2.5. Модулі виводу
- •2.5.6 База даних
- •3. Правила Snort з.1. Основи
- •3.2. Створення правила Snort
- •3.3. Параметри правил Snort
- •3.4. Створення нового правила
- •4. Отримання Snort
- •5. Встановлення Snort
2.3.1. Автономні настройки
Цей формат підтримує 6 опцій порогу – потрібні всі.
Таблиця 2.12: Автономні настройки
gen_id |
<id генератора> |
sig_id |
<id сигнатур Snort> |
type |
limit, threshold або both |
track |
by_src або by_dst |
count |
<кількість подій> |
seconds |
<період часу, за який нагромадився рахунок> |
2.3.2 Автономний формат
threshold gen_id <gen-id>, sig_id <sig-id> \
type <limit|threshold|both> \
track <by_src|by_dst>, count <s>, seconds <m>
2.3.3 Формат ключового слова правила
Цей формат підтримує 4 опції порогу - потрібні всі.
Таблиця 2.13: Опції ключового слова правила
-
type
limit, threshold both
track
by_src by_dst
count
<кількість подій>
seconds
<період часу, за який нагромаджується рахунок>
Формат ключового слова правила
threshold: type <limit|threshold|both>, track <by_src|by_dst> \
count <n>, seconds <m>;
Для автономного формату або формату правила, всі вистежування відбуваються за початковим ip або ip місця призначення, порти або що-небудь інше не відстежується.
Обмеження може бути також використано глобально, це дозволить визначити поріг для кожного правила. Стандартні тестування порогу застосовуються до події спершу, якщо вони не блокують реєстрацію правила, а потім застосовується тест порогу - пороги в правилі анулюють глобальний поріг.
Глобальні опції порогу такі ж, як і стандартні опції порогу за винятком поля “sig_id”. В полі “sig_id” повинен бути встановлений “0”, щоб вказати, що команда порогу звертається до всіх “sig_id” значень з визначеним “gen_id”. Щоб застосувати той же поріг до всіх “gen_id's” в у свій час, і з однією командою визначити значення “gen_id=0”.
Формат глобальних команд порогу такий:
threshold gen_id <gen-id>, sig_id 0 \
type <limit|threshold|both> \
track <by_src|by_dst> \
count <n> \
seconds <m>
це застосовує поріг до кожної події з <gen-id>.
або
threshold gen_id 0, sig_id 0 \
type <limit|threshold|both> \
track <by_src|by_dst> \
count <n> \
seconds <m>
це застосовує поріг до кожної події з кожної gen-id.
2.3.4. Приклади
Автономні пороги
Ліміт реєстрації 1 подія за 60 секунд:
threshold gen_id 1, sig_id 1851 \
type limit, track by_src \
count 1, seconds 60
ліміт реєстрації кожна 3-а подія:
treshold gen_id 1, sig_id 1852 \
type treshold, track by_src \
count 3, seconds 60
ліміт реєстрації тільки 1 події за 60 секунд, але тільки якщо ми перевищуємо 30 подій за 60 секунд:
treshold gen_id 1, sig_id 1853 \
type both, track by_src \
count 30, seconds 60
Пороги правила
Це правило реєструє першу подію цього “sid” кожні 60 секунд:
alert tcp $external_net any -> $http_servers $http_ports \
(msg:"web-misc robots.txt асces”; flow:to_server, established; \
uricontent:"/robots.txt"; nocase; reference:nessus,10302; \
classtype:web-application-activity; treshold: type limit, track \
by_src, count 1, seconds 60 ; sid:1000852; rev:1;)
Це правило реєструє кожну 10 подію по цій “sid” протягом 60 секундного інтервалу, так що якщо менш ніж 10 подій відбувається за 60 секунд, то ніщо не реєструється. Як тільки одна подія зареєстрована починається новий період часу для виду порогу.
alert tcp $external_net any -> $http_servers $http_ports \
(msg:"web-misc robots.txt асces”; flow:to_server, established; \
uricontent:"/robots.txt"; nocase; reference:nessus,10302; \
classtype:web-application-activity; treshold: type treshold \
track by_dst, count 10, seconds 60 ; sid:1000852; rev:1;)
Це правило реєструє одну подію кожні 60 секунд, якщо як мінімум 10 подій по цьому “sid” є звільненими.
alert tcp $external_net any -> $http_servers $http_ports \
(msg:"web-misc robots.txt асces”; flow:to_server, established; \
uricontent:"/robots.txt"; nocase; reference:nessus,10302; \
classtype:web-application-activity; treshold: type both, track \
by_dst, count 10, seconds 60 ; sid:1000852; rev:1;)
Глобальні пороги
Ліміт реєстрації 1 події за 60 секунд за запуск ip кожного правила (“gen_id” правила складає 1):
treshold gen_id 1, sig_id 0, type limit, track by_src, count 1, seconds 60
Ліміт реєстрації 1 події за 60 секунд за ip запуск кожного правила для кожного генератора події:
treshold gen_id 0, sig_id 0, type limit, track by_src, count 1, seconds 60
Події в Snort генеруються звичайним способом, лімітація обробляється як частина системи виводу. Для більш конкретної інформації про “gen ids” слід прочитати “gen-msg.map”.
Користувачі можуть також конфігурувати місткість пам'яті для порогу з “config:” опцією:
config treshold: memcap <bytes>
