如何在Ubuntu14.04上使用双重身份验证保护您的WordPress帐户登录
介绍
安全性是运行 WordPress 网站最重要的方面之一。 我们中的许多人倾向于认为黑客不会打扰我们的网站,但实际上未经授权的登录尝试是在公共 Internet 上运行服务器的常见部分。
在本教程中,我们将学习如何在 WordPress 的登录过程中添加 额外的安全层 :双因素身份验证。 这是网络安全领域最重要的发展之一。
登录站点或系统时,双因素身份验证或“2FA”包含两个步骤:
- 您的用户名和密码
- 称为 一次性密码 (OTP) 的随机生成的与时间相关的代码(即代码在固定持续时间后过期)
您可以通过多种方式访问 OTP:
- 短信
- 电话
- 电子邮件
- 离线,通过移动应用程序
虽然银行和交易账户等高风险系统使用 SMS 传递进行敏感交易,但我们将使用 离线模式 生成 OTP。 使用移动应用程序是免费的,并且在高可用性、实施成本和易用性之间取得了最佳平衡。
目标
安装并启用双重身份验证后,WordPress 将拥有更安全的登录过程。
除了输入您的用户名和密码登录外,您还需要输入由移动应用程序生成的密码。 这意味着即使您的 WordPress 凭据被泄露,黑客也无法在没有您的手机的情况下登录 WordPress。
在本教程结束时,我们还将介绍一种防故障恢复技术,以防您丢失手机。 让我们开始!
先决条件
我们需要在 DigitalOcean Droplet 上安装 WordPress 的功能。 虽然您可以针对现有的 WordPess 安装调整本教程,但它已经过专门测试:
DigitalOcean 自己的 WordPress 1-click image 是另一种作为起点的选择。
- 您还需要访问运行 iOS 或 Android 的移动设备,您可以在其中安装 FreeOTP 移动应用程序
第 1 步 — 安装 Google Authenticator 插件
在这一步中,我们将为我们的 WordPress 网站安装 Google Authenticator 插件。
安装插件的最简单方法是通过 WordPress 仪表板。 立即登录您的 WordPress 仪表板。
请按照以下步骤进行顺利安装:
- 在仪表板中,转到 Plugins > Add New
- 在 搜索 字段中,输入
google authenticator
- 这将加载几个与查询名称匹配的插件
- 安装由 Henrik Schack 称为 Google Authenticator 的插件
- 安装完成后,选择 Activate Plugin 链接
注意: 如果这是您第一次为此 WordPress 实例安装插件,您可能需要输入您的 SSH 凭据。 输入您的 Linux sudo 用户 用户名和密码(或为了更高的安全性,上传公钥),然后选择 SSH2 选项。
(可选)手动安装插件
或者,您也可以手动下载插件并激活它。 我们将在下面描述这些步骤。
登录到您的 DigitalOcean Droplet 并导航到您的 plugins
目录:
cd /var/www/html/wp-content/plugins/
注意: 在本教程中,我们按照 本教程 中的设置将 WordPress 安装在
/var/www/html/
目录中。 如果您使用不同的设置,请确保输入安装 WordPress 的正确目录。
接下来,我们从 WordPress 存储库下载插件:
wget https://downloads.wordpress.org/plugin/google-authenticator.0.47.zip
注意: 在撰写本文时,Google Authenticator 插件的最新版本是 0.47 版。 请确保您安装的是最新版本。
第 2 步 — 下载 FreeOTP 应用程序
在这一步中,我们将在我们的移动设备上下载并安装 FreeOTP 应用程序。
FreeOTP 是一个开源应用程序,它支持对具有一次性密码协议的系统进行双重身份验证。 换句话说,它是 Google Authenticator 的替代品。 我们将使用这个应用程序来生成我们的一次性密码来登录我们的 WordPress 网站。
FreeOTP 由 RedHat 赞助,拥有适用于 Android 和 iOS 的应用程序。 以下是获取该应用程序及其官方项目的链接。
第 3 步 — 为您的个人资料激活身份验证器插件
在这一步中,我们将为管理员 WordPress 配置文件激活 WordPress 插件,并将其配置为与我们的 FreeOTP 应用程序一起使用。
在 WordPress 仪表板中,转到 用户 > 您的个人资料 下的 个人资料 页面。 找到名为 Google Authenticator Settings 的子部分。
我们来看看插件的各种配置选项:
- Active: 勾选此框激活插件
- Relaxed: 这将进入 OTP 的时间限制从 10 秒增加到 4 分钟。 如果您在指定时间内无法复制 OTP,请启用此功能
- 描述: 输入一个名字(最好是你博客的名字)。 此值将显示在您移动设备上的 FreeOTP 应用程序中
- 显示/隐藏二维码:点击此按钮显示二维码
连接 FreeOTP 应用程序
在您的手机或平板电脑上启动 FreeOTP 应用程序。
单击应用程序中的小 QR 码图标。 拿着手机扫描 WordPress 中的二维码,该二维码现在应该显示在您的计算机屏幕上。
您应该会立即在 FreeOTP 中看到一个指定为 WordPress 的条目,并在其下方的 Description 中输入文本。 这意味着我们已经成功地将我们的 WordPress 网站链接到 FreeOTP 应用程序。
保存更改: 最后,我们必须保存到目前为止所做的更改。 在 WordPress 中,滚动到页面底部,然后单击 Update Profile 按钮。
第 4 步 - 测试登录
在此步骤中,我们将验证是否启用了双因素身份验证。
退出您的 WordPress 站点,然后再次尝试登录。 您应该会看到相同的登录屏幕,外加一个 Google Authenticator 代码 输入框。
在您的移动设备上启动 FreeOTP 应用程序。 单击 WordPress 按钮以生成新的一次性密码。
在输入框中键入该值。 您应该能够登录 WordPress。
为其他用户启用双重身份验证
您可以(并且应该)为有权访问您的 WordPress 安装的其他用户启用双重身份验证。 确保他们在设置时可以方便地在自己的移动设备上安装 FreeOTP!
帐户恢复
如果您丢失了手机,那么您将被锁定在您的 WordPress 网站之外。 这是实施两因素身份验证的主要缺点。 值得庆幸的是,对于这种情况,我们有一个 非常简单的修复 。
您所要做的就是禁用 Google Authenticator 插件。
启动 DigitalOcean Droplet 的外壳并导航到 plugins
目录。
cd /var/www/html/wp-content/plugins/
将 google-authenticator
文件夹重命名为其他名称。
mv 'google-authenticator' 'deactivate-plug-google-authenticator'
这会停用插件,因为 WordPress 将无法找到插件的工作目录。
接下来,照常登录您的 WordPress 帐户。 这一次,它不会要求额外的令牌,只要求您的普通密码。
一旦您可以访问 WordPress 管理员仪表板,并恢复您的旧设备或获得安装了 FreeOTP 的新设备,您需要启用插件增益。 在 Droplet 的外壳中,使用以下命令:
mv 'deactivate-plug-google-authenticator' 'google-authenticator'
如果您使用的是旧设备,那应该就是您所需要的。 您可以再次按照Step 4测试登录过程。 或者您可能需要转到 WP Dashboard > Plugins > Installed Plugins 并再次激活 Google Authenticator 插件。
转到您的用户个人资料,在 用户 > 您的个人资料 下,找到 Google 身份验证器设置 子部分。
如果您这次使用的是新设备,请单击 创建新密钥 。 生成一个新的二维码,旧的二维码无效。 扫描您的 new 设备上的新二维码。 这与我们激活双因素身份验证并连接 FreeOTP 应用程序时所做的相同,如 Step 3 所示。
或者,您可以禁用双重身份验证,直到找到您的设备。 选择适当的选项后,请确保单击 Update Profile 按钮保存更改。
结论
集成双因素身份验证是提高 WordPress 网站安全性的绝佳一步。 现在,即使攻击者获得了您的帐户凭据,他们也无法在没有 OTP 代码的情况下登录您的帐户! 当您找不到手机时,灾难恢复技术很有帮助。
WordPress 管理员还应该采取哪些其他安全措施? 在下面的评论中分享您的想法!