如何在 Ubuntu 和 CentOS 上使用 pam-radius 配置 sudo 进行双因素身份验证如何在 Ubuntu 和 CentOS 上使用 pam-radius 配置 sudo 进行双因素身份验证如何在 Ubuntu 和 CentOS 上使用 pam-radius 配置 sudo 进行双因素身份验证如何在 Ubuntu 和 CentOS 上使用 pam-radius 配置 sudo 进行双因素身份验证
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 和 CentOS 上使用 pam-radius 配置 sudo 进行双因素身份验证

在此页

  1. 在 Centos/RHEL 上配置 sudo 以进行双因素身份验证
  2. 在 Ubuntu 上配置 sudo 以进行双因素身份验证

攻击者在渗入您的网络后,经常使用丢失、被盗、弱或默认凭据来提升他们的权限。虽然双因素身份验证可以大大减少渗透,但还有其他获取入口的方法,例如恶意软件。本教程展示了如何将 radius 添加到 Centos 7 和 Ubuntu 14.04 的 sudo,以使用 WiKID 强身份验证服务器进行双因素身份验证。使用 pam-radius 很好,因为它允许您插入 radius 服务器,例如 Windows 上的 Freeradius 或 NPS,因此您可以在您的目录中执行授权,然后针对单独的双因素身份验证服务器进行身份验证。在中央目录中管理您的用户是一种非常好的安全做法。请注意,由于我们使用的是 RADIUS,因此此基本设置适用于所有企业级 2FA 系统。

在 Centos/RHEL 上配置 sudo 以进行双因素身份验证

我们将从 RHEL/Centos 7 开始。安装先决条件:

sudo yum -y install make gcc pam pam-devel

获取最新的 PAM RADIUS 代码(撰写本文时为 1.4):

wget ftp://ftp.freeradius.org/pub/radius/pam_radius-x.x.x.tar.gz

构建库:

tar -xzvf pam-radius-x.x.x.tar.gz
cd pam-radius-x.x.x
sudo ./configure
sudo make

将库复制到正确的位置:

cp pam_radius_auth.so /lib/security/

或者对于 64 位:

cp pam_radius_auth.so /lib64/security/

创建配置目录,复制名称服务器下的配置文件:

sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server

编辑 /etc/raddb/server 并将您的 radius 服务器 IP 和共享密钥添加到此文件。

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP    secret       3
#
# having localhost in your radius configuration is a Good Thing.

(请注意,虽然我们最终希望 radius 进入循环,但您也可以将您的 WiKID 服务器用作 radius 服务器,将此 Centos 盒子添加为 WiKID 上的网络客户端,重新启动 WiKID 并完成或至少您可以通过这种方式进行测试。一路上做一些小测试总是一个好主意,一定要删除它们。)

接下来,我们需要告诉 sudo 使用 radius。编辑文件 /etc/pam.d/sudo 并将 \auth include system-auth\ 替换为:

auth       required      pam_radius_auth.so

这就是 Centos/RHEL 7 盒子。同样的设置也适用于 5 和 6。

在 Ubuntu 上配置 sudo 以进行双因素身份验证

接下来是 Ubuntu 14.04 服务器。首先,安装 pam-radius:

sudo apt-get install libpam-radius-auth

通过编辑 /etc/pam_radius_auth.conf 使用 NPS 服务器配置它。所以它和上面一样:

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP   secret       3
#
# having localhost in your radius configuration is a Good Thing.

编辑 /etc/pam.d/sudo 文件并在 comm-auth 行上方添加 auth sufficient pam_radius_auth.so 行:

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_radius_auth.so
@include common-auth
@include common-account
@include common-session-noninteractive

那是针对 Ubuntu 服务器的。

现在,无论何时管理员尝试使用 sudo,他们都必须输入一次性密码。 PAM 会将用户名和 OTP 转发到您的 radius 服务器或您的 WiKID 服务器进行验证。

对管理帐户使用双因素身份验证是保护网络安全的强大工具。它甚至可能成为 PCI DSS 要求的一部分。

©2015-2025 艾丽卡 support@alaica.com