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, 威胁检测, 安全运营, 密码管理, 扫描框架, 插件系统, 数据管道, 无后门, 端口扫描检测, 网络分段, 网络安全, 网络流量分析, 虚拟化环境, 软件工程, 逆向工具, 隐私保护