almeidx/cerebro
GitHub: almeidx/cerebro
一个通过 Tailscale SSH 管理 Linux 服务器机群的无 agent 本地控制台,提供检查、审计和安全变更能力。
Stars: 0 | Forks: 0
# cerebro
一个用于查看和保护您整个机群的控制台。
Cerebro 是一个单二进制 CLI 和本地 Web dashboard,用于通过 Tailscale SSH 管理 Linux 服务器。它是无 agent 的、检查优先的,并且默认是生产安全的:每一个写入路径都旨在底层系统允许的情况下进行 diff、确认、审计和撤销。
```
cerebro serve
cerebro audit
cerebro fw status
cerebro updates --security-only
```
首要目标是 CentOS Stream 10 和 Rocky Linux 10,包含 firewalld、dnf、Docker/Coolify 工作负载、经典 cron 以及 Tailscale SSH。
## 安装
首选方式:
```
brew install almeidx/tap/cerebro
```
这会为 Apple Silicon macOS 或 Linux (`x86_64` / `aarch64`) 安装预构建的 GitHub Release 制品。
通过 crates.io 安装:
```
cargo install cerebro
```
或者直接从 [GitHub Releases](https://github.com/almeidx/cerebro/releases) 下载发布归档。请使用发布的 SHA-256 校验和进行验证。
## 快速开始
创建一个 `cerebro.toml` 清单,然后启动本地 dashboard:
```
cerebro serve
```
dashboard 会绑定到 `127.0.0.1` 并打开一个浏览器标签页。它是一个本地 control-plane UI;请使用 SSH 或 Tailscale 转发,而不是直接将其暴露出来。
Headless 命令保持可脚本化:
```
cerebro audit --json
cerebro fw status
cerebro updates --security-only
```
## 检查内容
- 跨公共、私有和 tailnet 接口的防火墙状态。
- 来自监听套接字、Docker 发布端口和区域分配的外部暴露。
- SSH 加固、SELinux、fail2ban/CrowdSec 信号、Tailscale 状态以及主机可达性。
- dnf 安全勘误、重启状态、陈旧的容器镜像、cron 作业以及配置漂移快照。
## 安全模型
Cerebro 通过 shell 调用系统 `ssh`,因此您的 OpenSSH config、known hosts、ssh-agent 和 Tailscale SSH 身份会被复用。被管理的主机不需要 daemon。
变更路径是显式的。防火墙编辑使用服务预设、原始端口和源限制的 rich rules,然后显示 diff 并使用自动回滚计时器,以确保错误的规则不会将您锁定在外。默认情况下,批量操作是串行/canary 的,并带有逐主机结果和一个全局只读开关。
## 状态
早期开发中;接口和工作流程可能仍会更改。
## 开发
需要稳定的 Rust 工具链(Rust 1.96 或更新版本)。SQLite 是编译内置的,因此不需要系统 SQLite 依赖。
```
cargo test
cargo clippy --all-targets -- -D warnings
cargo fmt --check
```
CI 会运行测试套件并构建发布目标。合并一个发布 PR 会发布带有 SHA-256 校验和的 `x86_64-unknown-linux-musl`、`aarch64-unknown-linux-musl` 和 `aarch64-apple-darwin` 二进制文件。
许可证:Apache-2.0。
标签:Tailscale, 可视化界面, 安全基线检查, 服务器管理, 请求拦截, 运维管理, 通知系统