TSLinkTSLink 文档

标准对齐

TSLink 与 NIST SP 800-207 零信任概念的教育性映射。TSLink 未经任何认证,本页不构成合规判定。

查看 Markdown

范围与免责声明

本页是 TSLink 已交付行为与 NIST SP 800-207 概念之间的教育性映射。TSLink 未通过 NIST SP 800-207 或任何其他标准的认证,本页任何内容都不构成合规判定。请将其理解为"TSLink 借鉴了哪些零信任理念,以及它的边界在哪里",而不是符合性声明。对 TSLink 实际行为的权威描述是 CLI 的 README 和导出的能力清单(capability manifest)。

TSLink 将若干零信任理念应用于本地服务:服务默认仅对你的 tailnet 私有,tailnet 传输由 WireGuard 加密,HTTP 代理/文件服务可以执行按服务的允许列表。它以单个开源二进制文件把这些理念带给个人和小型团队。它是单操作者网关,不是策略决策点(PDP),也不实现设备态势、风险评分、行为分析或合规性认证类控制。

NIST SP 800-207:七项原则映射

下表将 NIST SP 800-207 第 2 节的七项原则映射到 TSLink 的实际行为。"覆盖"描述 TSLink 触及该原则的程度,绝不是认证。

#NIST SP 800-207 原则TSLink 行为(有边界)覆盖
1所有数据源和计算服务都被视为资源。用 tslink add 注册的每个服务都获得自己的嵌入式 tsnet 节点,拥有自己的 tailnet 身份;HTTP 服务有 tailnet TLS 监听器,原始 TCP 不终止 TLS。这是按服务的网络身份/微分段,并非进程或主机隔离:TSLink 不会沙箱化本地进程,也不会阻止被攻破的本地服务通过其他方式访问主机或对端资源。host_isolation 为 not_provided。部分(仅网络身份)
2无论网络位置如何,所有通信都受到保护。访问 tailnet 设备到 TSLink 节点之间的这一段由 WireGuard 加密(包括经 Tailscale DERP 中继时)。从 TSLink 节点到本地服务的后端跳转是你所配置的明文 HTTP/HTTPS 或明文 TCP,可能是明文。原始 TCP 服务没有 TSLink TLS 终止。整条路径并非全程加密。部分(仅 tailnet 段)
3对单个企业资源的访问基于每次会话授予。私有 HTTP/文件人员策略逐请求读取授权、检查 WhoIs 和期限。仅旧 --allow 授权及 best-effort 代理身份头保留 60 秒源 IP 缓存。已配置身份检查 fail closed;两种策略都没有时可放行获 tailnet 允许的调用者。撤销后已接受的流可能继续。部分(HTTP 请求检查,不提供通用会话撤销)
4资源访问由动态策略决定。TSLink 执行私有 HTTP/文件的人员授权、绝对期限、拒绝记录及旧 allow 规则,支持 registry 更新。不实现设备姿态、行为分析或风险评分。部分
5企业监控并度量所有自有及关联资产的完整性与安全态势。有界本地历史包含类型化 HTTP/TCP/guest 事件与可用的 WhoIs 身份;变更 intent/completion 和生命周期 receipt 独立有界。身份可缺失,可能丢失或有崩溃缺口;没有 Prometheus endpoint、flow analysis 或全主机态势清单。见访问历史。部分
6所有资源认证与授权在允许访问前动态、严格执行。代理请求移除传入的 Tailscale 身份头。适用人员策略或已配置 --allow 可在后端/文件内容前拒绝访问。原始 TCP 和公共 Funnel 不使用这些 HTTP 调用者身份检查;应用需要的后端认证仍应保留。部分(有范围的 HTTP 执行)
7企业尽可能多地收集资产、网络基础设施和通信的当前状态信息……有界本地历史包含类型化 HTTP/TCP/guest 事件与可用的 WhoIs 身份;变更 intent/completion 和生命周期 receipt 独立有界。身份可缺失,可能丢失或有崩溃缺口;没有 Prometheus endpoint、flow analysis 或全主机态势清单。见访问历史。部分

TCP 服务:范围说明

TSLink 支持 HTTP 反向代理、文件服务器和 TCP 转发器。原则映射中的应用层部分仅适用于 HTTP 代理和文件服务。

TCP 转发工作在传输层。 TCP 流量按字节转发,不做 HTTP 处理:TSLink 不注入身份头,不做应用层访问控制,也不对原始 TCP 做 TLS 终止。到你 TCP 目标的后端跳转是明文 TCP。

TCP 服务仍然继承网络层属性:

  • WireGuard 加密的 tailnet 传输,仅覆盖到 TSLink 节点的 tailnet 段(到目标的后端跳转是明文 TCP)
  • Tailscale ACL 策略控制哪些 tailnet 成员能访问该服务(在 Tailscale 中配置的网络层访问控制,而非 TSLink 的 --allow)
  • 按服务的 tailnet 身份(一种网络身份,并非进程/主机隔离)
  • 默认不暴露到公共互联网

HTTP 服务可以获得网络层传输,再加上可选的 TSLink --allow 应用层检查。TCP 服务仅获得网络层传输。

面向非技术读者

零信任网络基于一个理念:不要仅因为连接来自你的网络内部就假设它是安全的。TSLink 将其中一部分应用于你的本地服务。

两点诚实的提醒。第一,这里的"加密"指的是从 tailnet 设备到 TSLink 节点的连接由 WireGuard 加密;从 TSLink 节点到你实际本地服务的那一小段跳转是你所配置的(通常是明文 HTTP 或明文 TCP)。第二,给每个服务一个自己的 tailnet 身份是网络边界,不是沙箱:如果一个本地服务被攻破,TSLink 本身不会阻止它访问同一台机器上的其他东西。

本映射用于理解已交付控制及其限制。TSLink 未经认证,本页不构成合规判定。部署安全还取决于 tailnet 策略、主机隔离和后端授权。

目录