无需改 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 官方文档
相关推荐
dashizhi20151 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
内卷焦虑人士1 小时前
Windows安装WSL2+Ubuntu 22.04
linux·windows·ubuntu
卷福同学2 小时前
【养虾日记】QClaw操作浏览器自动化发文
运维·人工智能·程序人生·自动化
woho7788993 小时前
不同网段IP的网络打印机,打印、扫描设置
运维·服务器·网络
耗子会飞3 小时前
小白学习固定VM虚拟机的centos服务器的IP
运维·服务器·centos
dddddppppp1233 小时前
qemu模拟的一个内核驱动 io口中断
linux
程序员老赵3 小时前
超全 Docker 镜像源配置指南|Windows/Mac/Linux一键搞定,拉镜像再也不卡顿
linux·后端·容器
门豪杰4 小时前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
总要冲动一次4 小时前
离线安装 percona-xtrabackup-24
linux·数据库·mysql·centos