Ambit Cli

🔒 零信任私有网络一键部署

基于 Tailscale 和 Fly.io 的零信任私有网络部署工具,让应用完全隐匿于公网之外,仅受信任设备可访问,省去防火墙与认证页开发

收藏
4.6k
安装
1.2k
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Ambit CLI 是一套围绕 Tailscale + Fly.io 构建的私有网络部署工具。用户通过 ambit create <network> 创建隔离的私有网络(ambit),再通过 ambit deploy <app> --network <name> 将应用部署到该网络。部署的应用仅获得私有 Flycast IPv6 地址,不暴露任何公网 IP,天然免疫端口扫描和未授权访问。

关键工作流:
1. 初始化网络:ambit create lab 在 Fly.io 上部署 Tailscale 路由器,配置 split DNS 使 *.<network> 域名自动解析

2. 安全部署:ambit deploy my-app --network lab 强制 --no-public-ips,预检 fly.toml 危险配置,审计确保无公网暴露

3. 多模式支持:本地配置(fly.toml)、纯镜像部署、GitHub 模板一键部署三种互斥模式

4. 运维诊断:ambit doctor 检查本地 Tailscale 状态、路由广播、DNS 配置等常见故障点

显著优点

  • 网络级零信任:访问控制下沉到 Tailscale 网络层,应用本身无需认证页面、防火墙规则或 TLS 加固,攻击面无公网入口
  • 地址即权限:http://my-app.lab 这类人类可读地址自动生效,仅对加入 tailnet 的设备可见,权限管理天然同步 Tailscale ACL
  • 部署安全加固:强制私有 IP、预飞检查危险配置、部署后审计,阻断常见误配(如意外开放公网端口)
  • 模板生态:内置 Chromatic(无头浏览器)、Wetty(Web Terminal)、OpenCode(私有 IDE)等即开即用模板
  • 多租户友好:支持 Fly.io org/region 隔离,Tailscale ACL tag 自定义,适合团队分级管理

潜在缺点与局限性

  • 供应商锁定:深度绑定 Fly.io(计算)和 Tailscale(网络),迁移成本较高;若 Fly.io 或 Tailscale 服务受限,整体方案失效
  • 网络依赖:所有访问需经过 Tailscale 隧道,延迟和稳定性受 Tailscale 中继网络影响,高敏感场景需评估 SLA
  • 学习门槛:需同时理解 Fly.io 应用模型、Tailscale ACL 策略、IPv6 子网广播等概念,首次配置涉及多平台令牌管理
  • ACL 同步滞后:ambit destroy 不会自动清理 Tailscale ACL 中的 tag 和 autoApprovers,需手动维护,存在残留配置风险
  • 调试间接性:应用无公网 IP,排障必须依赖 Tailscale 连接,若本地 Tailscale 异常则完全失联

适合人群

  • 需要快速搭建内部工具、数据库管理面板、CI 仪表盘等场景,但不愿投入安全加固成本的中小团队
  • 已使用 Fly.io 和 Tailscale 的现有用户,希望获得更安全的默认部署模式
  • 追求"默认安全"的 DevOps/平台工程师,希望将零信任网络策略下沉到基础设施层
  • AI Agent 或自动化脚本需要安全访问浏览器、终端等敏感资源的开发者

常规风险

  • 令牌泄露风险:Tailscale API key (tskey-api-*) 和 Fly.io token 是核心凭据,泄露可导致网络被恶意接管;建议配合密钥管理工具(如 1Password、Doppler)使用
  • 路由劫持:若 Tailscale ACL 配置不当,恶意设备加入 tailnet 后可访问所有 ambit 内应用;需严格限制 tagOwners 和 autoApprovers
  • 模板供应链:--template 从 GitHub 实时拉取代码,存在模板仓库被篡改风险;生产环境建议锁定 commit hash 或自建模板仓库
  • 依赖服务可用性:Fly.io 平台故障或 Tailscale 控制平面中断将导致部署失败或已有服务不可达,需评估业务连续性要求

Ambit Cli 内容

手动下载zip · 5.5 kB
skill-card.mdtext/markdown
请选择文件