aicers/fountel
GitHub: aicers/fountel
基于上游 MISP 构建的以供应商为中心的威胁情报枢纽,负责部署运维 MISP 并向 aimer-web 发布经过筛选的附加情报 feed。
Stars: 0 | Forks: 0
# fountel
fountel 部署并运维一个**以供应商为中心的 MISP 服务器**,作为
aimer-web 的**附加**威胁情报源。
## 使命
fountel 建立并运行一个单一的、以供应商为中心的
[MISP](https://www.misp-project.org/) 枢纽(即 CIRCL 开源威胁
情报平台),并将其情报中**经过筛选的附加**子集
发布到 aimer-web。“附加”意味着 fountel 只*增加*上下文:它
绝不承载 aimer-web 已经直接摄取的 feed(abuse.ch、
Spamhaus),并且客户观察到的指标绝不会流入 MISP —— 只有
*feed 数据*会向外输出。
fountel **基于 MISP**:它原样部署上游 MISP,绝不对其进行 fork 或
重新构建。“MISP”是上游项目的专有名称;fountel 不会
以此为自己冠名。
## 仓库边界
本仓库负责**运维 MISP** —— 包括服务器技术栈及其配置和
加固、secrets、筛选分类法,以及(后续阶段的)mTLS gateway 和 feed
发布。
**aimer-web 拉取适配器** —— 即拉取 fountel 已发布的
feed 并将其导入 aimer-web 的代码 —— 是一项**独立的跨仓库工作**,并且
位于 `aimer-web` 仓库中,**不在此处**。fountel 定义并
发布 feed 契约;aimer-web 负责消费它。
这种拆分是刻意为之的:fountel 绝不会介入 aimer-web,它们之间唯一的
耦合就是发布的 feed 格式和 mTLS 传输。
## 定位(v1,开发环境)
- **以供应商为中心的单枢纽**,采用 **dev/prod 分离**模式;首先建立
dev 环境。本仓库目前包含 **dev** 技术栈。
- **使用上游 MISP,无 fork/构建** —— 镜像被直接拉取、锁定版本,并
按原样使用。
- **连接采用周期性拉取/同步,而非查询时同步。** aimer-web 会将
已发布的 feed 拉取到其自身的存储中并在本地进行匹配;观察到的
指标绝不会流出到 MISP。
- **Secrets** 在 dev 环境中是随机且一次性的:它们在
启动时于本地生成,并存放在一个被 git 忽略的 `secrets/` 目录中。任何密钥材料都不会被
提交。(prod 环境将从 secret manager 注入 secrets —— Phase 2。)
- **操作员认证**使用 MISP 内置的本地认证(角色 / ACL / API keys)。
v1 版本中没有外部 SSO。
- **筛选默认为软性(soft-by-default)**:所有发布的内容都会被视为软性
(LLM-enrichment)情报,除非其来源已通过明确审查并被标记为
`fountel:floor-eligible`。
## 哪些不属于此 dev-MISP 技术栈
- aimer-web 拉取适配器 —— 位于**独立仓库**中
(如上所述),不在此处。
- **mTLS gateway** 和 **feed 发布** —— 目前不在本仓库中;已单独
追踪,并推迟至附加同步(additive-sync)暴露相关的任务中。
- prod 环境部署、备份、HA 以及专用的 secret/SSO 基础设施
(Phase 2 / prod 加固,已推迟)。
**SAN-allowlist 授权服务**作为其自身组件位于本仓库的
[`gateway/san-auth/`](gateway/san-auth/) 下,但它**不属于
此 dev-MISP 技术栈**,且该技术栈不依赖于它 —— 两者
是独立开发的。
## 快速开始
dev 技术栈位于 [`deploy/dev/`](deploy/dev/) 下。dev 环境会在启动时于本地
生成自己的 secrets —— 不会提交任何机密,也不需要获取
sops/age key。你只需要 Docker、`openssl` 和 `python3`(参见
[操作手册](docs/runbook.md))。
```
cd deploy/dev
# 生成本地 dev secrets(或者让 up.sh 在首次运行时自动完成)。
./bin/secrets-init.sh
# 每次启动:启动 stack。
./bin/up.sh
# 应用 fountel 专属 config(taxonomy、baseline settings)。幂等。
./bin/bootstrap.sh
```
有关完整的、可直接复制粘贴的
操作流程和验证命令,请参阅 **[启动操作手册](docs/runbook.md)**;有关 secret
引导、筛选策略和环境布局,请参阅 **[docs/](docs/)**。
## 文档
| 文档 | 涵盖内容 |
| --- | --- |
| [docs/runbook.md](docs/runbook.md) | 从零开始启动 dev 技术栈,包含验证命令。 |
| [docs/secrets.md](docs/secrets.md) | 本地 dev secret 生成(不提交任何内容)及引导程序。 |
| [docs/curation.md](docs/curation.md) | `fountel:floor-eligible` 分类法和默认软性筛选策略。 |
| [docs/environments.md](docs/environments.md) | dev/prod 环境布局以及推迟至 prod 环境的内容。 |
## 许可证
MISP 本身基于 AGPL 许可证,且在未经修改的情况下使用。本仓库自有的
配置和工具均采用 [Apache-2.0](LICENSE) 许可证。
标签:Cutter, 威胁情报, 开发者工具, 服务器配置, 系统架构, 自动化攻击, 请求拦截, 运维部署, 逆向工具