tysloan-cyber/port-scan-detection-pipleine
GitHub: tysloan-cyber/port-scan-detection-pipleine
一个在 Homelab 环境中构建的端口扫描检测 Pipeline,通过解析 Zeek 日志实现基于行为分析的扫描活动识别和告警生成。
Stars: 0 | Forks: 0
# 端口扫描检测 Pipeline
## 概述
本项目展示了一个在虚拟化 Homelab 环境中构建的网络安全检测 Pipeline。它处理 Zeek (Security Onion) 网络日志,并使用基于 Python 的行为分析来识别端口扫描活动。
## 目标
构建一个能够实现以下功能的系统:
- 获取真实的网络遥测数据
- 检测端口扫描行为
- 关联攻击者和目标的活动
- 生成结构化的告警以供进一步分析
## 架构
### 网络分段
- **LAN:** 192.168.10.0/24
- **DMZ:** 192.168.20.0/24
- **ATTACK:** 192.168.30.0/24
### 组件
- **pfSense** – 路由和分段
- **Security Onion (Zeek)** – 日志收集
- **Kali Linux** – 攻击模拟
- **DMZ Hosts** – 目标 (Web Server / Metasploitable)
- **Admin Box** – 日志处理和检测
## 技术
- Python
- VirtualBox
- pfSense
- Security Onion (Zeek)
- Linux (Ubuntu, Kali)
## 项目结构
- pipeline.py # 自动化日志获取和执行
- port_scan_detector.py # 核心检测逻辑
- alerts.json # 样本检测输出
- study_notes.txt # 面试准备笔记
## 工作流
1. 从攻击者 生成流量
2. 使用 Zeek (Security Onion) 捕获日志
3. 通过 SCP 传输日志
4. 使用 Python 解析日志
5. 检测端口扫描行为
6. 输出告警 (终端 + JSON)
## 检测逻辑
系统追踪:
如果一个源连接到目标上的大量唯一端口,它将被标记为潜在的端口扫描。
## 未来增强
- 云部署 (AWS S3 + Lambda)
- 实时日志处理
- Docker 容器化
- AI 辅助告警分析
## 🚨 示例告警
```
{
"type": "port_scan",
"attacker": "192.168.30.100",
"target": "192.168.20.20",
"port_count": 65535,
"severity": "high"
}
```
标签:AMSI绕过, HomeLab, IP 地址批量处理, JSON, pfSense, Python, Rootkit, Security Onion, Zeek, 威胁检测, 安全运营, 密码管理, 扫描框架, 插件系统, 数据管道, 无后门, 端口扫描检测, 网络分段, 网络安全, 网络流量分析, 虚拟化环境, 软件工程, 逆向工具, 隐私保护