密码仍然是不同在线服务中典型的身份验证形式,近年来它变得越来越流行,甚至迫使我们配置第二个身份验证因素,因此我们必须输入密码(我们知道的东西)和由身份验证器应用程序(我们拥有的东西)。 为了保护数字身份,Telefónica 的十一路径团队开发了 Latch 工具,这是一种安全附加工具,用于保护我们安装在家里或公司中的银行账户、社交网络、SSH 和 OpenVPN 服务器,以及我们可以提供的许多其他服务配置。 今天在本文中,我们将解释如何配置多一层安全性,并根据需要或在特定时间阻止对不同服务的访问。
什么是 Latch,它的用途是什么?
锁存器 是一个允许我们为数字身份添加额外保护层的系统,我们有一个智能手机应用程序,允许我们生成临时一次性代码,就像任何其他身份验证器应用程序(临时一次性密码)一样,但它也允许我们阻止按需对帐户的完全访问。 例如,假设在晚上我们不会连接到某个服务,例如 SSH 服务器或 OpenVPN 服务器,我们可以对 Latch 进行编程,以阻止访问(即使输入正确的凭据),直到我们解锁那个“锁”。 ”的安全性。 如果我们将这个系统集成到我们的 WordPress、Drupal 和许多其他与之兼容的软件中,也会发生同样的事情。
如果网络犯罪分子能够掌握我们的凭据、用户名和密码,并通过某种方式“捕获”临时一次性代码,他们甚至无法登录,直到我们使用应用程序“打开”锁. 此外,如果检测到访问尝试,我们的智能手机上会弹出一个推送通知,指示有登录尝试,无论是合法的(是我们)还是不合法的(不是我们的人) )。
这个工具的操作类似于两步认证,但又不一样,因为Latch允许我们完全阻止对服务的访问,直到我们决定解除阻止服务并登录。通过程序员,我们有可能打开或关闭对不同服务的访问,在我们不需要访问它们时将它们“锁定”,从而减少展览面积。 官方应用程序 Android 和 iOS 允许我们生成 OTP 代码(一次性密码)以增加额外的安全性,此外,我们还可以从 Google 注册不同的 TOTP 代码, 微软 以及在两个步骤中使用身份验证的任何服务。
在以下方案中,您可以看到 Latch 如何以简化的方式工作:
目前 Latch 兼容大量软件来添加这个安全层,例如我们可以在以下操作系统中配置它来登录:
- Linux
- Unix的
- FreeBSD的
- 家庭版、专业版和服务器版的 Windows
- macos
- OpenBSD系统
我们还可以将其集成到以下服务中:
- Drupal的
- 教程
- 詹金斯
- 的Joomla
- 情绪
- OpenLDAP的
- OpenVPN的
- ownCloud
- OpenSSH的
- phpMyAdmin的
- 的Prestashop
- WordPress的
如您所见,我们与大量软件完全兼容,因此我们将能够保护大量服务和设备,增加这一额外的安全层。
注册为开发者
为了能够将 Latch 用作客户端,我们只需下载适用于 Android 和 iOS 的应用程序,我们在官方提供了它们 Google Play 商店和 App Store。 下载后,您必须按照服务的步骤将帐户与应用程序配对。
如果您打算将此服务集成到您的操作系统或您自己的服务中,那么您必须注册为开发人员,为此您需要 访问Latch开发者官网 . 进入后,您将能够看到有关该服务的最新消息以及我们想要获得的订阅,但是,我们有一个完全免费供个人使用的“社区”版本,并且与“银”相比有一定的限制、“黄金”版本和“白金”版本。
注册是完全免费的,并且是系统启动所必需的,尽管您必须考虑到“社区”帐户的限制,这是唯一完全免费的,它包括以下内容:
我们只需点击“报名参与”按钮,然后我们将按照注册步骤进行操作,完成后,我们必须使用刚刚创建的凭据登录:
一旦我们已经注册,如果我们想在我们的服务器上配置 Latch,无论是 OpenSSH、OpenVPN 还是我们拥有的 WordPress,我们必须从控制面板创建“应用程序”,您必须考虑到该服务支持几乎所有的操作系统和大量的软件,你可以直接在“插件和SDK”部分看到这个:
使用 Latch 创建应用
在管理网络的左侧,我们有一个名为 « 我的申请 «。 在本节中,我们可以创建一个新应用程序,对其进行编辑,也可以随时删除它。
我们必须做的第一件事是点击“ 添加新应用程序”,以便稍后在我们想要的服务中使用它。
现在我们必须指出我们希望服务拥有的应用程序的名称,例如,如果我们要保护我们服务器上的 OpenSSH SSH 服务器,我们必须给它一个描述性名称以便轻松找到它,在我们的在这种情况下,我们称之为“OpenSSH-this article”应用程序。
通过单击添加应用程序,它会将我们带到一个新菜单,我们可以在其中给它一个图像,配置是否需要第二个身份验证因素(一次性密码),它还将向我们显示应用程序 ID,我们必须的秘密使用,也是我们给应用程序的名称。
这里最重要的是选择的可能性 第二个身份验证因素 ,一个OTP密钥(一次性密码),我们将被要求提供在移动终端中随机生成的密钥。 这是为我们的服务添加一层安全性的理想选择,但它并不总是有效,这取决于我们将要集成它的服务。 例如,在 OpenVPN 中,由于虚拟专用网络服务器本身的架构,我们无法使用此 OTP,但在 OpenSSH 中,可以毫无问题地使用此 OTP。
在下半部分我们可以放管理员的联系方式,他的 邮箱地址 和联系电话号码,以便在最终用户收到的警报中显示它,但是,这些数据是完全可选的。
当我们根据需要配置应用程序后,单击“保存更改”,我们将访问主菜单,我们将在其中拥有不同的应用程序。 我们将能够编辑、删除应用程序或访问控制面板,我们将在其中看到登录尝试和其他与安全相关的信息。
关于控制面板,它将向我们显示非常重要的数据,例如与该特定应用程序配对的用户数量,我们还可以看到被阻止的访问尝试以及更多重要信息,以保护我们的帐户。
一旦我们创建了我们的应用程序,我们只需要在我们的服务中实现功能,无论是 WordPress、OpenSSH、OpenVPN 还是任何其他兼容的服务。
使用 Latch 保护 Linux 系统
现在我们知道了 Latch 是如何工作的,我们知道了如何创建一个应用程序并在控制面板中查看它的状态,我们将继续配置一个 Linux 操作系统,无论是 Debian, Ubuntu 或衍生产品,使用此服务可以在操作系统中进行身份验证时对其进行控制访问。 我们必须记住,这项服务是一项额外的安全措施,它不会取代系统中良好的密码策略或良好的安全策略,它是一个额外的补充。
注册后,我们必须 进入 Telefónica 官方 GitHub Unix 操作系统中用于身份验证的插件所在的位置(Linux 也是如此,例如 Debian 或 Ubuntu)。 下载 .ZIP 后,我们将继续复制它并将其解压缩到我们要确保操作系统身份验证的系统中。 我们必须做的第一件事是安装典型的 gcc、make,当然还有必要的库。
安装和调试
我们要执行的所有命令对于使用超级用户权限执行都是完全必要的,因此我们将“sudo”放在所有命令中。 您还可以执行“sudo su”,因此我们以 root 身份执行所有内容,而前面没有“sudo”。 我们安装 gcc、make 和所有相关库:
sudo apt install gcc make libpam0g-dev libssl-dev libcurl4-openssl-dev
当我们安装所有必要的东西时,我们进入操作系统中的 Latch 文件夹进行身份验证,进入“Python”文件夹并将文件latch-model.conf 重命名为latch.conf
cd python/
mv latch-model.conf latch.conf
现在我们运行名为“install”的文件,如下所示:
sudo ./install
它将开始编译我们的发行版所需的内容,稍后它将安装它,在以下屏幕截图中,您可以看到此过程:
建议安装后重新启动操作系统:
sudo reboot
系统重新启动后,我们继续进行配置。
现在我们需要使用开发者网站上的应用程序 ID 和机密信息来编辑latch.conf 文本文件。
nano latch.conf
我们使用以下信息编辑文件:
# Configuration file for the latch PAM plugin
# Identify your Application
# Application ID value
app_id = gtqXsLbAFMhxRnvh2kQg
#Secret key value
secret_key = WC22zULbZWFED22mGyq8xBkcQHVcCtBqHJbeF866
接下来,您可以看到如何编辑它的屏幕截图:
编辑完成后,我们保存并关闭,现在我们必须将移动设备与 Latch 配对,系统将开始工作。
将应用程序与系统链接
一旦我们在我们的移动设备上安装了应用程序,我们运行它,将出现一个向导,告诉我们它是如何工作的以及应用程序的用途。 在此向导之后,我们可以登录应用程序或注册新用户(如果我们之前没有注册过)。
现在我们将获得一个配置向导来配对第一个服务,单击底部为我们提供代码并将手机与Linux操作系统身份验证服务配对。
在系统中,我们必须通过终端键入以下命令:
sudo pairSYS CODIGO -f RUTA_ARCHIVO.CONF
在我们的例子中,我们在 /python/ 中,所以我们引入了以下命令:
sudo pairSYS CODIGO -f latch.conf
一旦我们在计算机上执行此命令,就会显示该服务已正确配对,您可以在下面看到确切的消息:
并且会立即自动在我们的移动终端上显示已配对成功的确认信息。
此时我们的操作系统已经与应用程序配对,如果我们进入控制面板,我们将能够看到它:
在移动应用程序中,我们可以随时阻止和解除阻止服务,只需拖动要阻止的服务的挂锁即可。 如果我们不使用它,这允许我们锁定基于 Linux 的计算机或服务器。 如果我们单击名称,我们将能够看到 Latch 移动应用程序提供的主要选项,例如一天中某些时间的编程锁定和其他选项。
如您所见,我们有很多可用的配置选项。
测试性能和安全性
现在我们要模拟我们是一个想要访问我们的操作系统的恶意用户,我们总是关闭闩锁以获得最好的安全性,所以它会通知我们有访问尝试。 如果我们输入系统登录名并输入密码,智能手机上会出现警告,说有人试图在闩锁关闭的情况下访问。
如果我们不解锁服务我们将无法登录,我们会在认证时收到错误,表明密码不正确,所以即使我们输入正确的密码也不会让我们访问。
如果我们进入 Latch 控制面板,我们将看到我们的入侵尝试,这里我们没有任何 OTP 密钥来登录,我们只有配置为具有安全性的“latch”。
这个锁只有在我们要登录操作系统时才会发生,如果我们已经登录并且正在正常使用计算机,它就不起作用。 但是如果我们需要再次进入,我们将不得不重新解锁服务。 如果我们尝试通过终端登录,无论是在本地控制台还是在 SSH 中,如果闩锁被阻止,它将不会让我们登录。
取消配对应用程序并将其从操作系统中删除
如果我们想取消配对应用程序并将其从操作系统中删除,只需执行以下命令:
sudo python unpair.py
在应用程序中,我们可以看到该服务已正确取消配对,并且将不再可用。 要从系统中卸载 Latch,只需转到 python 文件夹并执行以下命令:
sudo python uninstall.py
然后我们必须重新启动操作系统,以便正确应用更改。
sudo reboot
如您所见,Latch 在 Debian 或 Ubuntu 等 Linux 操作系统上运行非常好,非常适合添加另一层安全性。
OpenVPN 服务器的配置
流行的 OpenVPN 服务也与 Latch 兼容,因此我们可以非常轻松快速地保护我们的服务器,这要归功于这项服务。 我们必须做的第一件事是进入 Telefónica 官方 GitHub 我们拥有与之前使用过的插件相同的插件,并且我们需要完全相同的插件才能使其正常工作。 该过程与以前完全相同,我们要做的第一件事是安装安装它所需的一切(如果您以前没有做过)。
我们安装 gcc、make 和必要的库:
sudo apt-get install gcc make libpam0g-dev libcurl4-openssl-dev libssl-dev
一旦我们安装了所有必要的东西,我们继续转到我们解压缩的 Latch for SSH 文件夹并执行名为“install”的文件,如下所示:
sudo ./install
它将开始编译我们的发行版所需的内容,稍后它将安装它,在以下屏幕截图中,您可以看到此过程:
建议在安装后重新启动 OpenVPN 服务:
sudo /etc/init.d/openvpn restart
现在我们必须进行与之前相同的配置,我们将文件latch-model.conf 重命名为latch.conf 并编辑它以包含我们在“我的应用程序”部分中创建的应用程序ID 和密钥。
cd python/
mv latch-model.conf latch.conf
nano latch.conf
它会是这样的:
#
# Configuration file for the latch PAM plugin
# Identify your Application
# Application ID value
app_id = LlUuYfK2d56O4MqJm6rM
# Secret key value
secret_key = gkRgrzHvMROdhtLtHswVqxDQWkv5NkSPu7meB9k7
您可以在下面看到如何编辑它的屏幕截图:
编辑完成后,我们保存并关闭。 现在我们要做的就是将我们的移动设备与系统中的 Latch 配对以开始工作。 对于 Linux 系统,该过程与以前完全相同。
配对后,必须在我们必须连接的 OpenVPN.conf 文件中进行额外配置,我们必须添加以下行:
plugin RUTA_AUTENTICACION_PAM openvpn
在我们的例子中,它看起来像这样,因为我们已经重命名了它:
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn
在配置文件的哪个部分插入这一行并不重要,它通常放在文件的末尾。 安装和配置完所有内容后,如果有人尝试在闩锁关闭的情况下连接到 OpenVPN 服务器,则连接将失败,并且移动设备将收到访问尝试的通知。 当然,我们必须记住,这仅在系统中有 PAM 身份验证时才有效,如果我们使用 TLS 数字证书注册,则由于未使用 PAM,因此它将不起作用。
如果有人尝试连接到 OpenVPN 服务器,如果我们关闭了闩锁,我们将收到以下信息,身份验证错误。
在 Latch 控制面板中,我们还将看到这种入侵尝试:
如果我们想用 Latch 和 OpenVPN 配置第二个用户,我们可以毫无问题地做到这一点,我们只需对我们要创建的另一个新用户再次执行这些步骤。
sudo pairOVPN CODIGO -f latch.conf
如果您想取消订阅配对用户并卸载所有内容,您只需按照以下步骤操作:
sudo python unpair.py
sudo python uninstall.py
然后我们将不得不重新启动 OpenVPN 服务,以使一切再次正常运行。
如果您想使用 Latch 配置 OpenSSH 服务器,该过程通常与 Linux 完全相同,因为 OpenSSH 本身也使用 PAM 来验证客户端。
结论
Latch 是我们数字身份的额外安全措施,虽然我们目前没有很多公共服务将其用作身份验证的第二个因素,但我们确实有插件和将其合并到我们自己的服务器中所需的一切,以便添加多一层安全保障。 由于与 Linux 或 FreeBSD 操作系统等兼容,我们将能够通过添加第二个因素来充分保护这些系统,此外,它还兼容 OpenSSH 和 OpenVPN,这两个典型的软件用于设置SSH 和 VPN 服务器,分别。
Latch 的另一个非常积极的方面是我们可以在 TOTP(临时一次性密码)部分注册不同的服务,例如,我们可以注册 Google 帐户、Dropbox、PayPal、 Facebook 或我们需要身份验证器应用程序作为第二个身份验证因素的任何其他服务。 好消息是,使用我们的 Latch 帐户,我们将能够访问所有令牌,如果我们更改手机,我们不需要重新配置所有内容,我们只需将它们与我们的帐户一起放入服务中,因为它们是直接同步的与电话中的云。