无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证

标签:#Linux 安全 #RADIUS #二次认证 #安当ASP #等保三级 #运维审计


一、痛点:Linux 服务器仍是"密码裸奔"重灾区

在大多数企业中,Linux 服务器(如 CentOS、Ubuntu、麒麟)仍依赖 账号+密码SSH 密钥 登录。这带来严重风险:

  • 密码复用:运维人员在多台服务器使用相同密码;
  • 密钥泄露:私钥文件被拷贝、未设口令;
  • 无行为审计:无法追踪"谁在何时登录了哪台机器";
  • 等保不合规:GB/T 22239-2019 明确要求"重要设备应启用双因素认证"。

🚨 现实困境

改造 PAM 模块复杂、易出错;部署 FreeRADIUS 又太重;硬件令牌成本高。


二、破局方案:轻量 RADIUS + ASP身份认证系统 = 零改造 2FA

我们提出一种 轻量、国产、合规 的组合架构:

plaintext 复制代码
[运维人员] → SSH 登录 linux-server
        ↓
[Linux PAM] → 调用 pam_radius_auth 模块
        ↓
[RADIUS 请求] → 发往安当 ASP 内置轻量 RADIUS 服务
        ↓
[安当 ASP] → 触发二次认证(OTP / USB Key)
        ↓
[用户手机/USB] → 输入动态码或确认签名
        ↓
[验证成功] → RADIUS 返回 Accept
        ↓
[Linux] → 允许登录

核心优势

  • Linux 系统零代码改造(仅需安装 pam_radius_auth);
  • 无需独立 RADIUS 服务器(由 ASP 内置提供);
  • 支持国密 OTP 和 USB Key,满足密评;
  • 所有登录行为集中审计

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

步骤1:在ASP 启用 RADIUS 服务

  • 登录安当 ASP 管理控制台;
  • 进入「认证协议」→ 启用 RADIUS 服务
  • 配置共享密钥(如 my_radius_secret);
  • 绑定用户到 OTP 或 USB Key 认证方式

步骤2:Linux 安装 PAM RADIUS 模块

bash 复制代码
# CentOS / Rocky Linux
sudo yum install -y pam_radius_auth

# Ubuntu / Debian
sudo apt-get install -y libpam-radius-auth

步骤3:配置 PAM(以 SSH 登录为例)

编辑 /etc/pam.d/sshd,在 auth 段添加:

pam 复制代码
auth sufficient pam_radius_auth.so
auth required pam_unix.so

⚠️ 注意:sufficient 表示 RADIUS 成功即可,required 保留本地密码作为备用(可选)。


步骤4:配置 RADIUS 客户端

编辑 /etc/raddb/server(CentOS)或 /etc/pam_radius_auth.conf(Ubuntu):

ini 复制代码
# 格式:RADIUS服务器IP 共享密钥 超时(秒)
192.168.10.100 my_radius_secret 5

其中 192.168.10.100 是安当 ASP 服务器 IP。


四、认证流程演示

  1. 运维人员执行:

    bash 复制代码
    ssh ops@linux-server
  2. 系统提示输入密码(此处可为任意值,或留空);

  3. 同时,手机App 弹出 OTP 动态码(或 USB Key 闪烁);

  4. 用户输入 6 位 OTP 码(或按 USB Key 确认);

  5. ASP身份认证系统 验证通过,返回 RADIUS-Accept;

  6. Linux 允许登录,并记录日志。

🔐 安全增强

  • OTP 基于 SM4 加密 TOTP,符合 GM/T 0021-2012;
  • 每次登录 Challenge 不同,防重放;
  • 失败 5 次自动锁定账户。

五、合规与审计价值

能力 说明
满足等保三级 实现"双因子认证"(8.1.5.2 条款)
集中审计 ASP 记录:用户名、源 IP、目标主机、认证方式、时间
权限最小化 可按角色分配 Linux 主机访问权限

📊 某银行上线后,运维账号盗用事件归零,等保测评一次性通过。


六、为什么不用 FreeRADIUS?

对比项 FreeRADIUS ASP 内置 RADIUS
部署复杂度 高(需配置模块、证书、SQL) 极低(开箱即用)
国密支持 ❌(需自行编译 GmSSL) ✅ 原生支持 SM2/SM4
多因子集成 ❌(仅转发,不处理 2FA) ✅ 内置 OTP/USB Key 认证
审计能力 弱(仅日志) ✅ 图形化审计 + 告警
信创适配 ✅(麒麟+鲲鹏全栈兼容)

结论

对于 需要快速落地 2FA 的政企用户,** 安当ASP身份认证系统 提供了更轻量、更合规、更易管理的 RADIUS 方案**。


七、写在最后

在运维安全领域,
每一次 SSH 登录,都应是一次可信的身份验证

通过 轻量 RADIUS + ASP

我们让古老的 PAM 机制,

焕发了 零信任时代的新生命

安全,不是阻止运维,而是让每一次操作都可追溯、可信任


互动话题

你们的 Linux 服务器是否已启用双因子认证?

是用 Google Authenticator、YubiKey 还是其他方案?

欢迎评论区交流你的"Linux 运维安全实践"!
参考资料

  • GB/T 22239-2019《网络安全等级保护基本要求》
  • GM/T 0021-2012《动态口令密码应用技术规范》
  • RFC 2865:Remote Authentication Dial In User Service (RADIUS)
  • pam_radius_auth 官方文档
相关推荐
齐潇宇2 分钟前
Zabbix 7 概述与配置
linux·zabbix·监控告警
裴东青1 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
江公望1 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦1 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn2 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫2 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain2 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x2 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复
YuanDaima20482 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
lolo大魔王4 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器