Chatop · Network Isolation Architecture

全封闭内网的安全上网架构
容器化远程工作区隔离说明

先讲清问题:全封闭单位既要绝对的数据安全,又离不开云端大模型与开源生态。再给方案定名:物理隔离 + DMZ 隔离上网区 + 远程工作区隔离(协议中断 · 像素流摆渡),并给出基于 察元AI工舱 的完整落地配置。本文是《24×7 开发白皮书》的网络安全配套文档。

版本 v1.0 日期 2026-07-06 性质 问题分析 · 方案定名 · 安全论证 · 落地配置
01

当前存在的问题

1.1 现状

本单位为全封闭式内网:办公终端、代码库、业务数据全部运行在与互联网物理断开的网络中(即 Air Gap,物理隔离)。这保证了最高等级的数据保密性,但也带来了直接冲突——现代 AI 驱动的开发模式所依赖的一切都在外网:

1.2 为什么不能直接给内网开外网口

矛盾的本质是连通性需求与保密性要求的对撞。任何"让内网终端直接连外网"的做法(哪怕加防火墙、上网行为管理)都存在无法根除的风险:

1.3 采取的措施

因此采取的措施是:全单位只有一台服务器可以联网,其余一律不联网。这台联网服务器上部署多套容器(察元AI工舱),上网、访问大模型、使用开源生态的工作全部发生在容器里;内网员工通过浏览器打开容器的云桌面进行操作。人和数据都留在内网,"出去干活"的只是容器。

这个做法不是权宜之计,而是有明确名称、被业界成熟验证的隔离模型——第 02 节给出正式定名。

02

这叫什么隔离:方案定名

这套"仅一台服务器联网 + 容器内上网工作 + 人不出内网"的模式,是多层隔离技术的组合。逐层的标准名称如下:

层次标准术语含义
网络总体 物理隔离(Air Gap)+ 网络分区(Network Segmentation) 内网核心区与互联网物理断开;联网服务器被划入独立的隔离区(DMZ,非军事区),也称"互联网接入区 / 非涉密外网区",与内网核心区之间只开放受控通道
上网模式 隔离上网(Remote Isolation / Isolated Browsing) 用户不在本机上网,而是远程操纵一台隔离环境里的机器替自己上网。国内安全行业通称"隔离上网 / 安全上网区"
会话技术 远程浏览器隔离 RBI(Remote Browser Isolation)→ 远程工作区隔离(Remote Workspace Isolation) RBI 只隔离浏览器;本方案用容器化云桌面把隔离范围扩大到整个桌面工作区(浏览器 + 终端 + IDE + AI 智能体)。察元AI工舱 正是这一产品形态的代表
边界机制 协议中断(Protocol Break)+ 像素流传输(Pixel Streaming) 安全性的核心:内网终端与互联网之间不存在任何直接的 TCP / 应用层连接。穿越边界的只有云桌面会话——出去的只有键盘鼠标事件,回来的只有画面像素。网页、脚本、文件永远不以原始形态进入内网
数据交换 受控数据摆渡(安全隔离与信息交换,俗称"网闸"/ GAP 技术) 确需跨界的文件(如外网开发成果回内网)不走网络连接,走"暂存 → 扫描 → 审批 → 单向导入"的摆渡通道,全程留痕
工作负载 容器隔离 + 一次性工作区(Disposable Workspace) 每人/每任务一个容器,互不可见;容器被攻破的爆炸半径就是容器本身,销毁重建即恢复,攻击者拿不到任何持久立足点
一句话定义

本方案的完整名称是:"物理隔离 + DMZ 隔离上网区 + 容器化远程工作区隔离(协议中断 / 像素流摆渡)"。安全内核可以概括为一句话:人不出内网、数据不出内网、危险不进内网——穿过边界的,出去只有键鼠,回来只有像素。

为什么它同时解决了两个方向的问题:传统思路里"防外泄"和"防入侵"是两套工程;协议中断把两者合并了——内网数据从未进入联网环境(无泄可防),外网内容从未以可执行形态进入内网(无毒可入)。剩下的例外通道(剪贴板、文件摆渡)被收敛为有限的、可枚举的、逐容器授权的开关,这正是第 04 节威胁矩阵能够"逐条封堵"的前提。

03

总体架构拓扑

内网核心区(物理隔离) DMZ 隔离上网区(唯一联网服务器) 互联网
内网核心区
物理隔离 · 数据与人都在这里
办公终端仅一个浏览器标签页连 DMZ 云桌面,本机不装任何外网软件
摆渡接收区代码 bundle · 依赖快照 · 制品 的唯一入口,只进不出
内网 Git(交付真源)DMZ 代码经 git bundle 同步落库,全量提交历史可审
内网 CI · 编译机(内部机)可复现构建,依赖只取内网制品库;产物是唯一可信交付物
内网制品库 + 依赖镜像npm / pip / 容器镜像快照,经摆渡定期同步,供离线编译
测试 · 调试环境 + 业务数据接真实数据联调;缺陷脱敏后反向摆渡回 DMZ 修复
内网模型(可选)vLLM 私有化部署,涉密项目专用
① HTTPS 像素流(键鼠出 · 画面回) ② 正向摆渡:代码 bundle · 依赖快照 · 制品(扫描+审批+单向) ②′ 反向摆渡:脱敏缺陷单 / 需求(提级审批)
DMZ 隔离上网区 · 唯一联网服务器
双网卡:内网口只开 443;禁 IP 转发,两侧网络在此协议中断
容器 1..N(察元AI工舱)每员工一个:Caddy 网关 → 云桌面 · Chrome · Claude Code / Codex / OpenClaw / Hermes · 权限开关(剪贴板/上传/下载逐容器授权)
数字员工容器池无人值守跑外网侧开发任务(非涉密项目)
DMZ 侧 Git / 制品缓存外网工作的真源;npm/pip 镜像缓存
出口代理(白名单)+ 审计日志容器出网的唯一路径,全量留痕
③ 白名单代理出口
互联网
不可信区域
大模型 APIAnthropic / OpenAI …
开源生态GitHub · npm · pip · 镜像源
技术资料文档 · 社区 · 搜索
图 1 · 三区拓扑:内网与互联网之间没有任何直接连接;跨界通道穷举为像素流(①)与双向摆渡(②/②′),编译、调试、交付全部落在内网侧的内部机上

边界上的三条通道(穷举)

与内部机的同步 · 编译 · 调试闭环

开发发生在 DMZ 容器(那里有大模型和开源生态),但编译、联调、交付必须发生在内网的内部机上——原因有三:涉密联调离不开真实业务数据;DMZ 侧产物按"不可信"原则一律不作为交付物;交付物必须由内网可复现构建产生,供审计追溯。两侧通过摆渡形成一个闭环:

自动执行 机器门禁 人工参与
DMZ 侧
开发 + 自测
容器内 AI 智能体开发;容器内编译仅作自测验证,产物不出 DMZ
摆渡
同步进内网
git bundle + 依赖快照(含 SBOM),扫描 + 审批 + 单向导入,按每日窗口批量
内网
内网 Git 落库
哈希校验后导入交付真源库,逐 commit 可审
内部机
内网编译
内网 CI 可复现构建,依赖只从内网制品库取;产物入库成为唯一可信交付物
内部机
调试 · 联调
部署测试环境,接真实业务数据联调验收;涉密调试全程不出内网
回流
缺陷回外网侧
缺陷单脱敏 → 反向摆渡(②′)→ DMZ 容器修复,进入下一轮同步
图 2 · 内外双环:外环在 DMZ(AI 辅助,快),内环在内部机(真实数据,准);两环之间只靠摆渡衔接,节奏按日批量
服务器加固要点

联网服务器本身是全架构最关键的设备:关闭内核 IP 转发(net.ipv4.ip_forward=0),内外网卡之间无任何路由/NAT;容器网络只绑定外网侧出口代理;内网口仅监听各容器映射的 HTTPS 端口;宿主机不装浏览器、不给普通员工账号;管理走内网侧堡垒机,全程录屏审计。

04

安全性论证:威胁封堵矩阵

安全论证的方法是穷举两个方向的威胁路径,逐条给出封堵机制。凡是技术不可根除的项,明确交给制度(第 07 节),不假装技术已覆盖。

方向威胁路径封堵机制剩余暴露
内网数据外泄
保密性
从内网终端向容器粘贴敏感内容 CLIPBOARD_IN=0(云桌面引擎 AcceptCutText 关闭,服务端强制,非前端隐藏)
⚠ 已知缺陷:2026-07-16 之前发布的镜像中,该开关实际未生效(云桌面引擎会用自身配置默认值覆盖掉它,实测 CLIPBOARD_IN=0 时 AcceptCutText 仍为 1)。须升级到修复版镜像,并按 07 节命令自检。
须升级后方成立
从内网上传文件到容器 FILES_UPLOAD=0(app-manager 后端 403 硬校验) 封死
内网数据经像素流"流出" 不存在该路径:内网数据从未进入容器,容器里只有外网侧工作数据;像素流方向是容器→终端 结构性不存在
人为对屏抄写 / 拍照泄密 技术不可根除 → 桌面水印(可溯源到人)+ 保密制度 + 行为审计 制度覆盖
外网威胁进入内网
完整性
恶意网页 / 浏览器 0day 攻击 攻击落点在容器内,爆炸半径 = 一个容器;容器无内网路由(禁转发)、用完即毁(seed-home 重建)、无持久立足点 半径受限
被投毒的 npm / pip 包(供应链攻击) 依赖只在容器与 DMZ 侧 CI 中执行,不进内网;回内网的成果走摆渡扫描(杀毒 + 依赖审计 + 密钥扫描) 经门禁
恶意文件经下载进入内网终端 FILES_DOWNLOAD=0 默认禁止;确需带回走摆渡通道而非会话内下载 封死
容器→内网横向渗透 服务器禁 IP 转发;容器网络仅达出口代理;内网口仅暴露 Caddy 443;容器间网络互不可见 封死
DMZ 自身失陷
纵深
容器逃逸攻宿主机 容器非特权运行、最小 capability、定期更新运行时;宿主机上没有内网数据可拿 纵深防御
模型 API key 泄露 key 由出口代理/网关代持不落容器;按容器计量,异常消耗熔断 最小化
DMZ 侧 Git 数据被窃 DMZ 侧只放非涉密项目;涉密项目全程留在内网、用内网本地模型(见 06 节分级) 分级隔离
论证核心

与"防火墙 + 上网行为管理"的过滤思路不同,本方案的安全性不依赖"识别并拦截坏流量"(永远有漏网),而依赖结构性不存在:内网数据不在联网环境里,外网内容不以原始形态进内网。需要防守的面从"整个互联网协议栈"收敛为三条可枚举通道上的若干个开关。

05

数据摆渡规范

典型场景:数字员工在 DMZ 容器里完成了一个非涉密模块的开发,成果(代码、文档、制品)需要带回内网归档或集成。摆渡是唯一合法路径,流程如下:

自动执行 机器门禁 人工审批
DMZ 侧
成果入暂存区
容器把待摆渡文件放入指定摆渡目录(Git bundle / 压缩包),附摆渡申请单(内容清单 + 用途)
门禁
自动扫描
病毒查杀 · 依赖清单审计(SBOM)· 密钥/敏感串扫描 · 文件类型白名单(禁可执行文件)
人工
审批
授权审批人核对清单与扫描报告;代码类成果抽样 diff 审查
单向
导入内网
经网闸/受控介质单向导入内网摆渡接收区,DMZ 侧无法读取内网任何内容
留痕
审计归档
申请单 + 扫描报告 + 审批记录 + 文件哈希 全量归档,可追溯到人和容器
图 3 · 摆渡五步:暂存 → 扫描 → 审批 → 单向导入 → 留痕。反方向(内网 → DMZ)默认不开放,确需时提级审批
06

察元AI工舱 落地配置

察元AI工舱 现有的权限开关(CLIPBOARD_IN/OUT、FILES_UPLOAD/DOWNLOAD,均为服务端强制:FILES_* 由文件服务在接口层直接返回 403;CLIPBOARD_* 经云桌面引擎配置强制——但 2026-07-16 之前的镜像该开关存在缺陷、实际未生效,见 07 节)恰好是这套隔离模型所需的全部会话层控制。方向约定:IN = 内网终端 → 容器(泄密方向),OUT = 容器 → 内网终端(引入方向)。落地为四套容器模板:

容器模板CLIPBOARD_IN
内网→容器
CLIPBOARD_OUT
容器→内网
FILES_UPLOADFILES_DOWNLOAD适用与说明
上网查询 0 禁止 1 允许 0 0 查资料、看文档。允许把外网文本复制回内网笔记(纯文本、低危);严禁反向粘贴
外网开发(人类) 0 禁止 1 允许 0 0 员工在容器内用 AI 智能体开发非涉密项目;成果经 DMZ 侧 Git → 摆渡回内网,不走会话下载
数字员工(无人值守) — — 0 0 无人使用云桌面,剪贴板通道无意义;出网仅白名单代理;桌面仅排障时临时开启
高保密模式 0 禁止 0 禁止 0 0 全通道关闭,任何内容跨界都走摆渡;用于敏感期或受审计要求最严的岗位

对应的 .env 模板示例(外网开发容器):

# 察元AI工舱 容器 · 外网开发模板(隔离上网)
LOGIN_USER=emp-zhang
PASSWORD=<每容器独立强口令>
PORT=6911                 # 每容器独立端口,仅向内网口发布

CLIPBOARD_IN=0            # 禁止 内网 → 容器 粘贴(防泄密)
CLIPBOARD_OUT=1           # 允许 容器 → 内网 复制文本(可按需收紧为 0)
FILES_UPLOAD=0            # 禁止上传内网文件
FILES_DOWNLOAD=0          # 禁止会话内下载,成果一律走摆渡

HTTP_PROXY=http://egress-proxy:3128    # 出网唯一路径:白名单代理
HTTPS_PROXY=http://egress-proxy:3128

项目分级:什么放 DMZ,什么留内网

级别项目类型开发位置模型成果回流
开放工具类、开源组件、无业务数据的通用模块DMZ 容器(含数字员工 24×7)云端大模型(Claude 等)摆渡回内网归档
受限业务相关但可脱敏(接口定义、UI、通用逻辑)DMZ 容器,仅使用脱敏材料云端大模型摆渡 + 内网集成联调
涉密核心业务逻辑、真实数据、加密与安全模块全程内网仅内网本地模型(vLLM 私有化)不出内网
分级红线

分级判定必须在任务卡创建时完成并由授权人签认,出错方向是"就高不就低":拿不准就按涉密处理留在内网。严禁为了用上云端大模型而把涉密材料"顺手"带进 DMZ 容器——这是全架构唯一无法用技术兜底的口子。

07

残余风险与管理要求

残余风险为什么技术不能根除管理措施
对屏抄写 / 拍照 像素最终要呈现给人眼 桌面显示身份水印(用户名 + 时间,可溯源);保密协议与定期教育;敏感岗位物理管控
剪贴板文本引入恶意内容 CLIPBOARD_OUT=1 时外网文本可进内网 剪贴板事件全量审计留痕;高保密模板直接关闭;内网终端禁止直接执行来路文本
联网服务器单点 它天然是内外网的交汇点 最小化系统、及时补丁、完整性监控、管理操作全程录屏;准备冷备镜像,失陷即整机重装
分级误判(涉密材料流入 DMZ) 判定发生在人脑,技术看不见语义 任务卡分级签认制;DMZ 容器内容定期抽查;发生即按泄密事件流程处置并复盘规则
审批疲劳(摆渡走过场) 流程可以被敷衍 自动扫描报告作为审批前置(没有报告不能批);审批质量纳入考核;抽样复审

已知缺陷与自检(重要)

2026-07-16 之前发布的镜像中,CLIPBOARD_IN / CLIPBOARD_OUT 两个开关实际未生效:设为 0 时剪贴板仍双向连通。成因是云桌面引擎在启动时会把自身配置文件里的剪贴板默认值(放开)派生成命令行参数、追加在本容器所设参数之后,同名参数后者胜出,于是开关被静默覆盖——它不报错,因此从日志和界面上都看不出来。该缺陷不影响 FILES_UPLOAD / FILES_DOWNLOAD:那两个开关由文件服务在接口层直接返回 403,实现路径完全不同。

修复版镜像已把两个开关改为经引擎官方配置覆盖通道下发,并已实测确认(CLIPBOARD_OUT=0 时取值为 0;单独关闭一个方向时另一方向不受影响)。但无论使用哪个版本,都请按下列命令自检,不要以本文档的承诺为准:

# 在宿主机执行。返回 0 = 该方向已关闭,1 = 仍然开启
docker exec <容器名> sh -c 'DISPLAY=:1 vncconfig -get AcceptCutText'   # 对应 CLIPBOARD_IN(内网 → 容器)
docker exec <容器名> sh -c 'DISPLAY=:1 vncconfig -get SendCutText'     # 对应 CLIPBOARD_OUT(容器 → 内网)

若容器已设 CLIPBOARD_IN=0 而上述命令仍返回 1,则该容器为缺陷版本,粘贴通道实际是敞开的,应升级镜像后重新验证。在升级完成前,涉密场景请以网络层与管理措施兜底,不要依赖该开关。

与《24×7 开发白皮书》的关系

本文档回答"数字员工体系在全封闭单位如何合法合规地接上外网与云端大模型"这一前置问题。白皮书中的调度器、CI 门禁、交叉评审、晨审队列等机制全部部署在 DMZ 侧运转;涉密项目按第 06 节分级留在内网、使用本地模型,两条线在"摆渡 + 分级"处汇合。阅读顺序建议:先本文档(网络与安全基座),再白皮书(开发模式与组织)。