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

攻击者经常使用丢失,被盗,弱或默认凭据在他们渗透到您的网络后升级他们的权限。同时,

攻击者经常使用丢失,被盗,弱或默认的凭据,在他们渗透到您的网络后升级其权限。 虽然双因素身份验证可以大大减少渗透,但还有其他方法可以获得诸如恶意软件的输入。 本教程将介绍如何为Centos 7和Ubuntu 14.04添加半径以进行双重身份验证,并使用WiKID强身份验证服务器 。 使用pam-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/

或64bit:

cp pam_radius_auth.so /lib64/security/

创建配置目录并复制名为'server'的配置文件:

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.

(请注意,尽管我们最终希望在循环中使用半径,您也可以将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 enough 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要求的一部分