突然资讯网
首页 >> 科技 >> 正文

还需要你的密码才可以访问你的系统

日期:2021-02-27 09:50:14 来源:互联网 编辑:小狐 阅读人数:352

随着时代的发展,传统的用户名和密码验证已被证明不能为应用程序和强大的安全性。简单的用户名和密码可以被多种工具轻松破解,从而使容易受到。因此,任何认真对待安全性的公司或实体都需要实施 2-Factor authentication,字面意思是双因素认证,也称为双重认证。

通常称为 MFA Multi-Factor Authentication多因素身份验证双因素身份验证了额外的安全层,要求用户在使用通常的用户名和密码进行身份验证之前或之后某些细节,如代码或OTP一次性密码

现在,有多家公司(例如Google,Facebook,Twitter和AWS)为用户选择设置MFA来进一步保护其帐户的选择。

在本指南中,我们演示了如何在Ubuntu上使用双重身份验证。

还需要你的密码才可以访问你的系统(图1)

第1步:安装Google的PAM软件包

首先,安装Google PAM软件包。PAM是可插入身份验证模块的缩写,是一种在Linux平台上额外身份验证层的机制。

该软件包托管在Ubuntu存储库中,因此请继续并使用apt命令按如下所示安装它:

出现提示时,按“ Y”按Enter以继续安装。

还需要你的密码才可以访问你的系统(图2)

第2步:在智能手机上安装Google 身份验证器

第3步:在Ubuntu中配置Google PAM

安装设置好Google 身份验证器后,我们将通过修改/etc/pam.d/common-aut件,在Ubuntu上继续进行配置,并配置Google PAM软件包,如下所示。

将下面这行代码追加到文件中。

auth required pam_google_authenticator.so

保存文件并退出。

还需要你的密码才可以访问你的系统(图3)

现在,运行以下命令初始化PAM。

会在您的终端屏幕上出现几个问题。首先,将询问您是否要使身份验证令牌基于时间( Time-based

基于时间的身份验证令牌会在特定时间后过期。默认情况下,这是在30秒之后,之后会生成一组新的令牌。这些令牌被认为比非基于时间的令牌更安全,因此,将键入“ y”表示“Yes”按Enter。

Secret key 密钥

Verification code 验证码

Emergency scratch codes 应急备用验证码,手机不在身边可以使用,不过一个码只能用一次

您需要将此信息保存到Vault中,以备将来参考。如果您丢失了身份验证器设备,则应急备用验证码非常有用。如果您的身份验证设备发生意外事情,请使用代码。

在下一个提示中,将登录限制为每30秒仅登录一次,以防止可能由于中间人攻击而引起的攻击。因此选择“ y”

在下一个提示中,选择“ n”以禁止延长持续时间,该持续时间解决了和客户端之间的时间偏差。除非您遇到时间同步差的,否则这是更安全的选择。

最后,仅对3次登录尝试启用速率限制。

至此,我们已经完成了双因素身份验证功能的实现。实际上,如果您运行任何sudo命令,将提示您输入验证码,您可以从Google 身份验证器应用中获取该验证码。

还需要你的密码才可以访问你的系统(图4)

您可以通过重新启动来进一步验证这一点,一旦进入登录屏幕,将要求您验证码。

还需要你的密码才可以访问你的系统(图5)

在你从Google身份证验证器了你的代码后,还需要你的密码才可以访问你的。

第4步:将SSH与Google身份验证器集成

如果您打算将SSH与谷歌PAM模块一起使用,则需要将两者集成起来。有两种方法可以实现这一点。

SSH密码认证

如果需要对普通用户进行SSH密码认证,首先需要打开SSH默认配置文件。

并将以下属性设置为“yes”如下所示

对于root用户,将“PermitRootLogin”属性设置为“yes”

PermitRootLogin yes

保存文件并退出。

接下来,修改SSH的PAM规则

追加以下行

auth required pam_google_authenticator.so

最后,重新启动SSH服务以使更改生效。

在下面的示例中,我们从Putty客户端登录到Ubuntu。

对于SSH公钥身份验证

如果您使用的是公钥身份验证,请重复上述步骤并添加/etc/ssh/sshd_config文件底部显示的行。

AuthenticationMethods publickey,keyboard-interactive

添加以下行。

auth required pam_google_authenticator.so

保存文件并重新启动SSH服务,如我们先前所见的图例。

本文相关词条概念解析:

身份验证

身份验证又称“验证”、“鉴权”,是指通过一定的手段,完成对用户身份的确认。

密码

密码是一种用来混淆的技术,它希望将正常的(可识别的)信息转变为无法识别的信息。密码在中文里是“口令”的通称。登录网站、电子邮箱和银行取款时输入的“密码”其实严格来讲应该仅被称作“口令”,因为它不是本来意义上的“加密代码”,但是也可以称为秘密的号码。

网友评论