OSX: Snort: ERROR: /etc/snort/../rules/local.rules(0) Не удается открыть файл правил «/etc/snort/../rules/local.rules»: такого файла или каталога нет

Я пытаюсь настроить и запустить 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)

  • Что эквивалентно Microsoft Access на Mac?
  • Как восстановить поврежденную базу данных Firefox sites.sqlite?
  • Когда я, наконец, попытаюсь показать это так:

    $ 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.

  • Xorg: отключить сенсорную чувствительность на панели кнопок на панели кнопок Elantech
  • Ошибка № 5: Ошибка ввода / вывода при установке Linux
  • Как подключиться к потерянному экрану (отсоединенный, отсутствующий сокет)?
  • Отменить команду «rm -rf ~»?
  • Интерпретация количества головок, возвращаемых fdisk
  • Ускорение видео в Linux
  • 2 Solutions collect form web for “OSX: Snort: ERROR: /etc/snort/../rules/local.rules(0) Не удается открыть файл правил «/etc/snort/../rules/local.rules»: такого файла или каталога нет”

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


    Проблема с каталогом правил
    Из ошибки ясно, что где-то (возможно, в 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) можно найти здесь .

    ОШИБКА: /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!

    Давайте будем гением компьютера.