keyorixhq/keyorix

GitHub: keyorixhq/keyorix

Keyorix 是一款专为无法使用 SaaS 的团队设计的轻量级本地密钥管理工具,支持 Air-gapped 隔离部署,具备低运维开销与欧盟合规特性。

Stars: 0 | Forks: 0

# Keyorix **专为无法使用 SaaS 的团队打造的轻量级密钥管理工具。** 支持本地部署。支持 Air-gapped 隔离。单一二进制文件。无需专门的 Vault 管理员。 ## 为什么选择 Keyorix? | | Vault | Doppler | Keyorix | |---|---|---|---| | 本地部署 | 是 | 否 | **是** | | Air-gapped 支持 | 是 | 否 | **是** | | 运维简单 | 否 | 是 | **是** | | 欧盟企业 | 否 | 否 | **是** | | 开源 | BSL | 否 | **AGPL** | | 单一二进制文件 | 是 | N/A | **是** | Vault 功能强大,但需要专门的管理员。Doppler 简单易用,但仅支持 SaaS。Keyorix 既简单易用,又能完全运行在你自己的基础设施中。 ## 安装 ``` curl -L https://raw.githubusercontent.com/keyorixhq/keyorix/main/install.sh | sh ``` 或者从源码构建: ``` git clone https://github.com/keyorixhq/keyorix cd keyorix && make install ``` ## 快速开始 **使用 Docker Compose 自托管全栈(Web UI + API + PostgreSQL):** ``` cp .env.example .env # set KEYORIX_DB_PASSWORD, KEYORIX_MASTER_PASSWORD, admin creds docker compose up -d # open http://localhost:8088 ``` 有关生产环境配置(TLS、备份、升级以及至关重要的加密密钥处理),请参阅 [docs/SELF_HOSTING.md](docs/SELF_HOSTING.md);有关完整的 `keyorix.yaml` 参考(加密/KEK 提供商、MFA、WebAuthn、动态密钥、OIDC 等),请参阅 [docs/CONFIGURATION.md](docs/CONFIGURATION.md)。 **或者仅启动 server 二进制文件:** ``` KEYORIX_MASTER_PASSWORD=yourpassword keyorix-server ``` **连接 CLI:** ``` keyorix connect http://localhost:8080 --username admin --password yourpassword ``` **创建和使用密钥:** ``` keyorix secret create --name db-password --value supersecret keyorix run --env production -- node app.js keyorix run --env production -- flask run keyorix run --env production -- ./myapp ``` 密钥将作为环境变量注入。`db-password` 会变成 `DB_PASSWORD`。 ## 从 Vault 迁移 ``` # 从 Vault (Medusa YAML export) keyorix secret import --file vault-export.yaml --format vault --env 1 # 从 .env 文件 keyorix secret import --file .env --format dotenv --env 1 # 导入前预览 keyorix secret import --file vault-export.yaml --format vault --env 1 --dry-run ``` ## SDK 在启动时直接从应用程序获取密钥。实现零硬编码凭证。 **Go** ``` go get github.com/keyorixhq/keyorix-go ``` ``` token, _ := keyorix.Login(ctx, "http://your-server:8080", "admin", "password") client := keyorix.New("http://your-server:8080", token) dbPassword, _ := client.GetSecret(ctx, "db-password", "production") ``` **Python** ``` pip install keyorix ``` ``` token = keyorix.login("http://your-server:8080", "admin", "password") client = keyorix.Client("http://your-server:8080", token) db_password = client.get_secret("db-password", "production") ``` **Node.js** ``` npm install keyorix ``` ``` const token = await keyorix.login("http://your-server:8080", "admin", "password"); const client = new keyorix.Client("http://your-server:8080", token); const dbPassword = await client.getSecret("db-password", "production"); ``` 有关使用 Docker Compose 的完整演示,请参阅[示例应用](https://github.com/keyorixhq/keyorix-go/tree/main/examples/petstore)。 ## 核心功能 **密钥管理** - 创建、读取、更新、删除密钥,并支持完整的版本控制 - 环境隔离:开发、预发布、生产环境 - 在用户和组之间共享密钥 **访问控制** - 基于角色的访问控制 (RBAC) - 基于组的权限管理 - 用于 CI/CD 和自动化的服务 token **审计与合规** - 记录每一次访问:谁、做了什么、何时、从哪里 - 双层审计:`audit_events` 和 `secret_access_logs` - 符合 NIS2 / DORA 标准,满足欧洲合规要求 - 面临轮换期限的密钥的仪表板过期警报 **开发者体验** - `keyorix run` — 将密钥注入到任何进程中 - `keyorix secret import` — 从 Vault、.env 文件、JSON 迁移 - `keyorix connect` — 单条命令完成服务器身份验证 - 为偏好 UI 界面的团队提供 Web 仪表板 ## 架构 单一二进制文件。HTTP REST API 运行在端口 8080。Web UI 运行在端口 3000。 在开发环境和小型团队中使用 SQLite。在生产环境中使用 PostgreSQL。 Air-gapped 部署:只需拷贝二进制文件并运行。无需互联网连接。 ## 安全性 - 对所有密钥值使用 AES-256-GCM 加密 - 信封加密:passphrase → PBKDF2 → KEK(仅存于内存)→ 封装的 DEK - 常数时间 token 比较(防止时序攻击) - 密钥永远不会被记录到日志或在错误信息中暴露 安全问题反馈:security@keyorix.com ## 路线图 - Kubernetes service account 身份验证 - 动态密钥 — 按需生成带有 TTL 的凭证 - MCP server — AI 助手集成 - Java SDK - 访问异常检测(NIS2 事件检测) ## 许可证 AGPL-3.0。为企业部署提供商业授权。 联系方式:hello@keyorix.com ## 关于 由 Andrei Beshkov(前 Microsoft 安全 PM)在西班牙瓦伦西亚开发。 Keyorix SL —— 你的数据始终保留在你的基础设施中。
标签:Docker, EVTX分析, MITM代理, StruQ, 大语言模型安全, 安全防御评估, 密码学, 手动系统调用, 日志审计, 本地部署, 机密管理, 测试用例, 请求拦截, 逆向工具