断网服务器如何防“物理入侵”?用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《密码模块安全技术要求》
  • 《关键信息基础设施安全保护条例》第十八条

相关推荐
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ7 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
逐步前行8 小时前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
0南城逆流08 小时前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
05大叔8 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
智者知已应修善业8 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
安当加密8 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20158 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
我是一棵无人问荆的小草9 小时前
单片机通电后延迟启动策略
单片机·嵌入式硬件
日更嵌入式的打工仔10 小时前
UART RX为什么要上拉
单片机
woho77889910 小时前
不同网段IP的网络打印机,打印、扫描设置
运维·服务器·网络