如何在 Linux 中生成和检查强密码
介绍
不同的操作需要不同的安全层。访问您的电子邮件帐户、社交媒体、银行帐户以及通过 SSH 管理的远程服务器都需要不同的安全层,并且包含具有不同“权重”的数据。
但是,为了访问所有这些操作,您始终需要相同的东西:密码。
我们都知道,为了免受攻击,您真正需要一个强密码,当然,我们都知道,最好对不同的服务使用不同的密码。
一个非常不明智的决定(也是常见的错误)是使用您的服务器密码访问 Facebook。这个决定可能会给你带来很多麻烦。
那么我们如何轻松管理创建强密码的任务呢?
在本教程中,我们将讨论如何生成和检查您的密码。
生成强密码
强密码应由字母、数字和符号混合组成。
第二个要求是不要使用已知的单词、出生日期或姓名,因为您很容易受到字典攻击。
另一个重要问题是:密码应包含多少个字符?实际上没有具体的答案,但超过 16 个字符是一个不错的选择。
因此,如果您的系统有OpenSSL或GPG,您可以使用这些工具来完成生成任务。
例如,使用以下命令我们可以使用 GPG 生成:
gpg --gen-random --armor 1 32
就我而言,刚才的结果是:
6lS7cgCyT9vkCZIDQIXcgbXk7bkoVZqdZ0U4HZ4RJw8=
类似地,使用 OpenSSL:
openssl rand -base64 32
输出是:
CrUk9dNutlsCErYv5U19ZWP0Pe9GwQgwdDgUNEapXjk=
正如您所看到的,它非常高效而且非常简单!
注意:不要使用以前的密码!这些只是示例。
检查您的密码是否安全
现在我们有了密码,是时候看看它是否通过测试了:您的密码强度足够吗?即使有人使用暴力攻击?
为了确定密码是否足够强,我们将使用cracklib。
在Linux上安装cracklib
要在 RHEL/Fedora/CentOS 上安装 crashlib,只需使用 yum:
yum install cracklib
键入以下命令以在基于 Debian 的系统上安装:
apt-get install libcrack2
所以,现在我们将使用
cracklib-check
命令。
首先,我们测试一个简单的密码:
echo "123abcd" | cracklib-check
如果你这样做,你会得到:
abcd1234: it is too simplistic/systematic
如果你用一个普通的词?:
echo "admin" | cracklib-check
admin: it is based on a dictionary word
当然,这些结果并不令人意外。使用日常英语单词,基于字典的攻击很快就会成功。
因此,是时候检查一下生成两个密码是否是个好主意了!
在这种情况下,我们将使用不同的方式编写命令,因此密码不会存储在 shell 历史记录中:
cat|cracklib-check
然后,粘贴:
CrUk9dNutlsCErYv5U19ZWP0Pe9GwQgwdDgUNEapXjk=
您将读到:
CrUk9dNutlsCErYv5U19ZWP0Pe9GwQgwdDgUNEapXjk=: OK
在这种情况下,我认为任何人都会对这个密码获得批准感到惊讶。
openssl
命令遵循创建良好、强密码所需的所有规则。
密码管理器
所以,就这样!在本教程中,我们已经看到生成和验证密码是多么容易,但不要忘记为每个服务生成不同的密码!不幸的是,这给你留下了各种各样的随机密码……你如何记住它们?
当然,有专门为此任务编写的软件。您需要一个好的密码管理器!狩猎快乐!