断网服务器如何防“物理入侵”?用SLA 操作系统双因素认证实现离线双因子认证

标签:#离线安全 #双因子认证 #WindowsServer #安当SLA #等保三级 #信创 #运维管控


一、真实痛点:野外 RTU 服务器被"顺手"登录

我们公司在西北某油田部署了 20 多台 Windows Server 2016 工控机,用于采集油井数据。这些服务器:

  • 位于无人值守站点;
  • 完全物理隔离,无任何网络连接
  • 本地配置了管理员账号 admin / P@ssw0rd!

某次巡检发现,一台服务器的系统日志中出现了非授权登录记录------原来是第三方维保人员用已知密码直接登录,修改了采集参数。

🚨 问题本质
在无网络、无域控的环境下,传统账号密码形同虚设

而根据《关键信息基础设施安全保护条例》和等保2.0要求:

"应对登录用户进行身份鉴别,且应采用两种或以上组合的鉴别技术。"

但现实是:

  • 不能装杀毒软件(影响实时性);
  • 不能连域(无网络);
  • 不能频繁改密码(现场无人维护)。

怎么办?


二、为什么常规方案在离线环境失效?

方案 失败原因
Windows Hello / PIN 依赖 TPM + 在线注册,不适用于工作组模式
RADIUS / LDAP 需要网络连接认证服务器
堡垒机跳板 服务器本身无网络,无法接入
USB Key 软件锁 仅应用层验证,绕过登录界面即可 bypass

根本问题

所有方案都假设"有网络"或"有中间件",而我们需要的是 操作系统原生级、完全离线的双因子认证


三、破局:SLA操作系统双因素认证 ------ 基于 Credential Provider 的本地强认证

SLA(System Login Agent) 是一款专为 断网 Windows 环境 设计的国产双因子认证方案,核心特点:

✅ 核心能力

  • 完全离线运行:无需网络、无需域、无需额外服务;
  • 深度集成 Windows 登录栈 :通过标准 Credential Provider 接管登录界面;
  • 支持国产 USB Key:兼容国密usbkey;
  • 覆盖所有登录入口:本地控制台 + 远程桌面(RDP);
  • 满足等保 & 密评:私钥不出 USB Key,审计日志可追溯。

🔐 安全原理

用户输入密码后,系统要求插入 USB Key,并使用其内置 SM2 私钥对挑战值签名,验证通过才允许登录。


四、技术实现:三步完成部署

步骤1:准备国产 USB Key

  • 为每位运维人员发放唯一 USB Key;
  • 通过厂商工具写入 唯一序列号 + SM2 密钥对
  • 将公钥导入服务器(用于验证签名)。

步骤2:部署安当 SLA 组件

  • Andang.SLA.CredProv.dll 拷贝至 C:\Windows\System32\

  • 以管理员身份注册:

    cmd 复制代码
    regsvr32 Andang.SLA.CredProv.dll
  • 重启后,登录界面自动变为:

    复制代码
    用户名: _________
    密码:   _________
    [请插入授权 USB Key]

步骤3:配置认证策略(本地 JSON)

json 复制代码
{
  "AuthMode": "PasswordAndUsbKey",
  "AllowedUsers": ["admin", "maintainer"],
  "UsbKeyWhitelist": [
    "FT1234567890",   // 张工的 Key
    "FT9876543210"    // 李工的 Key
  ],
  "AuditLogEnabled": true,
  "RdpEnabled": true
}

策略文件路径:C:\ProgramData\Andang\SLA\policy.json,支持热更新。


五、效果验证:从"谁都能登"到"只有授权人能登"

场景1:本地控制台登录

  • 未插入 USB Key → 输入正确密码也提示"认证失败";
  • 插入非授权 Key(如同事的)→ 提示"设备未注册";
  • 插入授权 Key + 正确密码 → 登录成功。

场景2:远程桌面(RDP)

  • 使用 mstsc 连接;
  • 登录框同样要求插入 USB Key;
  • 无需修改组策略,SLA 自动接管 RDP 凭据流程。

场景3:审计与告警

事件查看器 → Windows 日志 → 安全日志:

  • 事件 ID 4624:成功登录,附加字段 USB Key Serial: FT1234567890
  • 事件 ID 4625:失败登录,记录尝试的用户名 + Key 序列号(若插入)。

即使服务器被物理接触,无 USB Key 也无法登录


六、合规价值:直通等保三级与密评

要求 SLA 实现方式
等保2.0 8.1.4.1 口令 + USB Key 双因子,覆盖所有管理入口
GM/T 0028-2014 使用 SM2 算法进行身份签名,私钥不出 USB Key
密评"身份鉴别"项 提供 SM2 签名日志 + USB Key 序列号,可审计防抵赖
信创适配 支持麒麟、统信 UOS 上的 Windows 虚拟化环境

七、运维管理建议

  1. 建立 USB Key 生命周期管理
    • 新员工入职:发放 Key + 注册公钥;
    • 员工离职:从 policy.json 移除序列号(无需回收硬件);
  2. 保留应急通道
    • 配置一个"超级 USB Key"由安全主管保管,用于紧急恢复;
  3. 定期巡检策略文件
    • 通过脚本比对 policy.json 与 HR 系统人员名单,确保一致。

八、适用场景扩展

场景 特点 安全收益
工厂 MES 终端 Windows 10,无网络 防产线工人越权操作
边防监控站 Windows Server,物理暴露 防外部人员本地登录
船载服务器 海上断网环境 满足海事安全审计要求
医疗移动车 临时部署 保障患者数据访问可控

共同特征

✅ 无网络

✅ 物理环境不可控

✅ 需操作系统级认证


九、总结:让离线设备不再"裸奔"

安全不是"有没有网络"的问题,而是"有没有底线"的问题

通过 安当 SLA,我们实现了:

  • 零网络依赖:完全离线运行;
  • 零代码改造:标准 Windows 接口;
  • 强身份绑定:一人一 Key,不可共享;
  • 合规可证明:审计日志满足等保/密评。

这不仅是技术方案,更是对 边缘资产安全责任 的落实。


互动话题

你们的离线服务器是如何做登录管控的?

有没有遇到过"物理接触即失陷"的情况?

欢迎评论区交流!
参考资料

  • Microsoft: Credential Providers in Windows
  • GM/T 0028-2014《密码模块安全技术要求》
  • 《关键信息基础设施安全保护条例》第十八条

相关推荐
会飞的土拨鼠呀2 小时前
array 这个是服务器的什么信息
运维·服务器
胡萝卜3.02 小时前
程序构建核心解析:从预处理到链接的完整指南
运维·服务器·c++·人工智能·操作系统·编译原理·系统编成
DO_Community2 小时前
Ubuntu/Debian VPS 上 Apache Web 服务器的完整配置教程
服务器·ubuntu·debian
oMcLin2 小时前
Linux 系统的服务器救援指南:从 Live USB 到 chroot 恢复系统
linux·服务器·php
fengyehongWorld2 小时前
Linux journald与journalctl命令
linux·运维·服务器
米高梅狮子2 小时前
1. Cockpit 管理服务器
linux·运维·服务器
m0_737302582 小时前
云服务器 vs 传统服务器:核心区别与选型指南
服务器
Dreamboat-L11 小时前
云服务器上部署nginx
java·服务器·nginx
广州灵眸科技有限公司11 小时前
瑞芯微(EASY EAI)RV1126B CAN使用
linux·网络·单片机·嵌入式硬件