问题描述:
使用git clone 下载Suricata工程进行环境搭建,
执行到make install-full
时报错
error: rules not installed as suricata-update not available
首先出现这个报错有两种情况,
第一种情况:
是首次搭建Suricata,你的规则还没有下来,编译时会找不到规则,所以报错;
解决方法:
sudo apt install python3-pip python-yaml
sudo pip install --upgrade suricata-update
再运行一次:
suricata-update
从官网下载规则下来;
此时会看到打印:
6/7/2022 -- 12:01:17 - <Warning> -- Disabling ja3 rules as Suricata is built without libnss.
6/7/2022 -- 12:01:17 - <Info> -- 135 ja3_hash rules disabled.
6/7/2022 -- 12:01:17 - <Info> -- Disabled 149 rules.
6/7/2022 -- 12:01:17 - <Info> -- Enabled 0 rules.
6/7/2022 -- 12:01:17 - <Info> -- Modified 0 rules.
6/7/2022 -- 12:01:17 - <Info> -- Dropped 0 rules.
6/7/2022 -- 12:01:17 - <Info> -- Enabled 131 rules for flowbit dependencies.
6/7/2022 -- 12:01:17 - <Info> -- Backing up current rules.
6/7/2022 -- 12:01:20 - <Info> -- Writing rules to /var/lib/suricata/rules/suricata.rules: total: 34070; enabled: 26459; added: 101; removed 8; modified: 1229
6/7/2022 -- 12:01:20 - <Info> -- Writing /var/lib/suricata/rules/classification.config
6/7/2022 -- 12:01:20 - <Info> -- Skipping test, disabled by configuration.
6/7/2022 -- 12:01:20 - <Info> -- Done.
可以看到suricata-update将规则写进了/var/lib/suricata/rules/suricata.rules
文件中,
接下来需要将suricata.yaml
中的default-rule-path
手动修改为,/var/lib/suricata/rules
即:
default-rule-path: /var/lib/suricata/rules
rule-files:
- suricata.rules
再执行:
./configure
make
make install-full
即可编译通过;
第二种情况:
第二种是由于你先安装了suricata-update工具,再通过git 下载工程编译使用,这种情况也会导致报
error: rules not installed as suricata-update not available
解决方法:
在suricata工程目录中执行:
cd suricata-update
curl -L https://github.com/OISF/suricata-update/archive/master.tar.gz | tar zxvf - --strip-components=1
执行成功后再执行:
./configure
make
make install-full
即可编译通过;
参考文章:
linux环境centos 7 下suricata 源码安装:
https://blog.csdn.net/javajiawei/article/details/104428725/
Suricata bug库:
https://redmine.openinfosecfoundation.org/issues/3235