scorpiocodex/Aegis-Sentinel

GitHub: scorpiocodex/Aegis-Sentinel

一个轻量级的跨平台主机与网络入侵检测框架,通过实时行为监控和威胁情报关联来识别反向 Shell、C2 通信、权限提升等高级威胁。

Stars: 0 | Forks: 0

# 🔐 Aegis Sentinel [![Version](https://img.shields.io/badge/version-1.0.0-blue)](https://github.com/scorpiocodex/Aegis-Sentinel/releases) [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![CI](https://github.com/scorpiocodex/Aegis-Sentinel/actions/workflows/ci.yml/badge.svg)](https://github.com/scorpiocodex/Aegis-Sentinel/actions/workflows/ci.yml) **Aegis Sentinel** 是一个用 Python 3.11+ 编写的自主、事件驱动的宿主和网格入侵检测系统 (HIDS/NIDS)。它实时监控系统活动,检测跨多个威胁载体的可疑行为,并通过 Telegram 或结构化日志文件发送即时警报。 ## 🛡 为什么选择 Aegis Sentinel? 传统的入侵检测系统 (IDS) 往往笨重、配置复杂且运作方式不透明。**Aegis Sentinel** 的构建旨在与众不同: - **轻量且高效**:极低的 CPU 和内存占用,专为小型服务器和高性能工作站设计。 - **对开发者友好**:清晰、模块化的 Python 架构,便于编写自定义检测逻辑。 - **透明运作**:清晰的 CLI 状态、结构化日志和人类可读的安全事件。 - **内置安全性**:设计上经过加固,包含签名模块、防篡改日志和安全的子进程处理。 ## 🚀 特性 - **宿主监控**:实时监控进程、网络和文件系统。 - **行为检测**:检测可疑模式,如反向 Shell、权限提升和持久化。 - **威胁情报**:集成恶意 IP/域名源,支持本地缓存。 - **自动警报**:多渠道警报(Telegram、JSON 日志、Webhooks),支持速率限制。 - **插件架构**:模块化、可插拔的检测模块,支持安全加载。 - **事件总线**:Async-first 架构,支持优先级队列和去重。 - **防篡改日志**:哈希链式事件存储 (SQLite + HMAC) 以检测日志篡改。 - **跨平台**:全面支持 Linux 和 Windows。 - **服务部署**:提供即用型 systemd 服务和自动安装程序。 - **优化引擎**:使用异步 I/O 的高性能检测引擎。 ## 🧠 检测能力 Aegis Sentinel 提供广泛的检测类别: - **反向 Shell**:检测进程参数中常见的反向 Shell 模式。 - **可疑进程树**:分析父子关系中的异常。 - **持久化指标**:监控 cron、systemd 和启动项中的新持久化条目。 - **权限提升**:检测 sudo 滥用、SUID 执行和提权模式。 - **DNS 隧道**:识别高熵和超大 DNS 查询。 - **TOR 连接**:警报与已知 Tor 出口节点的连接。 - **端口扫描**:检测入站和出站端口扫描模式。 - **Cron 异常**:监控异常或新添加的 cron 作业条目。 - **SSH 监控**:检测暴力破解尝试和身份验证异常。 - **文件完整性监控 (FIM)**:跟踪对关键系统文件的未授权更改。 - **命令行分析**:对进程命令行进行行为分析。 - **网络异常检测**:监控可疑的出站连接和恶意 IP。 ## 📸 示例输出 使用内置 CLI 监控您的系统状态: ``` ╭──────────────────────────────────────────────────────────────╮ │ Aegis Sentinel — Health Check │ ├──────────────────────────────────┬────────┬──────────────────┤ │ Check │ Status │ Detail │ ├──────────────────────────────────┼────────┼──────────────────┤ │ Config file exists │ PASS │ /etc/aegis-... │ │ Config permissions (0600) │ PASS │ 0o600 │ │ Config dir (/etc/aegis-sentinel) │ PASS │ exists, writable │ │ Data dir (/var/lib/aegis-...) │ PASS │ exists, writable │ │ Running as admin/root │ PASS │ root │ │ Platform supported │ PASS │ Linux │ ╰──────────────────────────────────┴────────┴──────────────────╯ ``` ## 🧱 架构亮点 Aegis Sentinel 采用模块化、事件驱动的架构构建,旨在实现高吞吐量和可靠性。 - **异步事件驱动**:基于 `asyncio` 构建,实现非阻塞 I/O 和低延迟事件处理。 - **智能事件总线**:内置去重、速率限制和背压机制,确保系统稳定性。 - **模块化检测引擎**:无需触及核心引擎即可添加或更新插件。 - **哈希链式存储**:每个安全事件都通过加密方式链接到前一个事件,使日志篡改可被检测。 - **跨平台抽象**:统一的适配器层确保跨 Linux 和 Windows 的一致监控。 ## 🧩 架构概览 ``` ┌──────────────────────────────────────────────────────────┐ │ AegisEngine │ │ │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Scheduler │ │ Event Bus │ │ Plugin Loader│ │ │ └──────┬──────┘ └──────┬───────┘ └──────────────┘ │ │ │ │ │ │ ┌──────▼──────┐ ┌──────▼───────┐ ┌──────────────┐ │ │ │ Detection │──▶│ Alert Manager│ │ Event Store │ │ │ │ Engine │ └──────┬───────┘ └──────────────┘ │ │ └─────────────┘ │ │ │ ┌──────▼───────┐ │ │ │ Channels │ │ │ │ Telegram/Log │ │ │ └──────────────┘ │ └──────────────────────────────────────────────────────────┘ ``` 有关每个组件和数据流的详细分解,请参阅 [docs/architecture.md](docs/architecture.md)。 ## ⚙️ 安装说明 ### 快速生产环境安装 在 Linux 上安装 Aegis Sentinel 的推荐方式是使用自动安装程序: ``` git clone https://github.com/scorpiocodex/Aegis-Sentinel cd Aegis-Sentinel sudo bash scripts/install.sh ``` 有关详细的设置说明,包括 Windows 和开发安装,请参阅 [docs/installation.md](docs/installation.md)。 ## ▶️ 快速开始 使用内置 CLI 管理 Aegis Sentinel 服务: - `aegis start`:启动 Aegis Sentinel 监控服务。 - `aegis status`:显示当前引擎状态和活动模块。 - `aegis scan`:运行一次性检测扫描并退出。 - `aegis alerts`:显示事件存储中的近期警报。 - `aegis doctor`:验证配置和系统依赖项。 - `aegis verify-logs`:验证事件日志链的 HMAC 完整性。 ## ⚙️ 配置 Aegis Sentinel 使用 YAML 配置文件。 - **生产环境**:`/etc/aegis-sentinel/config.yaml` - **开发环境**:`config/config.yaml` `config/config.example.yaml` 提供了详尽注释的示例。 ### Telegram 警报 要启用实时 Telegram 警报,请配置 `alerting.telegram` 部分: ``` alerting: telegram: enabled: true token: "YOUR_BOT_TOKEN" chat_id: "YOUR_CHAT_ID" ``` ## 📁 项目结构 - `aegis_sentinel/core/`:核心引擎、事件总线和调度器。 - `aegis_sentinel/detection/`:检测引擎和内置模块。 - `aegis_sentinel/intelligence/`:威胁情报引擎和源。 - `aegis_sentinel/alerting/`:警报管理器和输出通道。 - `aegis_sentinel/response/`:自动响应引擎(可选)。 - `aegis_sentinel/utils/`:安全工具和事件存储。 - `aegis_sentinel/cli/`:命令行界面。 - `docs/`:深度文档。 - `scripts/`:安装和服务脚本。 - `tests/`:全面的测试套件。 ## 🛠 开发 有关详细的开发者入门指南,包括如何编写自己的检测模块,请参阅 [docs/development.md](docs/development.md)。 ## 🤝 贡献 欢迎贡献!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解我们的贡献指南。 ## 🔒 安全 有关安全策略和漏洞报告,请参阅 [SECURITY.md](SECURITY.md)。 ## 📄 许可证 本项目基于 [MIT License](LICENSE) 授权。 ## 👨‍💻 作者 **ScorpioCodeX** - GitHub: [https://github.com/scorpiocodex](https://github.com/scorpiocodex) - Email: [scorpiocodex0@gmail.com](mailto:scorpiocodex0@gmail.com)
标签:C2信标, Conpot, DNS隧道, FTP漏洞扫描, HIDS, HTTP/HTTPS抓包, IP 地址批量处理, NIDS, PE 加载器, Python, Windows安全, x64dbg, 事件驱动, 入侵检测系统, 协议分析, 反向Shell, 威胁情报, 安全数据湖, 安全编排, 容器化, 开发者工具, 异常检测, 态势感知, 无后门, 权限提升, 端点防护, 网络安全, 网络流量分析, 自动化告警, 计算机取证, 隐私保护