SaidKA007/web-security-monitoring-elk

GitHub: SaidKA007/web-security-monitoring-elk

基于ELK Stack的Web安全监控实验室,用于检测和分析网络攻击。

Stars: 0 | Forks: 0

# 使用 ELK Stack 进行 Web 安全监控 ## 概述 本项目是一个面向使用 Apache 日志和 ELK Stack 检测网络攻击的动手式 SOC 实验室。 实验室模拟了对本地 Apache 网络服务器的可疑 HTTP 活动进行攻击。日志通过 Filebeat 收集,存储在 Elasticsearch 中,并使用 KQL 查询在 Kibana 中进行调查。 ## 实验室架构 攻击者 / 测试机器 → Apache 网络服务器 → Apache access.log / error.log → Filebeat → Elasticsearch → Kibana → SOC 分析师调查 ## 截图 ### Apache 服务运行 ![Apache 服务运行](https://raw.githubusercontent.com/SaidKA007/web-security-monitoring-elk/main/screenshots/01-apache-service-running.png) ### Apache 默认页面 ![Apache 默认页面](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c6c8df3126220810.png) ### 侦察检测 ![侦察检测](https://raw.githubusercontent.com/SaidKA007/web-security-monitoring-elk/main/screenshots/07-kibana-recon-detection.png) ## 使用工具 * Kali Linux * Apache 网络服务器 * PHP * Filebeat * Elasticsearch * Kibana * Docker * KQL * curl * Nikto ## 模拟攻击场景 ### 1. 侦察扫描 使用 Nikto 和手动请求模拟网络侦察。目标是识别对隐藏或敏感路径的可疑请求。 可疑路径示例: * `/admin` * `/.env` * `/.git/config` * `/backup.zip` * `/phpmyadmin` ### 2. 暴力破解登录尝试 使用不同的密码值向 `login.php` 端点发送重复的登录请求。这模拟了对网络登录表单的自动密码猜测。 ### 3. 注入和路径遍历尝试 实验室包括对以下可疑有效负载的检测: * SQL 注入模式 * `UNION SELECT` 尝试 * XSS 有效负载 * 路径遍历尝试 * 针对 `/etc/passwd` 的请求 ## 检测逻辑 通过以下方式识别可疑活动: * 来自单一来源的大量请求 * 短时间内许多 404 响应 * 对隐藏文件的请求 * URL 参数中的 SQL 关键词 * XSS 脚本标签 * 路径遍历序列 * 重复的登录尝试 ## 示例 KQL 查询 ### 检测 SQL 注入 `message: "*UNION*"` ### 检测隐藏文件探测 `message: "*.env*"` ### 检测路径遍历 `message: "*../*"` ### 检测 XSS 有效负载 `message: "*