无需改 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 官方文档
相关推荐
GeW14 小时前
2026新质生产力路线图:Linux、数据库与智能算力融合报告
linux
AR-26710-14 小时前
Linux Day19——日志轮转
linux·运维
分布式存储与RustFS14 小时前
rclone 与 mc mirror:S3 对象存储同步,限速、过滤、断点续传实测对比
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
祖力5514 小时前
驱动工程搭建与字符设备驱动框架
linux·运维·服务器·内核·arm·imx6ull·驱动
发量惊人的中年网工15 小时前
SD-WAN 组网方案怎么选?跨地域与多分支企业的选型指南(含成本对比)
服务器·网络·数据库
第25小时记录15 小时前
[2026] Linux安装教程
运维·python
斯晨的AI笔记15 小时前
在服务器上跑 npm ci 四十分钟没装完,我打包把 node_modules 扔了过去
服务器·node.js
曦樂~15 小时前
Symmetric Ciphers对称加密
运维·服务器
mister_guo16 小时前
Elasticsearch:原理、Docker 安装与常用命令
大数据·运维·elasticsearch
Escalating_xu16 小时前
【Linux 网络编程】网络基础概念(下):IP、端口、Socket 与网络字节序,写代码前先打好基础
linux·网络·tcp/ip