Cli*_*ong 11 iptables ips snort
我已经通过 NFQUEUE 在本地(因为我可以走进隔壁房间并触摸它)网关上安装了 snort 并以内联模式运行。我的 中有以下规则/etc/snort/rules/snort.rules:
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"ET CURRENT_EVENTS D-LINK Router Backdoor via Specific UA"; flow:to_server,established; content:"xmlset_roodkcableoj28840ybtide"; http_header; pcre:"/^User-Agent\x3a[^\r\n]*?xmlset_roodkcableoj28840ybtide/Hm"; reference:url,www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/; classtype:attempted-admin; sid:2017590; rev:2; metadata:created_at 2013_10_13, updated_at 2013_10_13;)
Run Code Online (Sandbox Code Playgroud)
此规则与在某些 DLink 路由器中发现的后门有关。我选择这个规则是因为它看起来很容易测试。规则本身是由来自新兴威胁的 pullpork 添加的,所以我认为规则语法是正确的。
为了进行测试,我在面向 Internet 的端口 80 上使用 lighttpd 配置了我的网关,并确认它可以访问。然后,在远程机器上,我运行了命令curl -A 'xmlset_roodkcableoj28840ybtide' 'http://<EXTERNAL_IP>'。这会立即将来自 lighttpd 的响应打印到控制台并退出。网关上不会生成 Snort 警报。
此外,netfilter 似乎只使用了我正在运行的四个 snort 进程中的两个。我可以看到这一点,htop因为 CPU 1 和 2 上的 snort 进程在使用 bittorrent 进行测试时会产生沉重的负载……但 CPU 0 和 3 上的 snort 进程仍然完全空闲。
我的测试方法是错误的吗?或者 snort 没有在应该发出警报时发出警报(即由于配置错误)?我会在哪里查看为什么 netfilter 不能平衡所有四个队列之间的流量?
我的 netfilter 链的具体相关部分是:
Chain wan-fw (1 references)
pkts bytes target prot opt in out source destination
25766 2960K smurfs all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID,NEW,UNTRACKED
4 1380 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:67:68
4267 246K tcpflags tcp -- * * 0.0.0.0/0 0.0.0.0/0
3820 550K ~comb0 all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate ESTABLISHED <<=== this one for established connections ====!
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED
937 79669 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02
13 506 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 /* Ping */
4 240 ~log0 tcp -- * * <remote_server> 0.0.0.0/0 tcp dpt:80 /* Tiphares Allowed In */ <<=== this one for new connections ====!
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type BROADCAST
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type ANYCAST
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type MULTICAST
21506 2454K NFLOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: up to 1/sec burst 10 mode srcip nflog-prefix "IPv4 wan-fw REJECT " nflog-threshold 1
24808 2878K reject all -- * * 0.0.0.0/0 0.0.0.0/0 [goto]
Run Code Online (Sandbox Code Playgroud)
Chain ~log0 (1 references)
pkts bytes target prot opt in out source destination
4 240 NFLOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: up to 1/sec burst 10 mode srcip /* Tiphares Allowed In */ nflog-prefix "IPv4 HTTPTest NFQUEUE " nflog-group 1 nflog-threshold 1
4 240 NFQUEUE all -- * * 0.0.0.0/0 0.0.0.0/0 /* Tiphares Allowed In */ NFQUEUE balance 0:3 bypass cpu-fanout <<=== passes packets to one of 4 snort processes ====!
Run Code Online (Sandbox Code Playgroud)
Chain ~comb0 (4 references)
pkts bytes target prot opt in out source destination
474K 196M NFQUEUE all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate ESTABLISHED NFQUEUE balance 0:3 bypass cpu-fanout <<=== all established connections from 'wan' are monitored by snort ====!
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)
我不确定它是否相关。我发现我的网关上似乎有什么东西向互联网上的 IP 发送 TCP 重置数据包。并且这些数据包与现有连接无关。
鉴于在此网关后面的机器上使用 bittorrent 时会发生这种情况,并且大多数重置数据包将 torrent 端口列为源端口,对我来说唯一有意义的是,当它阻塞某些东西时,这是 snort 发送重置(是吗? )。
但是我使用 nfqueue daq...所以,如果它是 snort,那么为什么 snort 以一种 netfilter 认为是新连接的方式发送这些数据包,而不是将数据包直接插入 netfilter 链并将它们与现有的关联它阻塞的连接?而且,snort 没有设置为丢弃数据包或发送重置(仅警报)......那么它为什么要这样做呢?因此,为什么我不确定这是 snort 正在做的事情。
根据@Lenniey 的建议,我还使用curl -A 'asafaweb.com' http://server-ip. 这也没有产生警报。我仔细检查了我的规则文件中是否存在针对此的规则。那里有两个:
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"ET POLICY ASafaWeb Scan User-Agent (asafaweb.com)"; flow:established,to_server; content:"User-Agent|3a| asafaweb.com|0d 0a|"; http_header; reference:url,asafaweb.com; classtype:network-scan; sid:2014233; rev:2; metadata:created_at 2012_02_16, updated_at 2012_02_16;)
Run Code Online (Sandbox Code Playgroud)
和
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"MALWARE-CNC User-Agent ASafaWeb Scan"; flow:to_server,established; content:"User-Agent|3A| asafaweb.com"; fast_pattern:only; http_header; metadata:policy balanced-ips alert, policy security-ips drop, ruleset community, service http; reference:url,asafaweb.com; classtype:network-scan; sid:21327; rev:7;)
Run Code Online (Sandbox Code Playgroud)
我也更新了我的配置。我上传的那个显然是旧的(对于 http netfilter 规则显示 ACCEPT 而不是 NFQUEUE)。
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |