ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

2cha零信任远程办公安全接入方案实践

2cha零信任远程办公安全接入方案实践 2cha是我们内部对一个异地办公安全接入方案的代号从立项到现在跑了一年多陆陆续续帮公司几百名员工解决了在家、出差、驻场等场景下的安全接入问题。从安全团队的角度看它的核心价值不是简单地把网络打通而是让每一次接入都回答清楚三个问题你真的是你吗你的设备安全吗你该看到哪些东西今天把这套方案拆开讲讲从架构设计到部署配置再到日常运营里踩过的坑希望能给同样在做远程办公安全建设的团队一些参考。文章会涉及一些具体参数和经验值都是我们在生产环境里验证过的可以直接拿去做基准。1. 项目背景与整体设计思路1.1 异地办公接入为什么这么难我们公司员工构成大概是这样的销售和售前常驻客户现场交付工程师在项目现场施工研发偶尔在家办公管理层出差是常态。以前大家都在公司内部访问OA、CRM、代码仓库、财务系统都走内部地址速度快也不需要额外考虑安全问题。但人一离开办公室问题就全冒出来了。第一个是身份混乱。很多同事为了方便把账号密码写在便利贴上共享账号在部分项目组里非常普遍。有人离职之后原账号还被同事借来继续登录系统这在审计的时候是巨大的风险点。第二个是终端不受控。员工离司以后用的笔记可能是个人设备系统补丁几个月不打杀毒软件到期了也没人管甚至有的设备已经被木马感染。让这种终端直接接入公司内部网络等于把风险引进了家门。第三个是网络环境太复杂。员工可能在家里、酒店、咖啡馆、客户会议室发起访问公用无线网络里有人蹭网、抓包最基本的加密都保障不了。这些痛点归纳成一句话就是连接的人能不能确认是本人连接的设备能不能信任连进来以后能做什么很多传统做法只解决其中某一个点要么只验账号密码要么只把网络链路打通结果就是安全和体验互相打架。我们设计2cha的时候目标就是把这几个环节串成一个整体让每一次接入都被验证、被管控、被记录缺一项都不放行。1.2 2cha方案的总体架构和选型逻辑2cha的整体架构我们内部叫“三中心一网关”身份认证中心、终端合规中心、权限策略中心外加统一接入网关。所有接入请求必须先经过接入网关网关再调用身份中心确认“你是谁”调用合规中心确认“设备是否可信”最后根据策略中心给出的授权范围决定放行还是拒绝。这个顺序是有讲究的先认证身份、再查终端、最后看权限每一层都通过了才算合法接入。为什么一开始就确定零信任的思路因为传统意义上的网络边界已经不存在了。员工从家里、酒店、客户现场发起访问来源网络五花八门你在边界上做再多防护也拦不住一个从公共无线网络进来的请求。零信任的核心是“永不信任持续验证”不管请求从哪里来只要没通过身份和终端检查一律不给权限。这个思路和我们的需求天然匹配所以2cha从原型阶段就走的是这条路而不是先做简单的链路打通再来补安全功能。还有一个原因是合规审计。我们每年都有内外部安全审计要求对每一次特权访问、数据下载、异常登录都留痕。2cha在设计之初就把审计作为一等公民所有认证事件、策略命中、访问行为全部留存日志并且支持按条件快速检索。审计人员来要材料的时候不用翻好几套系统一个平台就能查清楚这在后来实际应对检查时帮了大忙。2. 核心能力拆解与关键模块2.1 身份认证多因素认证和统一身份身份认证是2cha的第一道关也是用户感知最强的模块。我们全面推行了多因素认证用户输入账号密码之后还需要动态验证码或者企业微信扫码确认才能拿到访问权限。早期也纠结过要不要保留纯密码方式后来在一次内部渗透测试里测试人员用一个弱口令就成功登录了两个系统从那时起所有敏感系统全部强制多因素认证。选型时我们对比了三种方式。短信验证码最省事但有延迟和被劫持的风险硬件令牌安全性高可异地办公场景下还要邮寄设备管理成本太高手机应用动态口令是平衡安全和体验的选择所以我们最终选了基于时间的一次性口令再配合企业微信扫码做备用。这里有一个很小但很关键的细节动态口令对服务器时间和手机时间的一致性要求很高为此我们要在接入网关层做时间偏差容忍设置通常允许正负60秒的偏差超过则提示重新校准时间。身份源对接上2cha统一接入了公司的AD域控员工账号、组织架构、离职状态全部以AD为准。员工离职后AD账号被禁用2cha侧授权会同步失效避免“人走号还在”的问题。这里要特别提醒身份源同步不能只拉取账号列表必须同步离职状态和禁用状态字段否则本地残留的账户会变成新的风险入口。我们吃过这个亏后来补上了状态字段的同步才把账号生命周期真正管住。风险识别也是认证层的重要能力。当系统检测到异地登录、非常用设备、深夜时段登录时会自动触发二次认证要求用户再验证一遍身份。这个功能上线后确实拦住了几起账号被盗后的异常登录虽然多了一步操作会让极少数用户觉得繁琐但相比账号被滥用造成的损失这点体验成本是值得的。2.2 终端合规接入前的安全检查终端合规中心负责回答“设备能不能信”。员工的终端系统版本、补丁等级、杀毒软件是否开启、病毒库是否最新、磁盘是否加密这些都会在接入前被扫描一遍。我们给终端装了一个轻量级客户端客户端在用户发起接入时上报设备信息合规中心按既定模板打分分数达标才允许访问完整资源。扫描不合格的设备会怎样我们一开始的策略是直接拒绝结果被用户投诉淹没。后来改成了“修复区”模式不合规终端允许接入但只能访问补丁包、杀毒软件安装包和企业内部更新源用户在这个隔离区域里把设备修复合规重新检测通过后再放行。这个模式是我们在实际运营中非常受益的设计既没有影响员工干活又给了设备一条合规路径整体接受度高了很多。终端合规检查的频率也需要注意。完整扫描放在每次连接建立时做连接过程中只做心跳检测心跳间隔默认5分钟发现异常再触发临时扫描。这样做的好处是把性能开销控制住了。最开始我们让客户端每两分钟上报一次完整信息结果部分低配电脑CPU占用明显上升后来调成心跳模式问题才解决。终端检查做得太频繁用户会卡顿做得太松又失去意义这个平衡点要在试点阶段慢慢调。2.3 访问控制最小权限和动态授权权限控制的核心是最小权限原则。员工能访问什么不看他级别多高只看他当前工作需要哪些系统。2cha的权限策略中心同时引入了基于角色的访问控制RBAC和基于属性的访问控制ABAC角色解决大部分人的静态权限属性解决动态场景。举一个实际配置例子销售部员工默认角色允许访问CRM、OA和知识库财务部员工允许访问财务系统和报销流程研发部员工允许访问代码仓库和研发管理平台。如果某个销售同时参与了财务相关的项目可以临时附加一个“项目财务查看”角色项目结束自动移除而不是直接把他拉进财务人员的大角色里。这样权限边界清晰后续审计也方便解释。动态属性控制则看接入上下文。带着公司统一配发的笔记本、在公司网络范围内、工作时间发起接入拿到的权限就高一些从陌生网络、夜间时段发起接入即使身份认证通过也只会拿到基础权限访问高敏系统还要走一次单次授权审批。这种设置在实际运营里很有价值因为大部分风险事件恰恰发生在非常规接入场景下。权限设计还有一个容易踩的坑角色继承。如果把一个角色嵌套在另一个角色里子角色会继承父角色的全部权限几层嵌套下来权限就变得很难看清。我们的做法是尽量保持角色扁平先在配置文档里把角色和权限矩阵画清楚再落到系统里避免依赖多层角色继承。3. 实操部署与配置要点3.1 基础环境准备与组件规划2cha生产环境部署时最少需要四个组件身份认证中心、终端合规中心、权限策略中心、统一接入网关。我们用了三台应用服务器做集群前面用负载均衡统一承接接入流量数据库单独部署在一台高性能实例上日志存储接入了公司已有的集中日志平台避免重复建设。网络规划上接入网关放在DMZ区对外只开放必要的端口身份中心和策略中心放在内部网络不直接暴露公网地址。这样即使接入网关被攻破攻击者还要再跨一道内部访问控制能争取到宝贵的响应时间。上线前建议先做一次端口全量扫描确认暴露面只包含业务必须的端口其余的端口一律关闭。正式上线前先把小流量环境搭起来用测试账号完整走一遍“发起接入—身份认证—终端检查—策略授权—访问资源—日志生成”的全流程。这里最容易漏的是证书配置。接入网关和终端之间采用双向证书校验证书的续期和分发必须纳入自动化运维不然证书悄悄过期第二天一大早就会有大量用户反馈无法接入。我们第一次经历证书过期就是这样教训相当深刻。3.2 接入策略配置和参数说明策略配置是整个实施过程中最需要花心思的环节。2cha里所有策略遵循一个原则默认拒绝按需放行。没有匹配到任何策略的请求会被直接拒绝而不是默认放行。这个原则必须从一开始就定下来否则策略疏漏就会被放大为安全事件。以最常见的“员工访问OA系统”为例策略可以拆成几条身份条件必须是有效员工账号且已完成多因素认证。终端条件系统补丁等级不低于指定版本杀毒软件在线且病毒库为最新。网络条件普通网络即可高风险网络会额外触发二次认证。权限结果允许访问OA页面、附件下载、个人网盘空间。访问时效会话超时30分钟无操作自动断开重新接入需再次验证。参数设置给大家几个可参考的经验值。会话超时30分钟适合大多数办公系统太短员工要反复登录太长增加会话被劫持的风险登录失败锁定阈值设为5次锁定时间15分钟既能防暴力破解又不会让用户等太久动态验证码有效期60秒发送频率限制每分钟1次降低短信服务被刷的损耗。这些参数不是拍脑袋定的是我们根据日志数据反复调出来的不同公司可以根据自身情况微调但方向是一致的。3.3 审计日志与告警联动审计日志是2cha里最被低估的模块。系统会把每次接入行为的完整上下文记录下来包括账号、来源位置、设备指纹、接入时间、访问的目标系统、执行操作类型。这些日志不仅是事后追溯的依据也是发现攻击行为的数据基础。很多安全问题并不是被防护设备发现的而是事后翻日志才看出来所以日志这步不能省。我们配置了三条核心告警规则。第一条是“异常时间访问”凌晨两点到六点之间发生成功登录就提示管理员第二天统一复核。第二条是“多账号同一设备”一台设备短时间内用多个账号登录大概率是账号共享或者终端被控制系统自动禁用该设备的接入权限并告警。第三条是“高频连续失败”同一账号连续五次以上认证失败直接锁定同时通知安全负责人。日志保存周期建议至少180天定期归档。排查问题时最常用的检索维度是账号和时间段管理员在搭建阶段就要把日志平台的索引建好不然后面要查数据时非常被动。我们还做了一个小功能把登录成功和登录失败的日志分开展示安全团队日常研判的效率提升了不少。4. 常见问题与排查实录4.1 认证环节的典型故障第一个最常见的问题是用户收不到动态验证码。排查时先看短信服务商的发送日志确认验证码是否真的发出去再问用户是不是换了手机号或者装了拦截软件。我们遇到过短信服务商把批量验证码误判为垃圾内容的情况后来申请了专用短信签名才解决。这个问题只能提前做好渠道保障等到用户批量反馈再来处理就晚了。第二个典型问题是“密码正确但动态口令一直提示无效”。排查下来大概率是手机本地时间不准确基于时间的一次性口令对时间偏差非常敏感偏差超过一定范围就会被判失效。处理办法是让用户在动态口令生成端校准时间还不行就重新绑定令牌。这里有一个经验不要让用户自己猜原因直接在登录失败页面上给出“检查手机时间”的提示能省掉大量帮助台沟通成本。第三个问题是账号被锁定。多数原因是用户连续输错密码或者忘了密码又多次尝试找回。我们把锁定策略优化成锁定时自动发送一封解锁提醒邮件用户点击链接核验身份后即可自行解锁同时要求修改密码。这样既保证了防爆破效果又不至于让人卡在登录环节用户自助完成帮助台的压力也小很多。4.2 终端准入异常终端合规检查最容易出现的情况是用户明明装了杀毒软件却还是被判定为不合规。查下来往往是杀毒软件的服务进程没启动或者病毒库停留在几个月前更新。这类问题本身不难处理难在用户会觉得是系统在找茬。后来我们在终端客户端里加了“自检助手”一键展示当前不合规项和对应修复办法用户照着点几下就能自己解决这类工单量下降了差不多一半。设备指纹变化导致重新认证的问题也遇到过不少。某些驱动升级、系统组件更新都会导致设备指纹变化用户被要求重新走一遍终端绑定流程体验很受影响。我们的做法是把设备指纹计算规则改成多因子加权核心硬件信息权重最高通用软件组件权重降低这样既保留了设备识别能力又不至于因为一次小更新就触发全量重新绑定。另外设备合规策略不要一开始就设置得太严格。举个例子如果你要求所有终端的系统补丁必须在发布后两周内安装那基本每次补丁日之后都会有一批设备被判不合规。我们后来给补丁类检查设置了七天宽限期既满足了安全要求又给了员工和IT团队缓冲时间整体合规率反而稳定在了一个较高水平。4.3 访问控制不生效的定位思路访问控制不生效是策略运营里最让人头疼的问题。排查时我们按固定顺序走第一看用户是否真的通过2cha接入确认访问请求走的是受控路径第二看身份认证中心里用户所属角色和属性标签是否符合预期很多人换了部门但角色没同步第三看策略中心里目标资源对应的授权策略是否已生效策略修改后通常要一至两分钟同步到引擎让用户再试一次。还有一个容易被忽略的点同一个资源可能在多条策略中被引用某些策略优先级更高导致实际命中的策略和预期不符。我们的做法是在策略列表里把引用这个资源的所有策略全部展开逐条检查优先级必要时直接停用不再使用的老策略。策略堆积会导致理解混乱定期清理历史策略是保证访问控制长期可靠的一项基本功。下面是我们整理的一份速查表适合贴在运维文档里问题可能原因快速处理办法收不到动态验证码短信服务被限流或手机拦截查看发送日志、使用专用短信签名、检查拦截规则动态口令校验失败手机时间偏差过大校准时间后重新绑定令牌账号被锁定连续失败触发防爆破策略使用自助解锁链接并重置密码终端被判定不合规杀毒软件服务未运行或病毒库过期打开自检助手查看不合规项修复后重新检测设备指纹变化驱动或组件升级调整指纹权重以核心硬件信息为主策略不生效角色或属性标签未更新检查角色同步情况、策略优先级等待策略同步完成后重试5. 运营与推广经验5.1 试点策略与灰度发布2cha上线最怕的是步子太大直接全量推开风险高出了问题影响面也大。我们当时选择了一个异地办公需求最集中的销售中心作为试点原因有三销售出差频繁接入需求真实且高频销售人员的系统权限诉求相对简单主要是CRM、OA、邮件销售负责人配合度高愿意帮忙收集一线反馈。试点期的关键动作是建立问题清单。每天下午花半小时过一遍当天的反馈按“安全阻断”“体验问题”“策略误配”分类能当天解决的绝不拖到下周。我们试点第二周经常遇到销售反映在家连不上排查下来大部分是家用路由器设置问题按FAQ引导调整就能恢复。这些问题最终都沉淀成了用户手册里的常见问题章节对后面大规模推广帮助很大。灰度发布遵循“5%、20%、50%、100%”的节奏每一轮重点看三个指标接入成功率、用户投诉率、安全事件数。5%阶段因为用户基数小反馈的问题最多20%阶段开始出现终端类型的多样性我们把常见终端型号跑了一遍适配到50%阶段整体已经平稳100%放开后基本没有出现大的事故。整个过程大约用了三周比原计划提前了一周完成。5.2 用户推广和管理员运营用户推广方面我们做了三件事一份图文并茂的接入指南、一段三分钟演示视频、一个帮助台入口。接入指南要突出“两步走”先安装并注册终端客户端再发起接入完成认证。演示视频把安装、注册、认证、访问资源的全过程都录下来放到内部知识库和帮助台入口旁边。绝大多数用户看完视频就能自己完成接入帮助台工单量比预期低了不少。管理员日常运营里最耗精力的是权限审计。建议每月做一次权限复核导出特权账号清单确认每个账号的使用人、使用事由、有效期是否仍然成立。我们在运营中发现很多临时授权到期后没有自动回收后来给临时授权统一加上了时间戳到期自动失效权限回收就不再依赖人工提醒了。最后还有一个长期价值点把2cha上的访问行为数据用于内部安全态势分析。比如一个终端在访问了多个高敏系统之后短时间内又去访问外网下载站这种组合行为应当被标记。这些数据反过来可以帮助我们持续优化权限策略和告警规则让安全体系越用越符合业务实际。做2cha这个项目我最大的体会是安全接入方案的技术难度其实不算最高最难的是在安全性和用户体验之间找到平衡。你有再强的安全理念如果员工连登录都嫌麻烦最后一定会被绕过规则、另想办法。反过来只看体验安全就会被架空。另外一个心得是方案部署完不是结束而是开始。策略要跟着组织架构持续优化终端检查项要跟着威胁形势更新审计规则也要从实际告警里不断迭代这些日常功夫才是安全接入方案长期可靠的根本。给正准备做同类项目的同行一句建议先抓身份和权限再补终端和审计分步走不要一口吃成胖子。
返回列表