在尝试从 Debian Wheezy 存储库测试 Suricata 时,我遇到了一个问题。
cat /var/log/suricata/suricata-start.log
23/9/2013 -- 19:25:03 - <Info> - This is Suricata version 1.2.1 (rev 872e3cb)
23/9/2013 -- 19:25:03 - <Warning> - [ERRCODE: SC_WARN_OUTDATED_LIBHTP(200)] - libhtp < 0.2.7 detected. Keyword http_raw_header will not be able to inspect response headers.
23/9/2013 -- 19:25:03 - <Info> - CPUs/cores online: 1
23/9/2013 -- 19:25:03 - <Info> - NFQ running in standard ACCEPT/DROP mode
23/9/2013 -- 19:25:03 - <Info> - Using PCRE match-limit setting of: 3500
虽然我已经下载了 0.5.7 的 libhtp 源代码,并安装了.deb
Debian Jessy ( 0.2.12 ) 的存档,但该库始终指向旧库。
我已添加include /usr/local/lib/
到/etc/ld.so.conf
Ran 和 reran ldconfig -v
,手动擦除缓存/etc/ld.co.cache
并重新运行我能弄清楚的无济于事。
创建/etc/ld.so.conf.d/libhtp.conf
包含/usr/local/lib/libhtp*
似乎会导致
ldconfig -p | grep libhtp
libhtp-0.5.7.so.1 (libc6,x86-64) => /usr/local/lib/libhtp-0.5.7.so.1
libhtp-0.2.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libhtp-0.2.so.1
这是怎么回事,我做错了什么?关于这一点,我们几乎找不到什么。
答案1
两者都已经过时了。 Suricata 稳定版本为 1.4.6,与其一起使用的 libhtp 版本为 0.2.14,请参阅http://suricata-ids.org/download/
libhtp 0.5.x 是我们在 Suricata 2.0 中使用的,目前处于测试阶段。由于 API 更改,它无法与 Suricata 1.4.6 一起使用。
一般来说,使用分发存储库中的 Suricata 等工具并不是一个好主意。版本总是落后很多。我建议从源代码安装。
答案2
23/9/2013 -- 19:25:03 - <Warning> - [ERRCODE: SC_WARN_OUTDATED_LIBHTP(200)] - libhtp < 0.2.7 detected. Keyword http_raw_header will not be able to inspect response headers.
这只是一个警告,而不是错误。您真的需要吗http_raw_header
?如果没有,请忽略它。
从 Debian Jessy ( 0.2.12 ) 安装了 .deb 存档
这是一个坏主意。尽管可以在不破坏任何内容的情况下安装较新的 Debian 版本的软件包,但它确实会产生影响。
例如,假设有人发现libhtp1
.然后 Debian 将发布libhtp1
修复此安全漏洞的新软件包,但它会发布两个软件包,例如:
Debian wheezy: libhtp1 (0.2.6-3) (instead of 0.2.6-2)
Debian jessy: libhtp1 (0.2.12-2) (instead of 0.2.12-1)
您的系统会看到0.2.6-3
更新,因为它被配置为提取wheezy
更新,但它已经0.2.12-2
安装了。0.2.12-2
比 更高(=更新)0.2.6-3
,因此根本不会安装更新。现在,您的系统中引入了 Debian 更新程序无法修复的安全漏洞。
虽然我已经下载了 0.5.7 的 libhtp 源代码
从源代码编译和安装某些东西甚至更糟。不要这样做。
我已添加包含
/usr/local/lib/
到/etc/ld.so.conf
天哪,请在彻底冲洗系统之前停下来:(