如何使用 Snort 检测 NMAP 默认 SYN 扫描?

How to Use Snort to detect NMAP default SYN scan?

我看到 this 有同样的问题,它得出了这个规则:

alert tcp any any -> any any (flags:S; msg:"NMAP TCP SYN"; sid: 1231213;)

但这是完全错误的,它会在几乎任何事情上提醒您,例如简单的 HTTP 或 HTTPS 请求。

我将这样重述问题:

有没有什么方法可以通过查看由单个 IP 发送的一系列数据包来检测扫描,这些数据包设置了 SYN 标志并且发送到 Snort 规则中设备上的至少 10 个端口?

对我的问题的简短回答:是。

最近我遇到一个名为sfportscan的模块,它有很多选项,例如内存保存数据包和分析超时和连接数的主题.

要启用 sfportscan,您应该

1- 添加这个到snort.cont通常在/etc/snort/

preprocessor sfportscan: proto { all } \
        scan_type  { all } \
        sense_level { high } \
        logfile { alert }

它将查找所有协议和所有类型的扫描,如 SYN、Null 等,并将它们记录在 alert 文件的日志目录中(警报是一个实际的文件名),我们在选项 logfile 中提到过。括号前后的 space 很重要,没有它们,snort 解析器会发出错误。

2- 运行 snort -c "/etc/snort/snort.conf" -T 确保所有配置都正常。

3- 运行 /etc/init.d/snort stop/etc/init.d/snort start 有一些延迟,以重新启动 Snort。

4- 打开您的警报文件以查看警报:

tail -f [Address to log Directory]/alert

5- 测试它是否使用 NMAP 创建日志,在其他机器上打开另一个终端并:

sudo nmap [Your Firewall or NIDS IP Address]

6- 你应该在尾文件中看到类似这样的东西:

Time: 02/23-12:54:21.183932 
event_ref: 0
[Source ip address] -> [Destination ip address] (portscan) TCP Portscan
Priority Count: 9
Connection Count: 10
IP Count: 1
Scanner IP Range: [Destination ip address]:[Destination ip address]
Port/Proto Count: 10
Port/Proto Range: 981:12174

我的笔记: Snort 是一个很棒的 IDS,它在许多免费甚至商业产品中都有使用,但它的文档和示例以及 YouTube 介绍很差,如果它的社区更多地参与 Whosebug ,那就太好了,问题。