-2

Я пытаюсь настроить и запустить Snort IDS на Mac с помощью своего рода учебника:https://discussions.apple.com/thread/3370709?start=0&tstart=0

OSX Yosemite (10.10.2); PostgreSQL 9.4.1 (установлен с Homebrew) Snort: стабильный 2.9.7.0 (установлен с Homebrew)

Когда я наконец пытаюсь сыграть это так:

$ sudo /usr/local/bin/snort -d -e -i en0 -c /etc/snort/snort.conf

Получение этого:

Password:

Running in IDS mode

  --== Initializing Snort ==--
Initializing Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
Parsing Rules file "/etc/snort/snort.conf"
...
ERROR: /etc/snort/../rules/local.rules(0) Unable to open rules file "/etc/snort/../rules/local.rules": No such file or directory.

Fatal Error, Quitting..

Правило действительно на месте в /etc/snort/rules/local.rules

RULE_PATH устанавливается в /etc/snort/snort.conf в /etc/snort/rules

Так:

$ echo $RULE_PATH
/etc/snort/rules

пробую это:

$ grep RULE_PATH /etc/snort/snort.conf

var RULE_PATH ../rules
var SO_RULE_PATH ../so_rules
var PREPROC_RULE_PATH ../preproc_rules
...

Хорошо после смены

var RULE_PATH ../rules
var SO_RULE_PATH ../so_rules
var PREPROC_RULE_PATH ../preproc_rules

в

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules

Получение:

$ sudo /usr/local/bin/snort -d -e -i en0 -c /etc/snort/snort.conf
Running in IDS mode

        --== Initializing Snort ==--
Initializing Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
Parsing Rules file "/etc/snort/snort.conf"
...
ERROR: /etc/snort/snort.conf(741) Unknown output plugin: "database"
Fatal Error, Quitting..

Строка 741 в /etc/snort/snort.conf :

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

Так как прямой вывод базы данных snort 2.9.3.0 больше не поддерживается. Я должен использовать унифицированный вывод snort. Я мог бы использовать Barnyard2 вместо того, чтобы перенаправить на postgresql.

2 ответа2

2

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


Проблема с каталогом правил
Из ошибки ясно, что где-то (вероятно, в snort.conf ) есть .. , указывающий на неправильный путь. Исходя из ошибки, я бы сказал, что var RULE_PATH ../rules находится в файле конфигурации. Вы должны изменить это либо на var RULE_PATH ./rules либо использовать абсолютный путь: var RULE_PATH /etc/snort/rules . Вы должны сделать это для SO_RULE_PATH и PREPROC_RULE_PATH . Итак, ваш конфиг теперь имеет:
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules

Проблема с выводом данных в базу данных
Начиная с snort 2.9.3.0, прямой вывод из базы данных больше не поддерживается. Вы должны использовать унифицированный вывод snort (например, « output unified2: filename merged.log, limit 128, mpls_event_types, vlan_event_types). Вместо этого вы можете использовать Barnyard2 для перенаправления на postgresql. Объяснение того, как это настроить, зашло бы (на мой взгляд) слишком далеко для этого ответа. Основное начало можно найти здесь. Более подробное объяснение (и конкретное предназначение для OSX) можно найти здесь.

0

ОШИБКА: /etc/snort/../rules/local.rules(0) Невозможно открыть файл правил "/etc/snort/../rules/local.rules": такого файла или каталога нет.

Фатальная ошибка, выход ..

Я смог решить эту ошибку, комментируя следующие строки:

#var RULE_PATH ../rules
#var SO_RULE_PATH ../so_rules
#var PREPROC_RULE_PATH ../preproc_rules


#var WHITE_LIST_PATH ../rules
#var BLACK_LIST_PATH ../rules

Эти строки относятся к пользователю Windows!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .