Snort 不丢弃数据包

Snort 不丢弃数据包

由于我们希望保护网络免受恶意流量的侵害,因此我们考虑在路由器上设置 snort。出于测试原因,我构建了一个系统来复制由我的主机和两台虚拟机组成的网络架构。主机在网络中192.168.57.0/24。虚拟机 1(带有 snort)在网络中192.168.57.0/24eth1而 虚拟机 2 在网络169.254.161.0/24中。eth2169.254.161.0/24eth1

所有机器上的路由设置都正确,以便从主机到 VM 2 可以双向 ping 操作。

VM1网络配置:

auto eth1
iface eth1 inet manual
        up ifconfig $IFACE 192.168.57.101 up
        up ip link set $IFACE promisc on
        post-up ethtool -K $IFACE gro off
        post-up ethtool -K $IFACE lro off
        down ip link set $IFACE promisc off
        down ifconfig $IFACE down

auto eth2
iface eth2 inet manual
        up ifconfig $IFACE 169.254.161.237 up
        up ifconfig $IFACE 0.0.0.0 up
        up ip link set $IFACE promisc on
        post-up ethtool -K $IFACE gro off
        post-up ethtool -K $IFACE lro off
        down ip link set $IFACE promisc off
        down ifconfig $IFACE down

/etc/snort/snort.conf:

var RULE_PATH /etc/snort/rules

config daq: afpacket
config daq_mode: inline
config daq_var: buffer_size_mb=1024
config policy_mode: inline

preprocessor normalize_ip4
preprocessor normalize_tcp: ips ecn stream
preprocessor normalize_icmp4
preprocessor normalize_ip6
preprocessor normalize_icmp6

include $RULE_PATH/local.rules

/etc/snort/rules/local.rules:

drop udp any any -> any any (msg:"UDP Traffic"; rev:1;sid:1;)

/proc/sys/net/ipv4/ip_forward设置为 1。

当我运行 snortsnort -i eth1:eth2 -c /etc/snort/snort.conf -Q -A console并从我的主机发送 UDP 数据包到 VM 2 时,snort 显示以下输出:

12/04-10:18:59.694958  [Drop] [**] [1:1:1] UDP Traffic [**] [Priority: 0] {UDP} 192.168.57.1:44625 -> 169.254.161.236:5050
12/04-10:18:59.694910  [Drop] [**] [1:1:1] UDP Traffic [**] [Priority: 0] {UDP} 192.168.57.1:44625 -> 169.254.161.236:5050

但数据包到达 VM 2 并且没有被丢弃。

根据我找到的所有资料,配置应该没问题,而且可以正常工作。因此我不知道为什么数据包仍在转发。

有什么建议么?

相关内容