在Redhat / Centos上使用WiKID双因素身份验证保护SSH



使用WiKID双因素身份验证保护RedHat上的SSH

SSH为远程管理服务器提供了高度安全的通道。 但是,如果您对监管或业务需求(如Visa / Mastercard PCI)进行审核,则需要了解可能导致审核头痛的潜在认证相关短缺。 例如:

  • 没有办法控制哪些用户有公钥授权
  • 没有办法强制使用密码复杂性(甚至确保使用密码短语)
  • 没有办法过期公钥

在本文中,我们将演示如何从Redhat上的WiKID配置双因素身份验证 。 WiKID强认证系统是商业/开源双因素认证解决方案。 首先,我们将在WiKID服务器上配置一个域,然后将目标服务器作为网络客户端添加到WiKID服务器,最后使用pam-radius配置Redhat框。

我们假设您的服务器已启动并运行,您可以在环境中实施双因素身份验证。


向WiKID服务器添加域

创建网络客户端

保存域信息后,单击网络客户端选项卡和创建新的网络客户端 。 在内部网络上输入此客户端的名称和SSH网关的IP地址。 选择Radius作为协议和您上面创建的域作为域。

单击添加以获取下一页,并输入Radius的共享密码。

您将需要为网络上的每台服务器重复此过程。

在您的Redhat Box上配置SSH

现在我们将在目标机器上配置SSH。 每个linux的风格都会略有不同。 本教程介绍如何在Redhat上安装双重身份验证的pam-radius。

首先,下载源文件的tar文件。 当前版本是1.3.17

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

解压文件:

$ tar -xzvf pam_radius-1.3.17.tar.gz

安装pam-devel:

$ sudo yum install pam-devel

更改到创建的目录并运行make:

$ make

你可能会看到一些错误,但是如果.so被创建,你应该是可以的。 将库复制到正确的位置:

$ sudo cp pam_radius_auth.so /lib/security/

使用您最喜爱的编辑器来通知SSH使用radius进行身份验证。 添加为第一行:

auth enough / lib / security / pam _ radius _auth.so

保存文件并退出。

现在我们需要告诉PAM radius服务器的位置。 在这种情况下,它是WiKID服务器。 (注意:使用半径的另一个好处是通过您的目录路由认证请求 - LDAP或AD进行授权,我们强烈建议。)

编辑或创建您的/ etc / raddb / server文件。 这里有一个例子。

$ sudo vim /etc/pam_radius_auth.conf

编辑“其他服务器其他机密3”替换“其他服务器”的IP地址或主机名您的WiKID强认证服务器(或半径服务器,如果您有一个设置在WiKID和您的服务器之间),并更改'其他 - 这个网络客户端的共享密钥。

现在,你已经准备好测试了。 我建议你在测试时运行'tail -f / var / log / secure'。

请注意,我们尚未对帐户设置进行任何更改,因此用户希望在计算机上拥有本地帐户,也可以配置帐户以使用pam_ldap并将其指向AD / LDAP服务器。

远程SSH现在非常安全。 没有用户可以在没有从WiKID服务器获取一次性密码的情况下访问服务器。 身份验证的两个因素是拥有WiKID令牌(它是加密密钥)和PIN的知识。 由于PIN在WiKID服务器上得到验证,所以禁用用户非常简单。 一切都记录在案,任何审核员都应该很高兴。

另外,您可能需要在内部机器上使用WiKID一次性密码进行根访问。 只需创建一个su的新域,并适当地编辑/etc/pam.d/su。 这也将允许您将服务器分成不同的组进行管理。 只需创建例如,如果您有一组用于HR的服务器,只有某些管理员具有根访问权限,则可以为特定的WiKID域配置它们,从而允许精细的访问控制和强大的身份验证。 从WiKID网站获取有关双因素身份验证的更多信息

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏