使用WiKID双因素身份验证在Ubuntu上确保SSH安全
SSH为远程管理服务器提供了高度安全的通道。 但是,如果您对监管或业务需求(如Visa / Mastercard PCI)进行审核,则需要了解可能导致审核头痛的潜在认证相关短缺。 例如:
- 没有办法控制哪些用户有公钥授权
- 没有办法强制使用密码复杂性(甚至确保使用密码短语)
- 没有办法过期公钥
此外,SSH密钥工作非常好,但不适用于其他服务。 我们最近向您展示了如何向Apache添加双因素身份验证 。 将Radius用于SSH意味着我们越来越接近为您的组织使用单一的标准身份验证协议。 我们将在以后的教程中看到,这种标准化使身份管理变得更加容易和安全。
在本文档中,我们将演示如何将来自WiKID的双因素身份验证与Ubuntu上的SSH的PAM进行组合。 WiKID强认证系统是商业/开源双因素认证解决方案。 首先,我们将在WiKID服务器上配置一个域,然后将目标服务器作为网络客户端添加到WiKID服务器,最后通过pam-radius配置Ubuntu精确框。 此文档还将作为其他教程的基础,因为Linux上的许多服务使用PAM进行身份验证。
WiKID强身份验证服务器可用于Ubuntu 。 请参阅.deb软件包的安装说明和完整的安装手册 。 我们假设您的服务器已启动并运行,您可以在环境中实施双因素身份验证。
向WiKID服务器添加域
创建网络客户端
保存域信息后,单击网络客户端选项卡和创建新的网络客户端 。 在内部网络上输入此客户端的名称和SSH网关的IP地址。 选择Radius作为协议和您上面创建的域作为域。
单击添加以获取下一页,并输入Radius的共享密码。
您将需要为网络上的每台服务器重复此过程。
在您的Ubuntu Box上配置SSH
现在我们将在目标机器上配置SSH。 每个linux的风格都会略有不同。 本教程介绍如何在Ubuntu上安装双因素身份验证的pam-radius。 有关如何在Redhat风格上安装pam-radius的说明, 请参阅此页面 。
首先,安装包:
$ sudo apt-get install libpam-radius-auth
这是非常无痛的。 现在我们来配置它。 首先让我们告诉pam_radius哪个半径服务器要谈:
$ sudo vim /etc/pam_radius_auth.conf
请注意,该文件说要将其复制到/ etc / raddb / server
,但不要这样做。
编辑“other-server; other-secret 3”行; 用WiKID强身份验证服务器的IP地址或主机名替换“其他服务器”(如果您在WiKID和服务器之间设置了一个,则为半径服务器),并更改“网络客户端”的共享密码。
现在,该软件包已设置并指向您的WiKID服务器,让我们配置一个服务来使用它。
编辑您的/etc/pam.d/sshd
文件
$ sudo vim /etc/pam.d/sshd
并添加行:
auth sufficient pam_radius_auth.so
就在上面:
# Standard Un*x authentication. @include common-auth
现在,你已经准备好测试了。 我建议你在测试时运行'tail -f /var/log/auth.log'。
请注意,我们尚未对帐户设置进行任何更改,因此用户希望在计算机上拥有本地帐户,也可以配置帐户以使用pam_ldap并将其指向AD / LDAP服务器。
远程SSH现在非常安全。 没有用户可以在没有从WiKID服务器获取一次性密码的情况下访问服务器。 身份验证的两个因素是拥有WiKID令牌(它是嵌入在令牌中的加密密钥)以及PIN的知识。 由于PIN在WiKID服务器上得到验证,所以禁用用户非常简单。 一切都记录在案,任何审核员都应该很高兴。
另外,您可能需要在内部机器上使用WiKID一次性密码进行根访问。 只需创建一个su的新域,并适当地
编辑/etc/pam.d/su。 这也将允许您将服务器分成不同的组进行管理。 只需创建例如,如果您有一组用于HR的服务器,只有某些管理员具有根访问权限,则可以为特定的WiKID域配置它们,从而允许精细的访问控制和强大的身份验证。 从WiKID网站获取有关双因素身份验证的更多信息 。