docs: 研究整理——同步认证迁至 ca 后的过时描述、补 liblogc 与测试清单
- ARCHITECTURE/MODULES:ca 版本 v1.1.0、共享基础库补 liblogc、tests 描述与实际 9 个文件对齐、docs 篇数 57 - core README/报告/HttpTask 注释:管理员鉴权由"gateway 唯一权威"更正为 ca(v0.9.0 认证迁址后描述滞后) - ca/gateway README 架构图 static:9200 → fsys:9200、db:8005 → db2:8005 - 主 README 与 blackbox README 补 test_core_confs.py,test_gateway 文档更新为 ca:8443 契约
This commit is contained in:
1 parent
7467e7bd42
commit
da8ebbf9e6
10 files changed
+27
-23
No files matched your search
@@ -133,7 +133,7 @@ Blackbird 是一套 **进程托管式轻量微服务** 系统(自研 UniServe
|
||||
| **core** | C++20 | 5200 / 8010 | 5200 管理 / 8010 loopback | 进程托管(PMC) + 内嵌 confs 配置服务 | 生产 |
|
||||
| **redirect80** | Python | 80 | 0.0.0.0 | HTTP→HTTPS 重定向 | 生产 |
|
||||
| **waf** | Go | 443 | 0.0.0.0 | 边缘网关:TLS 终止 + coraza WAF | 生产 |
|
||||
| **ca** | C++20 | 8443 | 127.0.0.1 | 中央认证 + 身份头注入 + 前置转发 | 生产 (v1.0.0) |
|
||||
| **ca** | C++20 | 8443 | 127.0.0.1 | 中央认证 + 身份头注入 + 前置转发 | 生产 (v1.1.0) |
|
||||
| **gateway** | C++20 | 8445 | 127.0.0.1 | 纯转发反向代理(loopback 强制自检) | 生产 (v0.9.0) |
|
||||
| **fsys** | C++20 | 9200 | 127.0.0.1 | 前端托管 + dnfs 代理(static 的 C++ 重写) | 生产 |
|
||||
| **dnfs2** | C++20 | 8006 | 127.0.0.1 | 树状笔记 CRUD | 生产(dnfs 的 C++ 重写) |
|
||||
@@ -170,6 +170,7 @@ Blackbird 是一套 **进程托管式轻量微服务** 系统(自研 UniServe
|
||||
| libcrypt | C++20 | AES_CBC / RSA / SHA256 / Base64 |
|
||||
| libsqlite3 | C++20 | SQLite3 header-only 封装 |
|
||||
| libmsg | C++20 | pymsg 协议 C++ 实现(4B 大端长度前缀 + UTF-8 JSON),与 Python pymsg 字节级兼容,提供 RpcClient/RpcServer/AsyncQueue |
|
||||
| liblogc | C++20 | 统一集中式日志客户端(`us/LogC.hpp`,对应 Python `log_client.py`):pymsg/TCP 异步批量写 db2 Logs 表,队列上限 1 万条 + 级别过滤 + fail-safe,C++ 服务共用 |
|
||||
| libtry | C | 嵌入式脚本解释器(递归下降,中文标识符) |
|
||||
| pymsg | Python | 自研 RPC 基础库(`[4B 大端长度][UTF-8 JSON]`),Python 侧 db/log_client 依赖 |
|
||||
|
||||
|
||||
+3
-2
@@ -64,6 +64,7 @@
|
||||
| libcrypt | C++ | 加密库:`AES_CBC`、`MyRSA`、`SHA256`、`Base64`、`Crypto_Basic` |
|
||||
| libsqlite3 | C++ | SQLite3 header-only 封装 |
|
||||
| libmsg | C++ | pymsg 协议 C++ 实现(4B 大端长度前缀 + UTF-8 载荷),`MsgClient/Server`、`RpcClient/Server`、`AsyncQueue`,与 Python pymsg 字节级兼容 |
|
||||
| liblogc | C++ | 统一集中式日志客户端(`us/LogC.hpp`,对应 Python `log_client.py`):pymsg/TCP 异步批量写 db2 Logs 表,队列上限 1 万条 + 级别过滤 + fail-safe,ca/core/gateway/captcha2/smtp3 等 C++ 服务共用 |
|
||||
| libtry | C | 嵌入式脚本解释器(~741 行),手写递归下降,支持中文标识符,用于嵌入式操作界面 shell |
|
||||
| pymsg | Python | 自研 RPC 基础库(`[4B 长度][UTF-8 JSON]`),db 服务端与各 `log_client.py` 的基础依赖(setuptools 包) |
|
||||
| memdb | C++ | 内存数据库(include/src),内部组件,未在主 README 模块表列出 |
|
||||
@@ -72,8 +73,8 @@
|
||||
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| tests | 黑盒测试套件(`test_db_*`/`test_gateway_*`/`test_waf_*`/`test_dnfs_*`),子进程 + HTTP 验证,前后自动备份恢复 db |
|
||||
| docs | 文档聚合(security/ 审计、reviews/ 审查、reports/ 分析),41+ 篇 md |
|
||||
| tests | 黑盒测试套件(`test_db.py`/`test_gateway.py`/`test_waf.py`/`test_dnfs.py`/`test_captcha.py`/`test_smtp.py`/`test_ai_review.py`/`test_static.py`/`test_core_confs.py`),纯标准库 HTTP/TCP 用户旅程模拟,经 `test_runner.py` 统一调度(详见 [tests/blackbox/README.md](../tests/blackbox/README.md)) |
|
||||
| docs | 文档聚合(security/ 审计、reviews/ 审查、reports/ 分析),57 篇 md |
|
||||
|
||||
## 九、根级构建与部署脚本
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ core 把所有常驻能力抽象为 `ITask`,用 `libth` 的 `Thread`(带 `st
|
||||
|
||||
- 仅监听 `127.0.0.1:5200`,纯 HTTP(WAF 已终止 TLS,无证书)。
|
||||
- 三个 POST 路由:`/list` `/exec` `/kill`,返回 `{"success", "message", "data"}`。
|
||||
- **管理员鉴权**(`verify_admin_token`):每个操作都先调 `gateway /admin/verify`(gateway 是 Token 签发/验签唯一权威,RSA 验签 + is_admin + 过期检查),Authorization 头优先、回退 `q4_token` Cookie;gateway 地址由 `GATEWAY_HOST`/`GATEWAY_PORT` 配置(默认 `127.0.0.1:8443`)。gateway 不可用或异常一律 `fail-closed` 返回 401。
|
||||
- **管理员鉴权**(`verify_admin_token`):每个操作都先调 `ca /admin/verify`(认证 v0.9.0 起由 gateway 迁至 ca,RSA 验签 + is_admin + 过期检查),Authorization 头优先、回退 `q4_token` Cookie;ca 地址由 `GATEWAY_HOST`/`GATEWAY_PORT` 环境变量配置(沿用旧名,默认 `127.0.0.1:8443`)。ca 不可用或异常一律 `fail-closed` 返回 401。
|
||||
- 命令执行(`exec`)与 pid 解析同时支持 query 参数与 JSON body。
|
||||
|
||||
## 7. 内嵌配置服务(`ConfsTask` + `ConfigStore`)
|
||||
@@ -98,7 +98,7 @@ core 把所有常驻能力抽象为 `ITask`,用 `libth` 的 `Thread`(带 `st
|
||||
2. **`PPool` 用下标而非 pid 索引**:`kill(idx)` 语义不自然,FIXME 仍在。
|
||||
3. **内存泄漏 TODO**:`HttpTask`/`ConfsTask` 的 `start()` 获取资源后未确认释放(代码注释标注)。
|
||||
4. **`/tmp/pst-*` FIFO 残留**:`subsys_call` 异常路径可能留下管道文件。
|
||||
5. **管理接口强依赖 gateway**:`/admin/verify` 不可用时所有管理操作 fail-closed 拒绝(安全优先,但运维注意 gateway 必须在线)。
|
||||
5. **管理接口强依赖 ca**:`/admin/verify` 不可用时所有管理操作 fail-closed 拒绝(安全优先,但运维注意 ca 必须在线)。
|
||||
6. **`exec` 命令注入面**:`pmc_mtd::exec` 直接 `boost::process::child(cmd)` 以 shell 执行,仅在已通过管理员鉴权后可用——务必保证鉴权不被绕过。
|
||||
|
||||
## 10. 上手要点
|
||||
|
||||
Reference in new issue
Block a user