操作系统登录认证怎么加双因素?Windows、Linux、国产麒麟统信的 SLA 落地实录
企业身份安全建设有个很奇怪的现象:应用层已经上了 SSO 和 MFA,操作系统这一层却还是裸奔的账号密码。
服务器 root 密码写在运维群里、车间控制电脑一个账号全班组共用、外场服务器的 administrator 密码三年没换过——这些都不是假设,是我在制造业、轨交、电力项目里实际见到的。
而攻击者非常清楚:绕过应用层的层层认证太麻烦,直接拿一台终端的操作系统权限,什么都有了。
这篇文章讲操作系统登录认证这一层怎么补,用安当 SLA(Secure Login Agent,安全登录代理)在 Windows、Linux 和国产 OS 上的三个真实场景说明白。
一、为什么操作系统这层最难补
先说清楚难点,不然会低估工作量。
难点一:登录流程在系统内核层,改不动。
Windows 的登录走 Winlogon + Credential Provider,Linux 走 PAM 栈,都是系统级组件。传统"装个软件弹个框"的做法根本拦不住——用户可以直接绕过。
难点二:终端环境千差万别。
车间的工控 PC 可能还是 Windows 7,外场服务器是 Windows Server 2008,信创改造后的政务终端是银河麒麟或统信 UOS,还有一堆 CentOS/Ubuntu 服务器。要么全覆盖,要么等于没做。
难点三:很多终端根本不联网。
轨交沿线的信号服务器、工厂产线的隔离网段、涉密环境——这些地方连不上认证中心。云端 MFA 方案在这里直接失效。
难点四:不能影响生产。
产线电脑每天开机就要干活,认证多花 30 秒、偶尔认证失败一次,班组长就会来投诉。
SLA 的设计正是针对这四点:接管系统登录接口(而非弹窗)、全平台覆盖、支持离线令牌、认证过程控制在数秒内。
二、SLA 的工作原理:接管登录接口,而不是加个壳
SLA 是安当自研的安全登录代理组件,核心思路是接管操作系统的登录接口,在系统登录前强制完成二次认证,通过后再向系统注入合法凭据。
流程拆开是这样:
用户唤起登录界面
↓
SLA 接管登录入口(Windows: Credential Provider / Linux: PAM 模块)
↓
第一因子:账号 + 密码(或域账号)
↓
第二因子:UKey 插入验签 / 指纹比对 / OTP 动态口令
↓
本地策略校验:该设备是否允许该用户登录?
↓ (联网版会向 ASP 校验;单机版走本地策略库)
认证通过 → SLA 向系统注入合法凭据 → 进入桌面
↓
全量记录登录事件(本地留痕 + 可选上报 ASP / Syslog)
几个关键设计值得说明:
1. 认证发生在系统登录之前,不可绕过。 不是登录后再弹框验证,而是不过二次认证就拿不到系统凭据。
2. 无需修改系统内核,即装即用。 走的是操作系统官方提供的认证扩展机制,不做内核 hook,避免蓝屏和兼容性问题——这一点在国产 OS 上尤其重要。
3. 云 + 端双模。 联网版由 ASP 统一下发策略、集中审计;单机版完全本地化运行,无网也能强认证。同一套组件,两种形态。
支持范围:
| 平台 | 支持版本 |
|---|---|
| Windows 客户端 | Windows 7 及以上 |
| Windows Server | Windows Server 2008 及以上 |
| Linux | 主流发行版(CentOS / Ubuntu 等) |
| 国产操作系统 | 银河麒麟、统信 UOS、中标麒麟 |
| 国产芯片架构 | 龙芯(LoongArch)、鲲鹏(ARM64)、飞腾(ARM64) |
认证因子:USBKey 硬件令牌、OTP 软件令牌、指纹(USB 指纹仪)、FIDO2、数字证书。
三、场景一:300 台车间控制电脑的指纹登录改造
客户背景:某苹果核心供应商工厂,300+ 台车间控制电脑,运行 MES 生产管理系统和设备监控系统。
改造前的问题:
- 全部使用 Windows AD 域账号 + 密码登录,密码简单且多人共用
- 车间是开放环境,非授权人员可以直接接触终端
- 出现误操作时,日志只能追到账号,追不到人
- 苹果供应链审计明确要求"操作可追溯到具体人员"
方案设计:
- 在 300 台电脑部署 SLA 联网版,无缝集成现有 AD 域环境(不改造 AD,SLA 作为额外的认证层)
- 强制"密码 + 指纹"双因素:输入域账号密码后,插入 USB 指纹仪完成二次验证
- 一账号绑定多指纹:同一个班组账号下可以绑定多名操作员的指纹,登录日志记录的是"哪个指纹",从而精准识别到人
- 登录日志实时对接企业统一日志管理系统
第 3 点是这个方案的巧妙之处。工厂的现实是账号确实要共用(MES 系统按工位授权,不按人),硬要一人一账号会打乱生产流程。而"一账号多指纹"既保留了原有账号体系,又把责任落到了人头上。
落地效果:
- 300 台控制电脑 100% 双因素登录,改造后零安全事件
- 指纹精准追溯,彻底解决"账号共享责任不清"
- 满足苹果供应链审计要求,一次通过
实施踩坑提醒:车间粉尘和油污会影响指纹识别率,采购指纹仪时要选工业级、防尘等级高的型号;另外要为指纹识别失败准备兜底方案(比如班组长 UKey 应急登录),否则产线会停。
四、场景二:轨交外场服务器的离线 UKey 登录
客户背景:某城市轨道交通系统,沿线车站和控制中心部署了数十套信号控制系统服务器。
改造前的问题:
- 由第三方维保单位和内部工程师共同现场运维
- 共享管理员账号,长期未更换
- 外场机房完全无网络,任何依赖云端的认证方案都不可用
- 属于关键信息基础设施,受《关键信息基础设施安全保护条例》约束
方案设计:
- 每台外场信号服务器部署 SLA 单机版,以 Windows 系统服务形式运行,完全离线
- 为每位运维人员配发国密 SM2 算法 USB Key,内置唯一私钥
- 登录时必须插入 UKey 并输入 PIN 码,无 Key 无法登录
- 所有 UKey 登录事件本地记录,定期由安全人员导出归档
为什么用 UKey 而不是 OTP:离线环境下 OTP 的时间同步会漂移,运维周期长了容易出问题;UKey 是基于挑战-响应的证书验签,不依赖时间同步,且私钥不出 Key,安全等级更高。
落地效果:
- 支持 Windows Server 与国产麒麟/统信等信号系统常用 OS
- 彻底杜绝共享账号风险,人员离职只需回收 UKey,不用改任何密码
- 符合关基条例对身份鉴别与操作审计的要求
这个场景的核心价值:把"改密码"这个高成本、易遗漏的动作,变成了"回收硬件"这个物理动作。运维人员流动频繁的单位,这一点非常实用。
五、场景三:信创环境下国产 OS 的双因素登录
信创改造后,政务和国企的终端大量替换为银河麒麟、统信 UOS。这时候会遇到一个尴尬:很多身份安全产品不支持国产 OS,等保测评又要求操作系统层双因素。
SLA 在国产 OS 上的实现走的是 PAM(Pluggable Authentication Modules) 机制。Linux 的认证栈本来就是可插拔设计,SLA 作为一个 PAM 模块插入认证链:
# /etc/pam.d/ 配置示意(实际由安装程序自动写入)
auth required pam_unix.so # 第一因子:系统密码
auth required pam_andang_sla.so # 第二因子:SLA(UKey/OTP/指纹)
account required pam_unix.so
session required pam_unix.so
这种做法的好处是不碰内核、不改系统组件,升级 OS 也不会冲突。同时覆盖三种登录入口:
- 本地图形界面登录(GDM/LightDM)
- 本地字符终端登录(tty)
- 远程 SSH 登录(这个最容易被忽略,但恰恰是运维实际用得最多的入口)
信创适配情况:ASP/SLA 已通过华为鲲鹏兼容性测试认证与信创产品评估认证,密码算法支持国密 SM2(数字证书)、SM3(哈希)、SM4(对称加密)。
六、联网版 vs 单机版:怎么选
这是方案设计时必须做的决策,给一张对照表:
| 维度 | SLA 单机版 | SLA 联网版 | SLA SaaS 版 |
|---|---|---|---|
| 网络要求 | 完全离线 | 需连接 ASP 服务端 | 需连接公网 |
| 策略管理 | 本地配置,逐台维护 | ASP 集中下发,实时生效 | 云端集中管理 |
| 设备注册 | 无 | 首次联网自动向 ASP 注册 | 自动注册 |
| 用户授权 | 本地授权列表 | 可实时调整某台设备的允许登录人员,策略立即下发 | 同联网版 |
| 日志审计 | 本地留痕 | 全量上报 ASP,支持 Syslog 外发 SIEM | 云端审计 |
| 适用规模 | 几台到几十台 | 几十台到数千台 | 中小规模、免运维 |
| 典型场景 | 外场服务器、涉密隔离网、工业无网环境 | 车间产线、办公终端、机房服务器 | 分支机构、快速上线 |
选型建议:终端数量超过 30 台且网络可达,一律选联网版——逐台维护策略的运维成本会迅速失控。真正的离线场景才用单机版。
联网版还有个容易被忽略的能力:管理员可以集中托管和轮换终端 SLA 组件的管理员密码及离线 OTP(配合 SYP 密码管理器)。这解决了"应急密码怎么管"的问题。
七、部署实施要点(血泪经验)
1. 先做兼容性验证,再批量推。
挑 3-5 台代表性终端(不同 OS 版本、不同硬件型号)做试点,跑满一周。特别注意:装了某些国产杀毒软件或桌管软件的终端,可能与登录组件冲突。
2. 必须准备应急登录通道。
UKey 丢了、指纹仪坏了、员工手机没电——这些一定会发生。方案里要明确:谁有权限做应急登录、怎么审批、事后怎么审计。没有应急预案的强认证方案,最后一定会被业务部门要求关掉。
3. 批量部署用静默安装。
300 台终端不可能一台台点。SLA 支持命令行静默安装,配合域策略(GPO)或桌管系统下发:
:: Windows 静默安装示例
SLASetup.exe /S /SERVER=https://asp.company.local /GROUP=workshop-line-A
4. 分批灰度,按班组推进。
先推一个班组,跑通一周,收集反馈,再推下一个。一次性全推,出问题就是全厂停摆。
5. 培训要针对一线,不是针对 IT。
一线操作员不关心什么是双因素,只关心"我怎么登录进去"。培训材料要做成一页纸图示,贴在机台旁边。
八、常见问题
Q:SLA 会不会影响系统性能或稳定性?
SLA 是轻量代理,不做内核 hook,只在登录时刻工作,进入桌面后基本无资源占用。不改系统内核这一点,是国产 OS 环境下能稳定运行的关键。
Q:如果 ASP 服务端宕机,终端还能登录吗?
联网版支持离线令牌降级:服务端不可达时,终端用本地缓存的策略和离线 OTP 完成认证,保障业务连续性。这也是"云+端双模架构"的意义所在。
Q:远程桌面(RDP)登录能管控吗?
可以。RDP 登录同样走 Windows 的 Credential Provider 链路,SLA 会一并接管。实际上远程运维恰恰是最需要强认证的入口。
Q:能不能只对特定用户或特定时段强制双因素?
联网版支持按设备下发允许登录人员列表,并可实时调整、立即生效。更细粒度的时段策略需要结合 ASP 侧的认证策略配置。
Q:跟微软自带的 Windows Hello 有什么区别?
Windows Hello 是终端本地的便捷登录,不解决集中管理、集中审计、跨平台和国产 OS 覆盖的问题。SLA 的定位是企业级统一管控——策略从 ASP 下发、日志汇聚到 SIEM、Windows 和 Linux 和国产 OS 一套体系。
写在最后
操作系统登录认证是身份安全体系里最脏最累但绕不过去的一块。应用层做得再漂亮,终端一台被拿下,前面的努力都打折。
好消息是这块的技术方案已经相当成熟:接管登录接口、全平台覆盖、离线可用、不改内核。剩下的其实是项目管理问题——试点、灰度、应急预案、一线培训。
把这四件事做扎实,300 台终端的双因素改造,两周就能落地。
本文技术内容参考《安当 ASP 身份认证服务平台技术白皮书 V4.0》。SLA 操作系统双因素认证支持 Windows/Linux/国产 OS 全平台,支持 UKEY/OTP/FIDO 多种认证方式,无需修改系统内核即装即用。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)