使用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网站获取有关双因素身份验证的更多信息 。