FreeBSD-9 上的 Snort 错误:未知的预处理器“ftp_telnet”

FreeBSD-9 上的 Snort 错误:未知的预处理器“ftp_telnet”

我已经使用标准端口在 FreeBSD-9.1(32 位)上安装了“Snort”:

pkg_add -r snort

配置并运行后:

snort -c /etc/snort/snort.conf -A full -u snort -g snort -i em1 -T

我收到此错误:

ERROR: /etc/snort/snort.conf(337) Unknown preprocessor: "ftp_telnet".

在互联网上搜索后,我发现的唯一情况是,如果我使用的版本snort.conf与 snort 本身不同,则可能会发生这种情况,但这不是我的情况。我的 snort 版本是:

 ,,_     -*> Snort! <*-
o"  )~   Version 2.9.3.1 IPv6 GRE (Build 40) 
 ''''    By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
         Copyright (C) 1998-2012 Sourcefire, Inc., et al.
         Using libpcap version 1.3.0
         Using PCRE version: 8.31 2012-07-06
         Using ZLIB version: 1.2.7

我正在snortrules-snapshot-2931.tar.gz使用snort.org

我以前在 Linux 上安装和运行 snort 有一些经验,从未遇到过这样的错误,但我对 BSD-UNIX 还很陌生。

答案1

看起来“make install”没有在

/usr/local/lib/snort_dynamicpreprocessor

执行以下操作并查看是否能解决问题。

cd /usr/local/lib/snort_dynamicpreprocessor

ln -s libsf_ftptelnet_preproc.so.0.0 libsf_ftptelnet_preproc.so
ln -s libsf_dcerpc_preproc.so.0.0 libsf_dcerpc_preproc.so
ln -s libsf_smtp_preproc.so.0.0 libsf_smtp_preproc.so
ln -s libsf_dns_preproc.so.0.0 libsf_dns_preproc.so
ln -s libsf_ssh_preproc.so.0.0 libsf_ssh_preproc.so

答案2

很长时间没有人回答这个问题,我所有的尝试都未能解决它,这个问题的重要性现在对我来说已经过去了......但对于任何可能面临这个问题的人来说,我认为问题的原因是我从端口安装了 Snort......我还没有尝试过,但我最好的猜测是,如果我尝试从源代码安装它,这个问题就不会出现。

简而言之:尝试从源安装 Snort,而不是从端口安装。 以下是在 FreeBSD-9 上从源代码安装 Snort 的有用链接:

答案3

在 CentOS7 上我看到同样的错误,我发现这一行不正确,dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/正确的路径dynamicpreprocessor directory /usr/lib64/snort-2.9.8.3_dynamicpreprocessor/

# path to base preprocessor engine
dynamicengine /usr/local/lib64/snort-2.9.8.3_dynamicengine/libsf_engine.so

相关内容