如何使用双重身份验证保护 Linux Ubuntu

恶毒的黑客和信息安全专业人士之间永远存在的战争仍在继续。 根据一个 劳工统计局进行的研究,信息安全工作的预计增长率远高于所有其他职业。 作为无辜的旁观者,我们可以采取一些措施来阻止坏人。

图片来源:designer491 via Shutterstock

两因素身份验证 (2FA) 已经存在了一段时间。 它要求使用两种身份验证方法来验证用户的身份。 这通常包括常规用户名和密码,以及通过短信发送到您的移动设备的验证码。 这意味着即使您的密码被泄露(如何使您的密码更强大),恶作剧的黑客也需要访问您的移动设备才能完全访问您的帐户。

有报道称,一些讨厌的人伪装成移动运营商并声称“放错”了他们的 SIM 卡以获取受害者的手机号码。 这仍然证明还有改进的余地,但 2FA 也超出了短信验证的范围。 本指南将帮助在 Ubuntu 服务器和桌面版本上设置增强的安全性,并结合 Google Authenticator 进行双重身份验证。

注意事项和先决条件

设置此项意味着系统的所有用户在以下情况下都需要来自 Google Authenticator 的验证码:

  • 登录系统
  • 跑步 sudo 命令

虽然这里的权衡是时间,但增加的安全层可能至关重要。 特别是在存放敏感数据的机器上。 本指南将使用:

  • Ubuntu 16.04(桌面或服务器)
  • Google Authenticator App(来自 Google Play Store 或 Apple App Store)

安装谷歌身份验证器

如前所述,我们将使用 Google Authenticator 作为第二道防线,防止未经授权的访问。 让我们先完成等式的移动部分。 安装步骤与安装任何其他应用程序完全相同。 以下此安装步骤适用于 Google Play 商店,但在 Apple App Store 中不应有所不同。

在您的 Android 设备上打开 Google Play 商店,然后搜索 谷歌身份验证器. 找到并点按正确的条目,注意它是由 Google Inc. 发布的。然后点按 安装, 和 接受 出现提示时,等待安装完成。

接下来,在您的桌面或服务器上启动一个终端会话。

运行以下命令:

sudo apt-get install libpam-google-authenticator

出现提示时,输入您的密码并点击 Enter. 如果出现提示,请键入 并击中 Enter 再次,然后坐下来让安装完成

配置

您现在需要编辑一个文件,为您宝贵的 Linux 机器添加两步验证。 运行以下命令:

sudo nano /etc/pam.d/common-auth

不远处寻找以下行:

auth [success=1 default=ignore] pam_unix.so nullok_secure

在该行的正上方,添加以下内容:

auth required pam_google_authenticator.so

您的文件应如下所示:

Ctrl + X 其次是 保存和 close 文件。

设置每个用户

下一步最终会将您的帐户链接到 Google Authenticator。 需要为登录到您系统的所有用户运行此步骤。 我们的 example 只有一个用户, 弥补. 但是,对于您系统上的任何其他用户,这些步骤都是相同的。

在您的终端中运行以下命令:

google-authenticator

仔细查看所提供的内容,我们发现:

  • 一个二维码
  • 一个验证码
  • 一个新的密钥
  • 5个紧急刮码

QR 码和密钥几乎具有相同的功能。 我们稍后会回到这些。 验证码是一次性使用码,如有必要,您可以立即使用。 刮刮代码是一次性使用代码,可在您手头没有移动设备的情况下使用。 您可以将它们打印出来并将它们存储在热核锁和钥匙下,或者直接忽略它们。 最终,这将取决于您忘记或丢失移动设备的可能性。

您还将被问及一系列问题。 默认值绰绰有余,您可以回答 对他们所有人。 但是,请随意根据需要更改这些。 别 close 窗口或终端会话。

设置移动应用程序

在继续使用任何其他用户之前,让我们完成您当前登录的用户。

如果这是第一次在您的移动设备上启动 Google 身份验证器,请单击 开始. 或者,从主窗口单击底角的加号图标。 如果您的终端窗口的分辨率足够好,可以看到二维码,请选择 扫描条码 或者 Enter 提供的密钥 如果您的移动设备相机类似于土豆。 如果您选择输入密钥,您现在需要输入帐户名称以帮助您记住与哪个帐户相关。 然后输入终端窗口中提供的验证密钥。 现在刚打 添加.

扫描您的条形码将同时执行这三个步骤。 瞧! 您的移动设备和系统现在有了额外的保护层。 一些不怀好意的人可以访问您的系统的唯一可能方法是他们破解您的密码并访问您配置的移动设备。

最后的步骤和测试

您可能有多个人使用此特定系统。 在我们的 example, 渣滓 是一个额外的用户。 在终端会话中运行以下命令:

sudo su slaghoople

在您的移动设备上打开 Google Authenticator 应用程序。 键入应用程序在终端窗口中提供的六位数验证码。 Enter 您的 sudo 密码并点击 Enter. 您现在应该已登录。作为新用户,发出以下命令:

google-authenticator

您现在可以简单地按照与我们对上述第一个用户所做的完全相同的步骤进行操作。 回答问题后,打开您的 Google Authenticator 移动应用程序。 添加另一个帐户。 Enter 渣滓 作为帐户名称,以帮助您在移动设备上区分两者。 选择扫描条形码或输入验证码。 渣滓 现在将需要与她一起使用移动应用程序中的代码 sudo 用于登录和发出提升命令的密码。 冲洗并重复任何其他用户。 设置完所有用户后,您会注意到尝试登录或运行 sudo 命令需要验证码。

就是这样。 您的 Linux 机器现在比以前更安全。 有些人可能会争辩说这个过程很麻烦。 当然是的! 这才是重点!

您是否有密码泄露并且系统遭到入侵? 您如何保护敏感数据? 您目前是否使用两因素身份验证? 让我们在评论中知道!

图片来源:来自 Shutterstock.com 的 Dave Clark 数码照片