怎样在 Linux 中生成和检查强密码

介绍

不同的操作需要不同的安全层。 访问您的电子邮件帐户、您的社交媒体、您的银行帐户和您通过 SSH 管理的远程服务器都需要不同的安全层,并且包含具有不同“权重”的数据。
但是,为了访问所有这些操作,您将始终需要相同的东西: 密码.
我们都知道,为了免受攻击,您真正需要强密码,当然,我们都知道最好为不同的服务使用不同的密码。
一个非常不明智的决定(和常见的错误)是使用您的服务器密码来访问 Facebook. 这个决定可能会给你带来很多麻烦。
那么我们怎样轻松管理创建强密码的任务呢?
在本教程中,我们将讨论怎样生成和检查您的密码.

生成强密码

强密码应由字母字符、数字和符号的混合组成。
第二个要求是不要使用已知的词、出生日期或名字,因为你很容易受到 字典攻击.
另一个要问的重要问题:密码应该包含多少个字符? 实际上没有具体的答案,但是超过 16 个字符是一个不错的选择。
因此,如果您的系统具有 OpenSSL 或 GPG,您可以使用这些工具来完成生成任务。
为了 example,使用以下命令我们可以使用 GPG 生成:

$ gpg --gen-random --armor 1 32

就我而言,刚才,结果是:

6lS7cgCyT9vkCZIDQIXcgbXk7bkoVZqdZ0U4HZ4RJw8=

同样,使用 OpenSSL:

$ openssl rand -base64 32

输出是:

CrUk9dNutlsCErYv5U19ZWP0Pe9GwQgwdDgUNEapXjk=

如您所见,它非常高效,也非常简单!
注意:不要使用以前的密码! 这些只是示例。

检查您的密码是否强

现在我们有了密码,是时候看看它是否通过了测试:您的密码是否足够强大? 即使有人使用蛮力攻击?
为了确定密码是否足够强大,我们将使用 破解库.

在 Linux 上安装 Cracklib

在RHEL/上安装cracklibFedora/CentOS,只需使用 yum:

# yum install cracklib

键入以下命令以在基于 Debian 的系统上安装:

# apt-get install libcrack2

所以,现在我们将使用

破解库检查

命令。

首先,我们测试一个简单的密码:

$ echo "123abcd" | cracklib-check

如果你这样做,你会得到:

abcd1234:过于简单化/系统化

如果您使用普通词?:

$ echo "admin" | cracklib-check

admin: 它基于字典单词

当然,这些结果并不令人意外。 使用一个日常英语单词,基于字典的攻击很快就会成功。
所以,是时候检查生成两个密码是否是个好主意!
在这种情况下,我们将使用不同的命令编写方式,因此密码不会存储在 shell 历史记录中:

$ cat|cracklib-check

然后,粘贴:

CrUk9dNutlsCErYv5U19ZWP0Pe9GwQgwdDgUNEapXjk=

你会读到:

CrUk9dNutlsCErYv5U19ZWP0Pe9GwQgwdDgUNEapXjk=:好的

在这种情况下,我认为没有人会对这个密码获得批准而感到惊讶。

openssl

命令遵循创建良好的强密码所需的所有规则。

密码管理器

所以,仅此而已! 在本教程中,我们已经看到生成和验证密码是多么容易,但不要忘记为每个服务生成不同的密码! 不幸的是,这给您留下了各种各样的随机密码……您是怎样记住所有密码的?
当然,有为此任务编写的软件。 您将需要一个好的密码管理器! 狩猎快乐!