- •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.4. Заборона події
Заборона події зупиняє запуск певних подій без видалення правила з бази правила. Цей метод використовує зображення cidr блоку для вибору специфічних мереж і користувачів для подавлення. Тести заборони виконуються до стандартних або глобальних тестів обмежень.
Команди заборони - це автономні команди, які посилаються на генератори, “sids” і адреси “ip” через “cidr блок”. Це дозволяє цілком заборонити правило, або заборонити його, коли обумовлений трафік поступає до, або виходить із специфічного “ip” або групи “ip” адрес. Можна застосувати багаторазові команди заборони до “sid”. Також можна об'єднати одну команду порогу і різні команди заборони до того ж “sid”.
2.4.1 Формат
Команди заборони підтримують 2 або 4 елементи настройки.
Таблиця 2.14: Настройки заборони
gen_id |
<id генератора> |
потрібен |
sig_id |
<id сигнатури snort> |
потрібен |
track |
by_src або by_dst |
опціонально, потрібен ip |
ip |
ip[/маска] |
опціонально, потрібен track |
suppress gen_id <gen-id>, sid_id <sid-id> \
track <by_src|by_dst>, ip <ip|mask-bits>
2.4.2. Приклади
забороняє цю подію цілком
suppress gen_id 1, sig_id 1852
забороняє цю подію від данного “ip”
suppress gen_id 1, sig_id 1852, track by_src, ip 10.1.1.54
забороняє цю подію до цього блоку “cidr”
suppress gen_id 1, sig_id 1852, track by_dst, ip 10.1.1.0/24
2.5. Модулі виводу
Модулі виводу з'явилися у версії 1.6. і вони дозволяють Snort бути набагато більш гнучкою системою в процесі форматування і представлення виводу користувачам. Модулі виводу запускаються, коли викликаються підсистеми попередження або реєстрації, після препроцесорів і механізму виявлення. Формат директив у файлі правил є подібним формату препроцесорів.
Безліч плагінів виводу можна визначити в конфігураційному файлі Snort. Коли численні плагіни одного типу (реєстрація, попередження) є визначеними, вони складаються і викликаються один за іншим, коли подія відбувається. Як і стандартна система, реєстрація і система попереджень, плагіни виводу направляють свої дані в C:\snort\log за умовчанням або вказану користувачем директорію (використання ключа “-l” командного рядка).
Модулі виводу завантажуються під час запуску за допомогою визначення вихідного ключового слова у файлі правил:
output <ім’я>: <опції>
output alert_syslog: log_auth log_alert
Приклад 2.7: Конфігурація вихідного модуля
2.5.1 Alert_syslog
Цей модуль відправляє попередження до засобу системної реєстрації (подібно ключу “-s” командного рядка). Модуль також дозволяє користувачу визначити засіб реєстрації і пріоритет в межах файлу правил Snort, надаючи користувачам велику гнучкість в процесі реєстрації попереджень.
Доступні ключові слова
засоби
• log_auth
• log_authpriv
• log_daemon
• log_local0
• log_local1
• log_local2
• log_local3
• log_local4
• log_local5
• log_local6
• log_local7
• log_user
пріоритети
• log_emerg
• log_alert
• log_crit
• log_err
• log_warning
• log_notice
• log_info
• log_debug
елементи настройок
• log_cons
• log_ndelay
• log_perror
• log_pid
Формат
alert_syslog: <засіб> <пріорітет> <опції>
ПРИМІТКА Оскільки WIN32 не виконує запуск серверів “syslog” локально за умовчанням, ім'я хосту і порт можуть пропускатися як опції. Хост за умовчанням 127.0.0.1. Порт за умовчанням 514. |
output alert_syslog: [host=<им’я хосту[:<порт>]] <засіб> <пріорітет> <опції>
output alert_syslog: 10.1.1.1:514 <засіб> <пріорітет> <опції>
Приклад 2.8: Конфігурація системної реєстрації
2.5.2 Alert_fast
Модуль виводить попередження Snort в одну лінію (швидкий формат) до певного вихідного файлу. Це більш швидкий метод попереджень, ніж повні попередження, тому що не вимагає виведення всіх заголовків пакету у вихідний файл
output alert_fast: alert.fast
Приклад 2.9: Конфігурація швидких попереджень
Формат
alert_fast: <ім’я вихідного файлу>
2.5.3. Alert_full
Плагін видає повідомлення попереджень Snort з повними заголовками пакету. Попередження записуватимуться в директорії реєстрації за умовчанням (C:\snort\log) або в директорії реєстрації визначеної в командному рядку.
В директорії реєстрації буде створена директорія за “ip” адресою. Ці файли є вмістом декодованих пакетів, які ініціювали попередження. Створення цих файлів значно уповільнює Snort. Цей метод висновку не рекомендується для всіх ситуацій окрім ситуації з легким трафіком.
Формат
alert_full: <і’мя файлу виводу>
output alert_full: alert.full
Приклад 2.10 Конфігурація повного попередження
2.5.4. Alert_unixsock
Встановлює сокет домена “unix” і відправляє йому звіти попереджень. Зовнішні програми/процеси можуть прослуховувати цей сокет і одержувати попередження Snort і дані пакету в реальному часі. Зараз цей модуль є експериментальним.
Формат
alert_unixsock
output alert_unixsock
Приклад 2.11: Конфігурація попередження юнікс сокета
2.5.5 Log_tcpdump
Модуль “log_tcpdump” реєструє пакети в tcpdump-форматованому файлі. Це корисно для виконання післяпроцесового аналізу зібраного трафіку з обширним числом інструментів, які доступні для перевірки форматованих файлів “tcpdump”. Цей модуль приймає тільки єдиний аргумент - ім'я файлу виводу. Слід зазначити, що ім'я файлу матиме відмітку часу “unix” в секундах додану до імені файлу. От чому дані з окремих запусків Snort можуть бути чітко збережені.
Формат
log_tcpdump: <ім’я вихідного файла>
output log_tcpdump: snort.log
Приклад 2.12: Конфігурація вихідного модуля tcpdump
