kenichihasegawa/suricata-apache-lab

GitHub: kenichihasegawa/suricata-apache-lab

这是一个结合 Apache Web 服务器的 Suricata 入侵检测系统实验项目,演示了 HTTP 流量监控、自定义检测规则编写及攻击模拟。

Stars: 0 | Forks: 0

# 🛡️ Suricata + Apache 实验 ### HTTP 监控与检测工程 ## 📌 概述 本项目演示了如何在配备 Apache Web 服务器的实验环境中使用 **Suricata** 监控和检测 HTTP 流量。 它通过结合以下内容模拟了真实的 SOC(安全运营中心)工作流程: * 基于网络的检测 * Web 服务器日志 (Apache) * 攻击模拟 (curl / 目录暴力破解) ## 🎯 目标 * 使用 Suricata 可视化 HTTP 流量 (`eve.json`) * 检测可疑行为(例如访问 `/admin`) * 识别扫描活动(暴力破解 / 枚举) * 构建实用的检测规则 ## 🏗️ 架构 ``` Client → Apache Web Server → Suricata → Logs (eve.json / fast.log) ``` ## 🖥️ 环境 * 操作系统:Ubuntu (VMware) * Web 服务器:Apache * 入侵检测系统 (IDS):Suricata * 网络:192.168.242.0/24 ## 🚀 设置 ### 1. 安装 Suricata ``` sudo apt update sudo apt install suricata -y ``` ### 2. 识别网络接口 ``` ip a ``` 示例: ``` ens33 ``` ### 3. 启动 Suricata ``` sudo suricata -c /etc/suricata/suricata.yaml -i ens33 ``` ### 4. 监控日志 ``` tail -f /var/log/suricata/eve.json ``` ## 🌐 测试网页 ``` My App

Hello World

``` ## 🔍 HTTP 日志示例 ``` { "event_type": "http", "http": { "url": "/", "http_method": "GET", "status": 200 } } ``` # 🚨 检测规则 ## 1. 管理后台访问检测 ``` alert http any any -> any any ( msg:"Admin Page Access Detected"; flow:to_server,established; http.uri; content:"/admin"; nocase; sid:1000001; rev:1; ) ``` ## 2. 目录暴力破解检测 ``` alert http any any -> any any ( msg:"Directory Bruteforce Suspected"; flow:to_server,established; http.uri; content:"/"; threshold:type threshold, track by_src, count 20, seconds 10; sid:1000002; rev:1; ) ``` ## 3. 可疑 User-Agent 检测 ``` alert http any any -> any any ( msg:"Suspicious User-Agent"; flow:to_server,established; http.user_agent; content:"gobuster"; nocase; sid:1000003; rev:1; ) ``` ## 4. 多次 404 检测 ``` alert http any any -> any any ( msg:"Multiple 404 - Possible Scan"; flow:to_server,established; http.stat_code; content:"404"; threshold:type threshold, track by_src, count 15, seconds 10; sid:1000004; rev:1; ) ``` ## 5. 目录遍历检测 ``` alert http any any -> any any ( msg:"Directory Traversal Attempt"; flow:to_server,established; http.uri; content:"../"; sid:1000005; rev:1; ) ``` # 🧪 攻击模拟与检测 ## 步骤 1:模拟攻击 ``` curl http://192.168.242.129/admin ``` ## 步骤 2:检测结果 ### 🔴 Suricata 告警 ``` [**] [1:1000001:1] Admin Page Access Detected [**] ``` ### 🔵 Suricata JSON 日志 ``` { "event_type": "alert", "alert": { "signature": "Admin Page Access Detected", "sid": 1000001 } } ``` # 📸 截图 ## HTTP 流量监控 ![HTTP 日志](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c40a33f8f1112822.png) ## 管理后台访问检测 ![告警](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/1668e89abf112830.png) # 🧠 关键要点 * Suricata 分析的是**网络流量**,而不是应用程序日志 * Apache 日志显示结果,Suricata 显示行为 * 结合两者可以提高检测准确性 * 基于阈值的规则对于检测扫描至关重要 # 🔥 未来改进 * Elasticsearch + Kibana 集成 * 使用 Fluentd 进行日志转发 * 检测调优(减少误报) * 高级攻击模拟(SQL 注入,模糊测试) # 📌 结论 本实验演示了在真实的 Web 环境中使用 Suricata 进行实用的检测工程。 它反映了真实的 SOC 工作流程,包括: * 流量监控 * 基于规则的检测 * 攻击模拟 * 日志分析 ## 👤 作者 * 姓名:(Kenichi Hasegawa) * 角色:SOC 分析师 / 安全工程师 * 认证:CCNP, Security+, CySA+, BTL1
标签:AMSI绕过, Apache, CISA项目, eve.json, Homebrew安装, HTTP监控, IP 地址批量处理, Metaprompt, Suricata, Web安全, 威胁检测, 安全运营, 实战实验, 密码管理, 扫描框架, 现代安全运营, 目录爆破, 网络安全, 蓝队分析, 规则编写, 隐私保护