scorpiocodex/Aegis-Sentinel
GitHub: scorpiocodex/Aegis-Sentinel
一个轻量级的跨平台主机与网络入侵检测框架,通过实时行为监控和威胁情报关联来识别反向 Shell、C2 通信、权限提升等高级威胁。
Stars: 0 | Forks: 0
# 🔐 Aegis Sentinel
[](https://github.com/scorpiocodex/Aegis-Sentinel/releases)
[](https://www.python.org/downloads/)
[](LICENSE)
[](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, 威胁情报, 安全数据湖, 安全编排, 容器化, 开发者工具, 异常检测, 态势感知, 无后门, 权限提升, 端点防护, 网络安全, 网络流量分析, 自动化告警, 计算机取证, 隐私保护