Anam-Batool-12/Network-ids-suricata-lab

GitHub: Anam-Batool-12/Network-ids-suricata-lab

基于 Suricata 的虚拟网络入侵检测实验环境,通过模拟端口扫描、SSH 暴力破解等真实攻击来演示 IDS 检测与自定义规则编写。

Stars: 0 | Forks: 0

# 使用 Suricata 的网络入侵检测系统 (IDS) 实验 ## 概述 一个模拟真实网络攻击的网络安全实操实验,并使用开源高性能网络入侵检测系统 (IDS) Suricata 进行检测。该项目展示了对网络安全监控、威胁检测以及自定义规则工程的实际理解。 ## 项目目标 - 构建独立的虚拟实验室环境,用于安全地模拟攻击 - 部署并配置包含 51,000+ 检测规则的 Suricata IDS - 模拟真实的网络攻击(端口扫描、暴力破解) - 编写自定义检测规则以识别特定的攻击模式 - 分析并记录 IDS 日志中的攻击特征 ## 实验架构 ┌─────────────────┐ ┌──────────────────────┐ │ 攻击者 │ ──────► │ 目标 + IDS │ │ WSL2 Ubuntu │ │ Kali Linux │ │ 192.168.100.86 │ │ 192.168.100.104 │ │ │ │ Suricata 8.0.5 │ │ 工具: │ │ 已加载 51,182 条规则 │ │ - Nmap 7.98 │ │ │ │ - Hydra 9.6 │ │ 日志: │ └─────────────────┘ │ - fast.log │ │ - eve.json │ └──────────────────────┘ 独立的 VMware Host-Only 网络 ## 工具与技术 | 工具 | 版本 | 用途 | |------|---------|---------| | Suricata | 8.0.5 | 网络 IDS 引擎 | | Nmap | 7.98 | 端口扫描模拟 | | Hydra | 9.6 | SSH 暴力破解模拟 | | WSL2 Ubuntu | 24.04 | 攻击机 | | Kali Linux | 2026 | 目标机 + IDS 传感器 | | Emerging Threats | 最新版 | 社区规则集 | ## 模拟与检测到的攻击 | 攻击类型 | 工具 | Suricata 警报 | MITRE ATT&CK | 已检测 | |-------------|------|----------------|--------------|----------| | SYN 隐秘端口扫描 | Nmap -sS | POSSBL PORT SCAN (NMAP -sS) | T1046 - 网络服务发现 | ✅ 是 | | SSH 暴力破解 | Hydra | 自定义规则 - SSH 暴力破解尝试 | T1110 - 暴力破解 | ✅ 是 | | 可疑 DNS 查询 | RustDesk | ET INFO DNS Lookup 中的 RustDesk 域名 | T1071 - 应用层协议 | ✅ 是 | ## 自定义检测规则 编写在 `/etc/suricata/rules/local.rules` 中: alert tcp any any -> $HOME_NET 22 (msg:"SSH Brute Force Attempt Detected"; flow:to_server; threshold:type threshold, track by_src, count 5, seconds 60; sid:9000001; rev:1;) **规则解释:** - `alert tcp` — 监控 TCP 流量 - `any any -> $HOME_NET 22` — 从任意源到 SSH 端口 22 - `msg` — 日志中显示的警报消息 - `threshold: count 5, seconds 60` — 在 60 秒内尝试 5 次以上时触发 - `sid:9000001` — 唯一规则 ID ## 主要发现 - Suricata 在攻击发起后的几秒钟内就检测到了 Nmap SYN 扫描 - 从 Emerging Threats 开放规则集中加载了 51,182 条规则 - 成功编写并测试了自定义 SSH 暴力破解规则 - Hydra 在 10 秒内成功破解了弱密码 (`kali:kali`) —— 说明了强密码的重要性 - Suricata 未检查回环流量 (127.0.0.1) —— 被认为是基于主机的 IDS 部署的架构限制 - ET 规则自动标记了 RustDesk 远程桌面软件 —— 展示了基于特征检测的真实世界适用性 ## MITRE ATT&CK 映射 侦察 → T1046 (网络服务发现) — Nmap 扫描 凭证获取 → T1110 (暴力破解) — Hydra SSH 攻击 命令与控制 → T1071 (应用层协议) — DNS 异常 ## 限制与未来改进 | 限制 | 未来改进 | |------------|-------------------| | 未监控回环流量 | 通过端口镜像部署专用 IDS 传感器 | | 单一网络段 | 添加多个 VLAN 以模拟企业网络 | | 无 SIEM 集成 | 将 Suricata 连接到 ELK Stack 或 Wazuh SIEM | | 手动编写规则 | 根据威胁情报源实现自动化规则生成 | | 无 IPS 模式 | 在 IPS 模式下启用 Suricata 以主动拦截攻击 | ## 我学到了什么 - 如何从零开始部署和配置 Suricata IDS - 网络攻击在数据包和日志级别上是如何呈现的 - 如何使用 threshold 逻辑编写自定义 Suricata 检测规则 - Nmap SYN 隐秘扫描与常规 TCP 扫描有何不同 - 暴力破解攻击如何生成可被 IDS 检测到的模式 - 对 MITRE ATT&CK 框架映射的实际理解 - 基于主机的 IDS 与基于网络的 IDS 部署的限制 ## 大型作品集的一部分 这是我的网络安全实验系列中 **9 个项目的第 1 个**,作为准备网络安全与信息安全研究生学习的一部分而构建。每个项目都建立在之前项目技能的基础之上。 **完整系列:** 1. ✅ 网络 IDS 实验 (Suricata) — 本项目 2. 🔄 手动流量分析与异常检测 3. ⏳ 中间人攻击与防御实验 4. ⏳ 无线网络安全审计 5. ⏳ DNS 安全实验 (Spoofing + DNSSEC) 6. ⏳ VPN 与隧道安全实验 7. ⏳ 网络分段与 Zero Trust 实验 8. ⏳ SDN 自动化防火墙 9. ⏳ 完整渗透测试报告 (毕业项目) ## 参考 - [Suricata 文档](https://suricata.io/documentation/) - [Emerging Threats 规则](https://rules.emergingthreats.net/) - [MITRE ATT&CK 框架](https://attack.mitre.org/) - [Nmap 参考指南](https://nmap.org/book/man.html) *作者:Anam Batool | 软件工程毕业生 | 巴基斯坦虚拟大学* *研究方向:网络安全与信息安全 |
标签:BurpSuite集成, CTI, Metaprompt, Suricata, 云计算, 插件系统, 现代安全运营, 网络安全, 网络攻防, 虚拟实验室, 规则引擎, 速率限制, 隐私保护