do-cyber-driod/suricata-ids-lab

GitHub: do-cyber-driod/suricata-ids-lab

一个基于 Suricata 的网络入侵检测实验室,通过模拟 Nmap 端口扫描攻击来实践自定义检测规则的编写与实时告警分析。

Stars: 0 | Forks: 0

# 使用 Suricata IDS 进行网络入侵检测 ## 概述 一个网络安全监控实验室,采用部署在 Ubuntu 虚拟机上的 Suricata IDS 构建,并使用 Kali Linux 作为攻击机。模拟了真实的 Nmap 端口扫描攻击,并使用自定义编写的 Suricata 检测规则成功检测,实时生成了 50 个告警。 ## 目标 - 在 Ubuntu 虚拟机上部署 Suricata IDS 并配置其监控网络流量 - 编写自定义 Suricata 检测规则以识别端口扫描活动 - 从 Kali Linux 向目标虚拟机模拟真实的 Nmap SYN 扫描 - 通过 Suricata 告警日志检测并分析攻击 ## 工具与技术 - **IDS:** Suricata 8.0.3 - **攻击机:** Kali Linux (VM - "Clark Kent") - **目标机:** Ubuntu Linux (VM - "Luthor-corp") - **虚拟化:** Oracle VirtualBox 与 NAT Network - **攻击工具:** Nmap 7.98 - **规则语言:** Suricata 规则语法 ## 实验环境配置 - 两台虚拟机通过 VirtualBox NAT Network 连接 - Kali Linux (10.0.2.15) — 攻击者 - Ubuntu/Luthor-corp (10.0.2.4) — 运行 Suricata IDS 的目标机 - 配置 Suricata 监控接口 enp0s3 - 通过 suricata-update 加载了 51,171 条规则 ## 自定义检测规则 编写并部署在 /etc/suricata/rules/local.rules 中: ``` alert tcp any any -> $HOME_NET any (msg:"NMAP Port Scan Detected"; flags:S; threshold: type threshold, track by_src, count 20, seconds 10; sid:9000001; rev:1;) ``` **规则解析:** - 针对从任何源发往家庭网络的 TCP SYN 数据包触发告警 - 当在 10 秒内检测到来自同一源的 20 个及以上 SYN 数据包时触发 - 自定义签名 ID:9000001 ## 攻击模拟 从 Kali Linux (Clark Kent) 向 Luthor-corp 发起了 Nmap SYN 扫描: ``` sudo nmap -sS 10.0.2.4 ``` 这在 6 秒内跨越 1000 个端口发送了 SYN 数据包 —— 符合自动化侦察活动的特征。 ## 检测结果 Suricata 通过 fast.log 实时检测到了该攻击: ``` 07/02/2026-23:59:44 [] [1:9000001:1] NMAP Port Scan Detected [] [Priority: 3] {TCP} 10.0.2.15:64334 -> 10.0.2.4:259 ``` **生成的告警总数:50** - 源 IP:10.0.2.15 (Kali - Clark Kent) - 目标 IP:10.0.2.4 (Ubuntu - Luthor-corp) - 协议:TCP - 检测规则:自定义规则 sid:9000001 ## 截图 ### Suricata 告警 - 检测到 NMAP 端口扫描 (fast.log) ![Fast Log 告警](https://raw.githubusercontent.com/do-cyber-driod/suricata-ids-lab/main/<./fast-log.png>) ### 告警数量 - 50 次检测 ![告警数量](https://raw.githubusercontent.com/do-cyber-driod/suricata-ids-lab/main/<./alert-count.png>) ### local.rules 中的自定义规则 ![自定义规则](https://raw.githubusercontent.com/do-cyber-driod/suricata-ids-lab/main/<./custom-rule.png>) ## 经验总结 - 如何在 Linux 系统上部署和配置 Suricata IDS - 如何使用规则语法编写自定义 Suricata 检测规则 - Nmap SYN 扫描在网络层和 IDS 日志中的表现形式 - 如何设置阈值以在捕获真实攻击的同时避免告警疲劳 - SOC 分析师将如何识别和处理侦察活动 - 基于签名的检测与异常检测之间的区别 ## 认证 - CompTIA Security+ (SY0-701) — 2026年5月 # suricata-ids-lab
标签:CTI, Metaprompt, Nmap, Suricata, 插件系统, 攻击模拟, 流量监控, 现代安全运营, 网络安全, 虚拟驱动器, 隐私保护, 驱动签名利用