Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Настанова адміністратора Snort.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

2.5.6 База даних

Цей модуль створив Jed Pickel. Плагін відправляє дані Snort в різноманітні бази даних “sql”. Більше інформації щодо установки і конфігурації цього модуля можна знайти на [91] web сторінці “incident.org”. Аргументами цього плагіна є: ім'я бази даних для реєстрації і список параметрів. Параметри встановлюються подібно: параметр = аргумент. В прикладі 2.13 показано використання параметрів.

Формат

database: <log | alert> <вид бази даних> <список параметрів>

Доступні наступні параметри:

Host: хост до якого підключаються. Якщо визначена не нульова довжина рядка, то використовується tcp/ip зв'язок. Без імені хосту він з'єднається, використовуючи локальний сокет домена “unix”.

Port: номер порту, до якого підключається хост сервера, або розширення імені файлу сокета для з'єднань unix-домена.

Dbname: ім'я бази даних

User: ім'я користувача бази даних для ідентифікації

Password: використовування пароля, якщо бази даних вимагають ідентифікацію пароля

sensor_name: визначає власне ім'я для цього датчика Snort. Якщо ім'я не визначено, воно генеруватиметься автоматично

encoding: оскільки корисне навантаження пакету і дані настройок в двійковому форматі, немає простого і переносного способу для їх зберігання в базі даних. “Blobs” не використовуються, тому що вони не переносяться через базу даних. Для цього існує опція кодування. Кожна настройка має власні переваги і недоліки:

hex (значення за умовчанням): зобразить двійкові дані як шістнадцятеричний рядок.

storage requirements: подвоює двійковий розмір

searchability: дуже корисний елемент

human readability: не зручно для читання, вимагає постобробку

base64: представляє двійкові дані як “base64” потік.

storage requirements: збільшує на 1.3x двійковий розмір

searchability: неможливий без постобробоки

human readability: не зручно для читання і вимагає постобробоку

ascii: представляє двійкові дані як “ascii” потік. Це єдина настройка, з якою дійсно відбувається втрата даних. Дані “ascii” представляються, як “.”. Якщо ця опція вибрана, тоді дані для “ip і “tcp” опцій” все ще представлятимуться в шістнадцятеричному вигляді, тому що немає значення представляти їх в “ascii”.

storage requirements: злегка більш ніж двійковий, тому що деякі символи уникають (&,<,>)

searchability: дуже зручно для пошуку неможливого текстового рядка, якщо потрібно шукати двійкові

human readability: дуже корисна опція

detail: об'єм докладних даних які слід зберігати. Настроювальними елементами є:

full (значення за умовчанням): реєструє всі деталі пакету який викликав попередження (включаючи ip/tcp опції і корисне навантаження)

fast: реєструє тільки мінімальну кількість даних. Ця опція строго обмежує потенціал деяких додатків аналізу, але це все ще кращий вибір для деяких додатків. Зареєстровані наступні поля: відмітка часу, підпис, початковий ip, ip місця призначення, початковий порт, порт місця призначення, tcp прапори і протокол.

До того ж слід визначити метод реєстрації і тип бази даних. Існують два типи реєстрації: реєстрація і попередження. Установка типу реєстрації підключає реєструючу функціональність бази даних до засобу реєстрації в межах програми. Якщо встановлений тип реєстрації, плагін буде викликаний на вихідний послідовності реєстрації. Установка типу попередження підключає плагін до вихідної послідовності попереджень в межах програми.

Є два типи баз даних, доступних в поточній версії плагіна. Це “mssql”, “mysql”, “роst-gresql”, “oracle” і “odbc”. Слід встановити тип для відповідності базі даних, яку використовують.

ПРИМІТКА

Плагін виводу бази даних не має здатність обробляти попередження, які генеруються за допомогою використання ключового слова-ознаки. Дивитися секцію 3.7.5 для більш детальної інформації.

output database: log, mysql, dbname=snort user=snort host=localhost password=xyz

Приклад 2.13: Конфігурація вихідного плагіна бази даних

2.5.7. csv

Плагін виводу “csv” дозволяє записувати застережливі дані у форматі, що легко імпортується в базу даних. Плагін вимагає 2 аргументи: повне ім'я і шлях до файлу, опцію вихідного форматування.

Список опцій форматування знаходиться нижче. Якщо опція форматування встановлена за умовчанням, то висновок здійснюється в порядку, в якому вказані опції форматування.

• timestamp

• sig_generator

• sig_id

• sig_rev

• msg

• proto

• src

• srcport

• dst

• dstport

• ethsrc

• ethdst

• ethlen

• tcpflags

• tcpseq

• tcpack

• tcplen

• tcpwindow

• ttl

• tos

• id

• dgmlen

• iplen

• icmptype

• icmpcode

• icmpid

• icmpseq

Формат

output alert_csv: <і’мя файла> <формат>

output alert_csv: C:\snort\var\log\alert.csv default

output alert_csv: C:\snort\log\alert.csv timestamp, msg

Приклад 2.14: Конфігурація вихідної Csv

2.5.8 Unified

Вихідний плагін “Unified” є найшвидшим методом реєстрації подій Snort. Цей плагін реєструє події в двійковому форматі, дозволяючи іншим програмам оперувати складним механізмом реєстрації, інакше цей механізм зменшує продуктивність Snort.

Ім'я “об'єднувати” є неправильним вживанням терміну, оскільки плагін виводу “unified” створює два різні файли: файл попереджень і файл реєстрації. Файл попередження містить високорівневі деталі події (eg: ips, протокол, порт, id повідомлення). Файл реєстрації містить детальну інформацію пакету (виведення пакету із зв'язаним id події). Обидва типи файлів записуються в двійковому форматі, описаному в “spo_unified.h”.

ПРИМІТКА

Файли мають час створення файлу (у форматі епохи Unix), додані до кожного файлу під час створення.

формат

output alert_unified: <і’мя базового файла> [ <limit <ліміт розміру файлу в Mб>]

output log_unified: <і’мя базового файла> [ <limit <ліміт розміру файлу в Mб>]

output alert_unified: snort.alert, limit 128

output log_unified: snort.log, limit 128

Приклад 2.15: Конфігурація об'єднання

2.5.9. Log null

Іноді корисно створювати правила, які попереджатимуть про певні види трафіку і в той же час не викликатимуть дані реєстрації пакету. В Snort 1.8.2 був введений “log_null” плагін. Він рівноцінний використанню опції “–n” командного рядка, але також здатний працювати в межах типу правила.

Формат

output log_null

output log_null # подібно використанню snort -n

ruletype info {

type alert

output alert_fast: info.alert

output log_null

}

Приклад 2.16: Використання недійсної реєстрації