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 默认页面

### 侦察检测

## 使用工具
* 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: "*