无需改 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 官方文档
相关推荐
镜子AI2 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo2 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
HideF3 小时前
Linux sudo
linux
FlightYe3 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎4 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
知已难寻5 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning5 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
牛马鸡niumasi5 小时前
【Linux】C语言文件操作
linux
say_fall5 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii6 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器