OSX:Snort:错误:/etc/snort/../rules/local.rules(0)无法打开规则文件“ /etc/snort/../rules/local.rules”:没有这样的文件或目录

德鲁

我正在尝试使用此类教程在Mac上设置并运行Snort IDS:https//discussions.apple.com/thread/3370709? start = 0& tstart = 0

OSX优胜美地(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。

敏捷的

注意:此答案由原始问题的注释中的对话框组成。


规则目录的问题
从错误中可以明显看出,某个地方(可能在 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的特定目标)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档