标签 认证 下的文章

Fedora 39 通过 SSSD 和 FreeIPA 为集中管理的用户开启了 FIDO2 认证功能。此篇文章将指导你如何进行配置和启用该功能。

FIDO2

FIDO2 是以 公钥加密 为基础的开放式认证标准,比起密码和一次性密码(OTP),它的安全性更高且易用性更强。它通常以类似小型 USB 和基于 NFC 的硬件安全令牌的方式提供。有几种符合 FIDO 认可的密钥品牌,例如:YubiKey、NitroKey、SoloKey v2 等等。

此协议的优势包括:

  • 通过使用公钥加密来消除密码,从而实现无密码认证。
  • 采用 多因素认证(MFA)以实现强力认证。
  • 减少了应用程序之间密码或公钥的重复使用,降低数据泄露的风险。
  • 私钥位于安全令牌中并且永不离开,这大大减少了被网络钓鱼的威胁。

前面的文章

在 Fedora 杂志中,有多篇文章阐述了如 FIDO2 的应用场景:《如何使用 FIDO2 验证本地用户》 和 《如何解锁硬盘》。而此篇文章介绍了如何使用 FIDO2 验证远程用户。请注意,上述所说的设备,主要是指那些来自 Yubico 采用了其他协议的设备,而此篇指南的目的并非讨论这些协议。

集中管理的用户

SSSDFreeIPA 最近新增了一个名为 通行密钥 passkey 的特性,以便对集中管理的用户执行 FIDO2 认证。此功能目前只在 SSSD 2.9.0FreeIPA 4.11.0 等版本中支持。

Fedora 39 已经包含了这些版本,因此,它是第一个为集中管理的用户启用 FIDO2 认证的发行版。此外,用户在认证成功后,也会一并获取一个 Kerberos 票据,实现对其他服务的身份证明。

请注意,从这里开始,我将交替使用 FIDO2 和通行密钥这两个术语。

FIDO2 认证

FIDO2 配置

作为额外的安全措施,应在设备中启用 MFA 以防你丢失了密钥,恶意行为者无法使用它进行认证。

列出连接的通行密钥设备:

$ fido2-token -L

为你的通行密钥设备设置 PIN(将大写字母替换为所需的):

$ fido2-token -C /dev/hidrawX

如果你有一个兼容的设备,你还可以启用其他认证因素,例如指纹。

集中用户配置

首先,我们来创建一个用户,并将通行密钥(passkey)设置为其认证方式(请根据需要将大写字母替换为相应的):

$ ipa user-add USERNAME --first NAME --last SURNAME --user-auth-type=passkey

或者,如果你已有一个用户,并只需要将 passkey 设置为其认证方式:

$ ipa user-mod USERNAME --user-auth-type=passkey

集中管理用户的 FIDO2 注册

接下来,我们为该用户注册这个通行密钥。这个步骤会提示你输入 PIN 码,随后触摸设备:

$ ipa user-add-passkey USERNAME --register
Enter PIN:
Please touch the device.
------------------------------------
Added passkey mappings to user "USERNAME"
------------------------------------
    User login: USERNAME
    Passkey mapping: passkey:XR/MXigmgiBz1z7/RlWoWZkXKIEf1x9Ux5uPNxtzzSTdTiF407u2nRYMPkK8pWjwUR8Aa2urCcC9cnpLbkKgFg==,MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZqgERsFFv4Yev1dyo2Ap4PvLirg3P3Uhig5mNA4qf061C9q5rg0nMDz9AOYxZmBrwvQEXHCasMNO9VAIVnBIVg==

此刻,用户的认证已准备就绪。

注意,如果你想在生产环境中使用此用户,我建议你至少注册两个不同的设备。这样,即使你丢失了其中一个设备,你也可以用另一个进行认证。

集中管理的用户的 FIDO2 认证

在初次尝试中,只有在物理连接令牌的系统中才能进行认证。这意味着你可以使用 su 或图形界面,但不能远程使用 ssh。

我们来试试使用 su,记得将大写字母替换为所需的。当要求你输入 PIN,然后触摸设备时,当设备灯闪烁时触摸它:

$ su - USERNAME@DOMAIN
Insert your passkey device, then press ENTER.
Enter PIN:

如果一切进行顺利,Kerberos 票据也应已被授予,然后你就可以向其他服务进行远程认证:

$ klist
Ticket cache: KCM:879400005:34862
Default principal: USERNAME@DOMAIN
Valid starting Expires        Service principal
10/20/23 09:46:04  10/21/23 09:32:37  krbtgt/DOMAIN@DOMAIN

结论

此认证机制的目标是提升安全性。通过使用一种众所周知、开放式的标准实现无密码和多因素认证,从而降低数据泄露和网络钓鱼威胁的风险。用户只需要一个硬件令牌及另外一个如 PIN 或者指纹的认证方式,从而消除对密码的需求,同时提供了方便的多因素认证方法。更进一步,每个应用或服务都使用一个唯一的密钥,这样任何一个应用或服务的数据泄露都不会影响其他的。最后,用户并不需要知道他们的凭据的具体细节,只需了解他们使用了一个实体令牌,这极大地降低了社交工程攻击的可能性。

(题图:MJ/838d5392-79b4-4c22-ab0f-c2ada4bf2833)


via: https://fedoramagazine.org/fido2-for-centrally-managed-users/

作者:Iker Pedrosa 选题:lujun9972 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

什么是基于 SSH 密钥的认证?

众所周知,Secure Shell,又称 SSH,是允许你通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议。无论何时使用 SSH 在无安全网络上发送数据,它都会在源系统上自动地被加密,并且在目的系统上解密。SSH 提供了四种加密方式,基于密码认证基于密钥认证基于主机认证键盘认证。最常用的认证方式是基于密码认证和基于密钥认证。

在基于密码认证中,你需要的仅仅是远程系统上用户的密码。如果你知道远程用户的密码,你可以使用 ssh user@remote-system-name 访问各自的系统。另一方面,在基于密钥认证中,为了通过 SSH 通信,你需要生成 SSH 密钥对,并且为远程系统上传 SSH 公钥。每个 SSH 密钥对由私钥与公钥组成。私钥应该保存在客户系统上,公钥应该上传给远程系统。你不应该将私钥透露给任何人。希望你已经对 SSH 和它的认证方式有了基本的概念。

这篇教程,我们将讨论如何在 Linux 上配置基于密钥认证的 SSH。

在 Linux 上配置基于密钥认证的 SSH

为方便演示,我将使用 Arch Linux 为本地系统,Ubuntu 18.04 LTS 为远程系统。

本地系统详情:

  • OS: Arch Linux Desktop
  • IP address: 192.168.225.37/24

远程系统详情:

  • OS: Ubuntu 18.04 LTS Server
  • IP address: 192.168.225.22/24

本地系统配置

就像我之前所说,在基于密钥认证的方法中,想要通过 SSH 访问远程系统,需要将公钥上传到远程系统。公钥通常会被保存在远程系统的一个 ~/.ssh/authorized_keys 文件中。

注意事项:不要使用 root 用户生成密钥对,这样只有 root 用户才可以使用。使用普通用户创建密钥对。

现在,让我们在本地系统上创建一个 SSH 密钥对。只需要在客户端系统上运行下面的命令。

$ ssh-keygen

上面的命令将会创建一个 2048 位的 RSA 密钥对。你需要输入两次密码。更重要的是,记住你的密码。后面将会用到它。

样例输出

Generating public/private rsa key pair.
Enter file in which to save the key (/home/sk/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/sk/.ssh/id_rsa.
Your public key has been saved in /home/sk/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:wYOgvdkBgMFydTMCUI3qZaUxvjs+p2287Tn4uaZ5KyE [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+=+*= + |
|o.o=.* = |
|.oo * o + |
|. = + . o |
|. o + . S |
| . E . |
| + o |
| +.*o+o |
| .o*=OO+ |
+----[SHA256]-----+

如果你已经创建了密钥对,你将看到以下信息。输入 y 就会覆盖已存在的密钥。

/home/username/.ssh/id_rsa already exists.
Overwrite (y/n)?

请注意密码是可选的。如果你输入了密码,那么每次通过 SSH 访问远程系统时都要求输入密码,除非你使用了 SSH 代理保存了密码。如果你不想要密码(虽然不安全),简单地敲两次回车。不过,我建议你使用密码。从安全的角度来看,使用无密码的 ssh 密钥对不是什么好主意。这种方式应该限定在特殊的情况下使用,例如,没有用户介入的服务访问远程系统。(例如,用 rsync 远程备份……)

如果你已经在个人文件 ~/.ssh/id_rsa 中有了无密码的密钥,但想要更新为带密码的密钥。使用下面的命令:

$ ssh-keygen -p -f ~/.ssh/id_rsa

样例输出

Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.

现在,我们已经在本地系统上创建了密钥对。接下来,使用下面的命令将 SSH 公钥拷贝到你的远程 SSH 服务端上。

$ ssh-copy-id [email protected]

在这里,我把本地(Arch Linux)系统上的公钥拷贝到了远程系统(Ubuntu 18.04 LTS)上。从技术上讲,上面的命令会把本地系统 ~/.ssh/id_rsa.pub 文件中的内容拷贝到远程系统 ~/.ssh/authorized_keys 中。明白了吗?非常棒。

输入 yes 来继续连接你的远程 SSH 服务端。接着,输入远程系统用户 sk 的密码。

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

如果你已经拷贝了密钥,但想要替换为新的密码,使用 -f 选项覆盖已有的密钥。

$ ssh-copy-id -f [email protected]

我们现在已经成功地将本地系统的 SSH 公钥添加进了远程系统。现在,让我们在远程系统上完全禁用掉基于密码认证的方式。因为我们已经配置了密钥认证,因此不再需要密码认证了。

在远程系统上禁用基于密码认证的 SSH

你需要在 root 用户或者 sudo 执行下面的命令。

禁用基于密码的认证,你需要在远程系统的终端里编辑 /etc/ssh/sshd_config 配置文件:

$ sudo vi /etc/ssh/sshd_config

找到下面这一行,去掉注释然后将值设为 no

PasswordAuthentication no

重启 ssh 服务让它生效。

$ sudo systemctl restart sshd

从本地系统访问远程系统

在本地系统上使用命令 SSH 你的远程服务端:

$ ssh [email protected]

输入密码。

样例输出

Enter passphrase for key '/home/sk/.ssh/id_rsa':
Last login: Mon Jul 9 09:59:51 2018 from 192.168.225.37
sk@ubuntuserver:~$

现在,你就能 SSH 你的远程系统了。如你所见,我们已经使用之前 ssh-keygen 创建的密码登录进了远程系统的账户,而不是使用当前账户实际的密码。

如果你试图从其它客户端系统 ssh(远程系统),你将会得到这条错误信息。比如,我试图通过命令从 CentOS SSH 访问 Ubuntu 系统:

样例输出

The authenticity of host '192.168.225.22 (192.168.225.22)' can't be established.
ECDSA key fingerprint is 67:fc:69:b7:d4:4d:fd:6e:38:44:a8:2f:08:ed:f4:21.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.225.22' (ECDSA) to the list of known hosts.
Permission denied (publickey).

如你所见,除了 CentOS(LCTT 译注:根据上文,这里应该是 Arch)系统外,我不能通过其它任何系统 SSH 访问我的远程系统 Ubuntu 18.04。

为 SSH 服务端添加更多客户端系统的密钥

这点非常重要。就像我说过的那样,除非你配置过(在之前的例子中,是 Ubuntu),否则你不能通过 SSH 访问到远程系统。如果我希望给更多客户端予以权限去访问远程 SSH 服务端,我应该怎么做?很简单。你需要在所有的客户端系统上生成 SSH 密钥对并且手动拷贝 ssh 公钥到想要通过 ssh 访问的远程服务端上。

在客户端系统上创建 SSH 密钥对,运行:

$ ssh-keygen

输入两次密码。现在,ssh 密钥对已经生成了。你需要手动把公钥(不是私钥)拷贝到远程服务端上。

使用以下命令查看公钥:

$ cat ~/.ssh/id_rsa.pub

应该会输出类似下面的信息:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCt3a9tIeK5rPx9p74/KjEVXa6/OODyRp0QLS/sLp8W6iTxFL+UgALZlupVNgFjvRR5luJ9dLHWwc+d4umavAWz708e6Na9ftEPQtC28rTFsHwmyLKvLkzcGkC5+A0NdbiDZLaK3K3wgq1jzYYKT5k+IaNS6vtrx5LDObcPNPEBDt4vTixQ7GZHrDUUk5586IKeFfwMCWguHveTN7ykmo2EyL2rV7TmYq+eY2ZqqcsoK0fzXMK7iifGXVmuqTkAmZLGZK8a3bPb6VZd7KFum3Ezbu4BXZGp7FVhnOMgau2kYeOH/ItKPzpCAn+dg3NAAziCCxnII9b4nSSGz3mMY4Y7 ostechnix@centosserver

拷贝所有内容(通过 USB 驱动器或者其它任何介质),然后去你的远程服务端的终端,像下面那样,在 $HOME 下创建文件夹叫做 .ssh。你需要以 root 身份执行命令(注:不一定需要 root)。

$ mkdir -p ~/.ssh

现在,将前几步创建的客户端系统的公钥添加进文件中。

echo {Your_public_key_contents_here} >> ~/.ssh/authorized_keys

在远程系统上重启 ssh 服务。现在,你可以在新的客户端上 SSH 远程服务端了。

如果觉得手动添加 ssh 公钥有些困难,在远程系统上暂时性启用密码认证,使用 ssh-copy-id 命令从本地系统上拷贝密钥,最后禁用密码认证。

推荐阅读:

好了,到此为止。基于密钥认证的 SSH 提供了一层防止暴力破解的额外保护。如你所见,配置密钥认证一点也不困难。这是一个非常好的方法让你的 Linux 服务端安全可靠。

不久我会带来另一篇有用的文章。请继续关注 OSTechNix。

干杯!


via: https://www.ostechnix.com/configure-ssh-key-based-authentication-linux/

作者:SK 选题:lujun9972 译者:LuuMing 校对:pityonline

本文由 LCTT 原创编译,Linux中国 荣誉推出

当谈到网络安全的防护时,从各种网络威胁的角度来看,仅安装一个防病毒软件或运行一个安全的 Linux 操作系统,并不意味你就是足够安全的。

今天大多数网络用户都容易受到网络攻击,并不是因为他们没有使用最好的防病毒软件或其他安全措施,而是因为他们使用了弱密码来保护他们自己的网上帐号。

密码是你抵御网络威胁的最后一道防线。只要回顾一下最近的一些数据泄露和网络攻击,包括大众关注的 OPM(美国联邦人事管理局)和婚外情网站 Ashley Madison 的数据泄露,都导致成千上万的记录的网上曝光。

虽然你不能控制数据泄露,但创建强壮的、可以抵御字典和暴力破解的密码仍然是重要的。

你知道,你的密码越长,它越难破解。

如何保证在线服务的安全?

安全研究人员喋喋不休地劝说在线用户为他们的各种网上账户创建长的、复杂和各异的密码。这样,如果一个网站被攻破,你在其他网站上的帐户是安全的,不会被黑客攻击。

理想的情况下,你的密码必须至少16个字符长,应该包含数字、符号、大写字母和小写字母,而最重要的是,甚至你都不知道的密码才是最安全的密码。

密码应该不重复,而且不包含任何字典中的词汇、代词,你的用户名或 ID 号,以及任何其它预定义的字母或数字序列。

我知道记住这样的复杂的密码字符串是一个实在痛苦的过程,除非我们是一个人型超级计算机,为不同的在线账户记住不同的密码并不是一个轻松的任务。

问题是,现在人们注册了大量的在线网站和服务,为每一个帐户创建和记住不同的密码通常是很难的。

不过,幸运的是,我们可以让这个事情变得很轻松,不断涌现的面向桌面计算机和智能电话的口令管理器可以显著地降低你密码记忆难度,从而治愈你设置弱密码的坏毛病。

密码管理器是什么?

在过去的几年里,密码管理软件已经取得了长足的进展,它是一个很好的系统,不但可以让你为不同的网站创建复杂的密码,而且能让你记住它们。

密码管理器是一个为你的个人电脑、网站,应用程序和网络创建、存储和整理密码的软件。

密码管理器可以生成密码,也可以作为表单填充器,它可以自动在网站的登录表单中输入你的用户名和密码。

所以,如果你想为你的多个在线帐户设置超级安全的密码,但你又不想全部记住它们,密码管理器是你最好的选择。

密码管理器如何工作?

通常,密码管理器可以为您生成冗长、复杂,而且更重要的是唯一的密码字符串,然后以加密形式存储它们,以保护该机密数据免受黑客对您的 PC 或移动设备的物理访问。

加密的文件只能通过“主密码”访问。因此,所有你需要做的只是记住一个“主密码”,用来打开你的密码管理器或保险库,从而解锁你所有的其他密码。

然而,你需要确保你的主密码是超级安全的,至少 16 个字符。

哪个是最好的密码管理器?如何选择?

我一直在推荐密码管理器,但大多数读者总是问:

  • 哪个密码管理器最好?
  • 哪个密码管理器最安全?帮帮我!

所以,今天我要介绍给你一些最好的密码管理器,它们可在 Windows、Mac、Linux、Android、iOS 和企业中使用。

在为你的设备选择一个好的密码管理器之前,你应该检查以下功能:

  • 跨平台应用
  • 零知识模型
  • 提供双因素认证(或者多因素身份验证)

注意:一旦采用,就要按照密码管理器的方式来用,因为如果你仍然为你的重要在线帐户使用弱密码的话,没有人可以从恶意黑客那里拯救你。

Windows 最佳密码管理工具

Windows 用户最容易受到网络攻击,因为 Windows 操作系统一直是黑客最喜欢的目标。所以,对于 Windows 用户来说,使用一个好的密码管理器是重要的。

除了下述以外,Windows 其它的密码管理器还有:Password Safe、LockCrypt、1Password。

1. Keeper 密码管理器(跨平台)

Keeper 是一个安全、易用而稳健的密码管理器,支持 Windows、Mac、iPhone、iPad 和 iPod 设备。

通过使用军事级 256 位 AES 加密技术,Keeper 密码管理器可以让您的数据安全在窥探之下保持安全。

它的安全的数字保险柜,用于保护和管理您的密码,以及其他秘密信息。Keeper 密码管理器应用程序支持双因素身份验证,可用于各大主流操作系统。

它还有一个称为“自毁”的重要的安全功能,启用后,如果不正确的错误地输入主密码达五次以上,它将删除设备中的所有记录!

但您不必担心,因为此操作不会删除存储在 Keeper 上的云安全保险柜上的备份记录。

下载 Keeper 密码管理器: Windows、Linux 和 Mac | iOS | Android | Kindle

2. Dashlane 密码管理器(跨平台)

DashLane 密码管理器有点新,但它几乎为每个平台提供了极棒的功能。

DashLane 密码管理器通过在本地计算机上使用 AES-256 加密技术来加密您的个人信息和帐户密码,然后将其同步到其在线服务器,以便您可以从任何地方访问您的帐户数据库。

DashLane 最好的一点是它有一个自动密码更改器,可以自动更改您的帐户的密码,而不必自己处理。

DashLane 密码管理器 Android 版为您的 Android 手机提供了安全的密码管理工具:密码保险库和在线商店及其他网站的表单自动填充器。

Android 的 DashLane 密码管理器在单个设备上使用完全免费,如要在多个设备上访问,您可以购买该应用的收费的高级版本。

下载 DashLane 密码管理器: WindowsMac | iOS | Android

3. LastPass 密码管理器(跨平台)

LastPass 是 Windows 用户最好的密码管理器之一,它可以通过扩展插件、移动应用程序,甚至桌面应用程序支持所有的浏览器和操作系统。

LastPass 是一个非常强大的基于云的密码管理器软件,它使用 AES-256 加密技术来加密您的个人信息和帐户密码,甚至提供各种双因素身份验证选项,以确保没有其他人可以登录您的密码保险柜中。

LastPass 密码管理器是免费的,收费的高级版本支持指纹读取器。

下载 LastPass 密码管理器: Windows、Mac 和 Linux | iOS | Android

Mac OS X 最佳密码管理器

人们经常说,Mac 电脑比 Windows 更安全,“Mac 没有病毒”,但它是不完全正确的。

作为证据,你可以阅读我们以前的关于对 Mac 和 iOS 用户进行网络攻击的文章,然后自己决定需要不需要一个密码管理器。

除了下述以外,Mac OS X 其它的密码管理器还有:1Password,Dashlane,LastPass,OneSafe,PwSafe。

1. LogMeOnce 密码管理器(跨平台)

LogMeOnce 密码管理套件是 Mac OS X 上的最佳密码管理器之一,并且可以在 Windows,iOS 和 Android 设备上同步您的密码。

LogMeOnce 是最好的收费的企业密码管理软件之一,提供各种功能和选项,包括 Mugshot(嫌犯照片)功能。

如果您的手机被盗,LogMeOnce Mugshot 功能可以跟踪小偷的位置,并秘密拍摄试图在未经许可访问您的帐户的入侵者的照片。

LogmeOnce 使用军用级 AES-256 加密技术保护您的密码,并提供双因素身份验证,以确保即使掌握了主密码,窃贼也无法窃取您的帐户。

下载 LogMeOnce 密码管理器: Windows and Mac | iOS | Android

2. KeePass 密码管理器(跨平台)

虽然 LastPass 是最好的密码管理器之一,有些人不喜欢基于云的密码管理器。

KeePass 是一个流行的 Windows 密码管理器应用程序,但也有浏览器扩展和 KeePass 的移动应用程序。

用于 Windows 的 KeePass 密码管理器将您的帐户密码存储在您的 PC 上,因此您仍然可以控制它们,也可以放在 Dropbox 上,因此您可以使用多个设备访问它。

KeePass 使用当前已知的最安全的加密技术加密您的密码和登录信息:默认情况下为 AES 256 位加密,或可选地用 Twofish 256 位加密技术。

KeePass 不仅仅是免费的,它也是开源的,这意味着它的代码和完整性可以被任何人检查,从而赢得了更多的信任度。

下载 KeePass 密码管理器: Windows 和 Linux | Mac | iOS | Android

3. 苹果 iCloud 钥匙串

苹果推出了 iCloud 钥匙串密码管理系统,提供了一种方便的、可以在您获准的 Apple 设备(包括 Mac OS X、iPhone 和 iPad)上安全地存储和自动同步所有登录凭据、Wi-Fi 密码和信用卡号码的方式。

您的钥匙串中的密码数据使用 256 位 AES 加密技术进行加密,并使用椭圆曲线非对称加密和密钥封装。

此外,iCloud 钥匙串还会生成新的、独特的和强大的密码,用于保护您的计算机和帐户。

主要限制:钥匙串不能与 Apple Safari 之外的其他浏览器一起使用。

参阅:如何设置 iCloud 钥匙串?

Linux 最佳密码管理器

毫无疑问,一些 Linux 发行版是地球上最安全的操作系统,但正如我上面所说,采用 Linux 不能完全保护您的在线帐户免受黑客攻击。

有许多跨平台密码管理器可用于在所有设备上同步所有帐户的密码,例如 LastPass、KeePass、RoboForm 密码管理器。

下面我列出了两个 Linux 上流行和安全的开源密码管理器:

1. SpiderOak 加密密码管理器(跨平台)

爱德华·斯诺登推荐的由 SpiderOak 开发的 Encryptr 密码管理器是一个零知识的基于云的密码管理器,使用 Crypton JavaScript 框架加密保护您的密码。

它是一个跨平台、开源和免费的密码管理器,使用端到端加密,可以完美地工作于 Ubuntu、Debian Linux Mint 和其它 Linux 发行版。

Encryptr 密码管理器应用程序本身非常简单,带有一些基本功能。

Encryptr 软件允许您加密三种类型的内容:密码、信用卡号码和常规的键值对。

下载 Encryptr 密码管理器: Windows、Linux 和 Mac | iOS | Android

2. EnPass 密码管理器(跨平台)

Enpass 是一个优秀的安全导向的 Linux 密码管理器,在其它平台也能很好地工作。

Enpass 可让您使用第三方云服务(包括 Google 云端硬盘、Dropbox、OneDrive 或 OwnCloud)备份和恢复存储的密码。

它确保提供高级别的安全性,并通过主密码保护您的数据,在将备份上传到云上之前,使用开源加密引擎 SQLCipher 的 256 位 AES 加密技术进行加密。

“我们不会在我们的服务器上托管您的 Enpass 数据,因此,我们不需要注册,您的数据只存储在您的设备上,”Enpass 说。

此外,默认情况下,当您离开计算机时,Enpass 会锁定自己,并且每隔 30 秒清除剪贴板内存,以防止您的密码被任何其他恶意软件窃取。

下载 EnPass 密码管理器: WindowsLinux | Mac | iOS | Android

3. RoboForm 密码管理器(跨平台)

你可以很容易地在 Windows 操作系统上找到好的密码管理器,但 RoboForm 免费密码管理器软件不止于此。

除了创建复杂的密码并记住它们,RoboForm 还提供了一个智能表单填充功能,以节省您在浏览网络的时间。

RoboForm 使用军用级 AES 加密技术来加密您的登录信息和帐户密码,密钥是通过您的 RoboForm 主密码获得的。

RoboForm 适用于 IE、Chrome 和 Firefox 等浏览器,以及适用于 iOS、Android 和 Windows Phone 等移动平台。

下载 RoboForm 密码管理器: Windows 和 Mac | Linux | iOS | Android

Android 最佳密码管理器

目前全球有超过一半的人使用 Android 设备,因此 Android 用户保护他们的在线帐户、避免黑客总是试图访问这些设备成为一种必要。

Android 上一些最好的密码管理器应用程序包括 1Password、Keeper、DashLane、EnPass、OneSafe、mSecure 和 SplashID Safe。

1. 1Password 密码管理器(跨平台)

1Password 密码管理器 Anroid 版是管理你的所有账户密码的最佳应用程序之一。

1Password 密码管理器为每个帐号创建强大、独特和安全的密码,并为你全部记住,你只需要轻轻一点即可登录。

1Password 密码管理器软件通过 AES-256 加密技术保护您的登录名和密码,并通过您的 Dropbox 帐户将其同步到所有设备,或者存储在本地,你可以用任何其他应用程序来进行同步。

最近,Android 版本的 1Password 密码管理器应用程序了添加指纹支持来解锁所有的密码,而不是使用您的主密码。

下载 1Password 密码管理器: Windows 和 Mac | iOS | Android

2. mSecure密码管理器(跨平台)

就像其他流行的密码管理器解决方案,Android 下的 mSecure 密码管理器自动生成安全密码,并使用 256 位Blowfish 加密技术存储它们。

令人印象深刻的独特功能是 mSecure 密码管理器软件提供了在输入 5、10 或 20 次错误的密码后(根据您的设置)自毁数据库的功能。

您还可以使用 Dropbox 或通过专用 Wi-Fi 网络同步所有设备。不管什么情况下,无论您的云帐户的安全性如何,您的所有数据都会在设备之间安全而加密地传输。

下载 mSecure 密码管理软件: Windows 和 Mac | iOS | Android

iOS 最佳密码管理器

正如我所说,苹果的 iOS 也很容易发生网络攻击,所以你可以使用一些 iOS 下最好的密码管理器应用程序来保护你的在线帐户,它们包括 Keeper、OneSafe、Enpass、mSecure、LastPass、RoboForm、SplashID Safe 和 LoginBox Pro 。

1. OneSafe 密码管理器(跨平台)

OneSafe 是 iOS 设备最好的密码管理器应用程序之一,它不仅可以存储您的帐户密码,还可以存储敏感文档、信用卡详细信息、照片等。

iOS 的 OneSafe 密码管理器应用程序使用 AES-256 加密技术(移动设备上可用的最高级别)和 Touch ID 将您的数据用主密码加密。 你还可以为给定文件夹设置附加密码。

iOS 的 OneSafe 密码管理器还提供了一个支持自动填充登录的应用内浏览器,因此您无需每次都输入登录详细信息。

除此之外,OneSafe 还为您的帐户的密码提供了高级安全功能,如自动锁定、入侵检测、自毁模式、诱饵安全和双重保护。

下载 OneSafe 密码管理器:iOS | Mac | Android | Windows

2. SplashID 安全密码管理器(跨平台)

SplashID Safe 是 iOS 中最古老、最好的密码管理工具之一,它允许用户将其登录数据和其他敏感信息安全地存储在加密记录中。

您的所有信息,包括网站登录信息、信用卡和社会保障数据、照片和文件附件,都受到 256 位的加密保护。

用于 iOS 的 SplashID Safe 密码管理器还提供了网络自动填充选项,这意味着您不必在登录时复制粘贴密码。

免费版本的 SplashID Safe 具有基本的记录存储功能,但您可以选择收费版本,提供跨设备同步以及其它收费功能。

下载 SplashID 安全密码管理器:Windows 和 Mac | iOS | Android

3. LoginBox Pro 密码管理器

LoginBox Pro 是另一个 iOS 设备上极棒的密码管理器应用程序。该应用程序提供了一个单击登录到你访问的任何网站的功能,使密码管理器应用程序成为登录密码保护的互联网网站的最安全和最快的方式。

iOS 的 LoginBox 密码管理器应用程序的把密码管理器和浏览器结合到一起。

从您下载那一刻起,所有登录操作(包括输入信息、点击按钮、复选框或回答安全提问)都会通过 LoginBox 密码管理器自动完成。

为了安全起见,LoginBox 密码管理器使用硬件加速的 AES 加密技术和密码来加密您的数据并将其保存在您的设备上。

下载 LoginBox 密码管理器:iOS | Android

最佳在线密码管理器

使用在线密码管理器工具是保护你的个人和私人信息安全,免于黑客和心怀恶意的人攻击的最简单方法。

在这里,我列出了一些最好的在线密码管理器,你可以依靠它们保持自己的线上安全:

1. Google 在线密码管理器

你知道 Google 有自己的专用密码管理器吗?

Google Chrome 有一个内置的密码管理器工具,当你使用 Chrome 登录网站或网络服务时,你可以选择用它保存密码。

你所储存的所有帐户密码都会与你的 Google 帐户同步,方便你通过同一个 Google 帐户在所有装置上使用。

Chrome 密码管理器可让你通过网络管理你的所有帐户的密码。

因此,如果您喜欢使用其他浏览器,例如 Windows 10 上的 Microsoft Edge 或 iPhone 上的 Safari,只需访问passwords.google.com,您就会看到一个列表,其中包含您保存在 Chrome 之中所有密码。Google 的双重身份验证会保护此列表。

2. Clipperz 在线密码管理器

Clipperz 是一个免费的跨平台最佳在线密码管理器,不需要你下载任何软件。Clipperz 在线密码管理器使用书签栏或侧栏来直接登录。

Clipperz 还提供了其软件的密码管理器的离线版本,允许你将密码下载到一个加密的磁盘或 USB 盘里面,以便你在旅行时可以随身携带,并在离线时访问你的帐户密码。

Clipperz 在线密码管理器的一些功能还包括密码强度指示器、应用程序锁定、SSL 安全连接、一次性密码和密码生成器。

Clipperz 在线密码管理器可以在任何支持 JavaScript 的浏览器上工作。

3. Passpack 在线密码管理器

Passpack 是一个优秀的在线密码管理器,拥有一套极具竞争力的功能,可为你的不同在线帐户创建、存储和管理密码。

PassPack 在线密码管理器还允许你与你的家人或同事安全地共享你的密码,以轻松管理多个项目、团队成员、客户和员工。

你的各个帐户的用户名和密码使用 PassPack 服务器上的 AES-256 加密技术进行加密,即使黑客访问其服务器也无法读取你的登录信息。

将 PassPack 在线密码管理器工具栏下载到 Web 浏览器并正常浏览 Web。每当你登录任何受密码保护的网站时,PassPack 会保存你的登录数据,以便你不必在其网站上手动保存你的用户名和密码。

最佳企业密码管理器

在过去 12 个月的过程中,我们看到了互联网历史上最大的数据泄露,而且这种情况年复一年的增多。

据统计,大多数员工甚至不知道如何在线保护他们自己,这导致公司的业务处于风险之中。

为了在组织中保持密码共享机制安全,有一些专门为企业使用而设计的密码管理工具,例如 Vaultier、CommonKey、Meldium、PassWork 和 Zoho Vault。

1. Meldium 企业密码管理软件

LogMeIn 的 Meldium 密码管理工具附带一个一键式单点登录解决方案,可帮助企业安全快速地访问网络应用。

它会自动将用户记录到应用和网站中,而无需输入用户名和密码,也可以跟踪组织内的密码使用情况。

Meldium 密码管理器非常适合在您的团队成员内共享帐户,而无需共享实际密码,这有助于组织保护自己免受网络钓鱼攻击。

2. Zoho Vault 密码管理软件

Zoho Vault 是企业用户最好的密码管理器之一,可帮助您的团队快速、安全地共享密码和其他敏感信息,同时监控每个用户的使用情况。

您所有的团队成员需要下载 Zoho 浏览器扩展。 Zoho Vault 密码管理器将自动填充您团队存储在共享保险柜中的密码。

Zoho Vault 还提供了一些功能,可让您监控团队的密码使用情况和安全级别,以便您可以知道谁在使用哪个登录。

Zoho Vault 企业级软件包甚至会在更改或访问密码时发出警告。

更多安全性,请使用双重身份验证

无论你的密码有多强大,黑客仍然有可能找到一些或其他方式侵入你的帐户。

双因素身份验证旨在解决这个问题。对一个密码取而代之的是,它要求你输入第二个口令,这会通过短信发送到你的手机上,或通过电子邮件发送到你的电子邮件地址上。

因此,我建议你启用双因素身份验证,并使用密码管理器软件来保护你的在线帐户和敏感信息免受黑客攻击。


via: https://thehackernews.com/2016/07/best-password-manager.html

作者:Swati Khandelwal 译者:Bestony 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

一个谷歌新开发的认证措施会评估你的登录有多可靠,并且基于一个“ 信任分 Trust Score ”认证你的登录。

这个谷歌项目的名字是 Abacus,它的目标是让你摆脱讨厌的密码记忆和输入。

在最近的 Google I/O 开发者大会上,谷歌引入了自这个雄心勃勃的项目而来的新特性,称作“Trust API”。

“如果一切进展顺利”,这个 API( 应用程序编程接口 Application Programming Interface )会在年底前供安卓开发者使用。API 会利用安卓设备上不同的传感器来识别用户,并创建一个他们称之为“ 信任分 Trust Score ”的结果。

基于这个信任分,一个需要登录认证的应用可以验证你确实可以授权登录,从而不会提示需要密码。

Abacus 到 Trust API

需要思考的地方

尽管这个想法,明智的功能,听起来很棒——减轻了密码认证的负担。

但从另一面来说,这是不是谷歌又一次逼迫我们(有意或无意)为了方便使用而放弃我们的隐私?

是否值得?这取决于你的决定...


via: http://www.iwillfolo.com/will-google-replace-passwords-with-a-new-trust-based-authentication-method/

作者:iWillFolo 译者:alim0x 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

安全就是一切。我们生活的当今世界,数据具有令人难以置信的价值,而你也一直处于数据丢失的风险之中。因此,你必须想尽办法保证你桌面系统和服务器中数据的安全。结果,管理员和用户就会创建极其复杂的密码、使用密码管理器甚至其它更复杂的东西。但是,如果我告诉你你可以只需要一步,至多两步就能登录到你的 Linux 服务器或桌面系统中呢?多亏了 Google 身份验证器,现在你可以做到了。并且,配置也极其简单。

我会给你简要介绍为登录和 sudo 设置双因子认证的步骤。我基于 Ubuntu 16.04 桌面系统进行介绍,但这些步骤也适用于其它服务器。为了实现双因子认证,我会使用 Google 身份验证器。

这里有个非常重要的警告:一旦你设置了认证,没有一个从认证器中获得的由 6 个数字组成的验证码你就不可能登录账户(或者执行 sudo 命令)。这也给你增加了一步额外的操作,因此如果你不想每次登录到 Linux 服务器(或者使用 sudo)的时候都要拿出你的智能手机,这个方案就不适合你。但你也要记住,这额外的一个步骤也给你带来一层其它方法无法给予的保护。

话不多说,开始吧。

安装必要的组件

安装 Google 身份验证器 Google Authenticator ,首先要解决两个问题。一是安装智能机应用。下面是如何从 Google 应用商店安装的方法:

  1. 在你的安卓设备中打开 Google 应用商店
  2. 搜索 google 身份验证器 Google Authenticator
  3. 找到并点击有 Google Inc. 标识的应用
  4. 点击安装
  5. 点击“接受”
  6. 等待安装完成

接下来,我们继续在你的 Linux 机器上安装这个认证器。步骤如下:

  1. 打开一个终端窗口
  2. 输入命令 sudo apt-get install google-authenticator
  3. 输入你的 sudo 密码并敲击回车
  4. 如果有弹窗提示,输入 y 并敲击回车
  5. 等待安装完成

接下来配置使用 google-authenticator 进行登录。

配置

要为登录和 sudo 添加双因子认证只需要编辑一个文件,即 /etc/pam.d/common-auth。打开并找到如下一行:

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

在这行上面添加:

auth required pam_google_authenticator.so

保存并关闭文件。

下一步就是为系统中的每个用户设置 google-authenticator(否则他们就不能登录了)。为了简单起见,我们假设你的系统中有两个用户:jack 和 olivia。首先为 jack 设置(我们假设这是我们一直使用的账户)。

打开一个终端窗口并输入命令 google-authenticator。之后会问你一系列的问题(每个问题你都应该用 y 回答)。问题包括:

  • 是否允许更新你的 "/home/jlwallen/.google\_authenticator" 文件 (y/n) y
  • 是否禁止多个用户使用同一个认证令牌?这会限制你每 30 秒内只能登录一次,但能增加你注意到甚至防止中间人攻击的可能 (y/n)
  • 默认情况下令牌时长为 30 秒即可,为了补偿客户端和服务器之间可能出现的时间偏差,我们允许使用当前时间之前或之后的其它令牌。如果你无法进行时间同步,你可以把这个时间窗口由默认的 1:30 分钟增加到 4 分钟。是否希望如此 (y/n)
  • 如果你尝试登录的计算机没有针对暴力破解进行加固,你可以为验证模块启用速率限制。默认情况下,限制攻击者每 30 秒不能尝试登陆超过 3 次。是否启用速率限制 (y/n)

一旦完成了问题回答,你就会看到你的密钥、验证码以及 5 个 紧急刮码 emergency scratch code 。把这些刮码打印出来并保存。你可以在无法使用手机的时候使用它们(每个刮码仅限使用一次)。密钥用于你在 Google 身份验证器上设置账户,验证码是你能当下就能够立即使用(如果需要)的一次性验证码。

设置应用

现在你已经配置好了用户 jack。在设置用户 olivia 之前,你需要在 Google 身份验证器应用上为 jack 添加账户(LCTT 译注:实际操作情形中,是为 jack 的手机上安装的该应用创建一个账户)。在打开应用,点击“菜单”按钮(右上角三个竖排点)。点击“添加账户”然后点击“输入提供的密钥”。在下一个窗口(图1),你需要输入你运行 google-authenticator 应用时提供的 16 个数字的密钥。给账户取个名字(以便你记住这用于哪个账户),然后点击“添加”。

图1: 在 Google Authenticator 应用上新建账户

(LCTT 译注:Google 身份验证器也可以扫描你在服务器上设置时显示的二维码,而不用手工输入密钥)

添加完账户之后,你就会看到一个 6 个数字的密码,你每次登录或者使用 sudo 的时候都会需要这个密码。

最后,在系统上设置其它账户。正如之前提到的,我们会设置一个叫 olivia 的账户。步骤如下:

  1. 打开一个终端窗口
  2. 输入命令 sudo su olivia
  3. 在智能机上打开 Google 身份验证器
  4. 在终端窗口(图2)中输入(应用提供的) 6 位数字验证码并敲击回车
  5. 输入你的 sudo 密码并敲击回车
  6. 以新用户输入命令 google-authenticator,回答问题并记录生成的密钥和验证码。

成功为 olivia 用户设置好之后,用 google-authenticator 命令,在 Google 身份验证器应用上根据用户信息(和之前为第一个用户添加账户相同)添加一个新的账户。现在你在 Google 身份验证器应用上就会有 jack 和 olivia 两个账户了。(LCTT 译注:在实际操作情形中,通常是为 jack 和 olivia 两个人的手机分别设置。)

图2: 为 sudo 输入 6位数字验证码

好了,就是这些。每次你尝试登录系统(或者使用 sudo) 的时候,在你输入用户密码之前,都会要求你输入提供的 6 位数字验证码。现在你的 Linux 机器就比添加双因子认证之前安全多了。虽然有些人会认为这非常麻烦,我仍然推荐使用,尤其是那些保存了敏感数据的机器。


via: https://www.linux.com/learn/how-set-2-factor-authentication-login-and-sudo

作者:JACK WALLEN 译者:ictlyh 校对:wxy

双因子认证 Two-Factor Authentication (2FA)是一种生物识别技术,是保护用户在线数据的最强大的方法之一。两位阿姆斯特丹大学的研究人员最新发现了一种新的攻击方式,可以利用这种认证方式的设计缺陷让用户暴露在攻击风险之中。

两位研究人员 Radhesh Krishnan Konoth 和 Victor van der Even 说他们在 2014 年就发现了这个缺陷,已经警告了 Google 和其它的在线服务商,甚至还将他们的发现展示给了一些银行,但是没有人在意。

这两位研究人员解释说,因为到现在为止他们还没有公开具体细节,所以许多人认为这个漏洞并不危险,不值得注意。但是他们有不同的看法。

设备间的应用同步是 2FA 的阿喀琉斯之踵

如他们所解释,攻击并不是由于软件开发缺陷导致,而是由于 2FA 的设计缺陷导致的。现在有个概念叫做“计算无处不在”,让应用和内容在设备之间可以同步,而如果攻击者可以访问受害者的 PC 就会让 2FA 的保护失效。

由此,各种在线服务中的 2FA 认证机制的设计缺陷会让攻击者可以使用诸如 iTunes 或 Google Play 商店来将恶意应用推送到用户的手机上,而不会触发 2FA 认证系统,甚至可以在用户手机的首屏上展示图标。

当然,攻击者首先得能将他的恶意应用通过 Google 和 Apple 的审查放到他们的应用商店,不过最近看起来这种情况已经比较常见了。

此外,这也需要攻击者能够完全访问你的 PC,无论是可以直接接触访问,还是通过恶意软件控制你的设备,以及偷窃了你的账户。

跨设备的应用同步本身并不是问题,问题是实现方式不对

无论如何,风险依然是存在的。研究人员称,使用 2FA 的服务应该要非常注意在不同设备间的应用同步的实现方式。

在问及如何在 2FA 服务中修复这个问题,特别是对于使用这种服务的 Google 而言,研究人员说,最好的办法是“将应用安装过程(即提示用户该应用的所需权限的地方)放到手机上去,而不是将它们放到浏览器中”。

更多的细节,可以看看下述视频:

以及可以参考两位研究人员的论文:“计算无处不在如何干掉了你的基于手机的双因子认证”。