我安装了Debian 7.10和Suricata 3.0.1。
文档帮我安装(此处:https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Debian_Installation)
suricata run命令:
suricata -D --pidfile /var/run/suricata.pid -c /etc/suricata/suricata.yaml --af-packet = eth0
然后运行完美,创建日志等... 但如果
suricata -D --pidfile /var/run/suricata.pid -c /etc/suricata/suricata.yaml -q 0
suricata没有创建日志,没有写/var/log/suricata/*.log文件,没有任何反应......
这是一个带有1个NIC的VirtualBox虚拟机。 我已经安装了3台vbox机器,所有3台服务器上都存在问题。
任何人都可以提供帮助吗?
答案 0 :(得分:0)
使用-q意味着你正在使用NFQUEUE,这意味着Suricata从netfilter / iptables获取它的数据包。因此,有必要使用NFQUEUE关键字设置iptables规则。
仅限端口80流量的简单示例:
iptables -A OUTPUT -p tcp --dport 80 -j NFQUEUE
iptables -A INPUT -p tcp --sport 80 -j NFQUEUE
有关其他示例和解释,请参阅https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Setting_up_IPSinline_for_Linux。
(我想这会更好,但我需要更高的声誉)
答案 1 :(得分:0)
这也适用于NFTABLES,后者是Netfilter的另一个较新的前端。
确保Suricata是使用--enable-nfqueue
构建的
suricata --build-info | grep NFQ
确保已准备好NFTABLES和QUEUE
zcat /proc/config.gz | grep CONFIG_NF_TABLES
zcat /proc/config.gz | grep CONFIG_NETFILTER_ADVANCED
zcat /proc/config.gz | grep CONFIG_NETFILTER_NETLINK_QUEUE
zcat /proc/config.gz | grep CONFIG_NFT_QUEUE
即使后台驻留程序可能已关闭或正在维护,也可以通过向规则集中添加bypass
来转发流量
vi /etc/nftables.conf
chain inline {
type filter hook forward priority 10;
iif eth0 oif eth1 queue bypass;
iif eth1 oif eth0 queue bypass;
}
systemctl reload nftables
使用默认队列0
/usr/local/bin/suricata --init-errors-fatal -q 0 -D
在suricata.yaml
中使用默认值很好,但是您需要在规则内启用丢弃---如果您要使用内联模式,即丢弃数据包,则需要调整suricata-update
< / p>
cd /etc/suricata/
cp /usr/local/lib/python3.7/dist-packages/suricata/update/configs/drop.conf .
cp drop.conf drop.conf.dist
vi drop.conf
re:classtype:trojan-activity
suricata-update
suricatasc -c reload-rules