在本教程中,我们将了解针对更强密码要求的 Linux 密码策略。
您有没有想过为什么遵循密码策略或创建更强的密码很重要? 伙计们,我们周围有很多黑客和破解者。 我们永远不知道我们的系统何时会被黑客入侵或某些重要信息会被盗。 什么都有可能发生! 大多数人设置了弱密码或重复使用他们的旧密码。
根据 entrepreneur.com 上发表的一篇文章,91% 的人知道重复使用密码是一种不好的做法,而且你知道 59% 的人在任何地方重复使用他们的密码。 人们应该理解为什么拥有一个安全和强大的密码很重要。 2013 年,Adobe 报告称,黑客窃取了近 300 万条加密卡记录,以及数量不详的用户帐户的登录数据。 您可以看到最知名的公司并不安全,因此我们有责任采取预防措施。
这就是为什么我想就 Linux 密码策略给出一个更强的密码要求的原因。 Linux 总共为用户制定了 9 种密码策略。 这些是:
- 密码最短使用期限政策
- 密码最长期限政策
- 密码历史记录策略
- 最小密码长度策略
- 使用大写字符策略
- 使用小写字符策略
- 在密码策略中使用最少位数
- 密码警告政策
- 密码重试策略
我们将根据用户讨论所有示例。 让我们首先使用添加用户 添加用户 CLI 中的命令。 这会将用户添加到系统中。 让我们看一下命令:
sudo addusr vaishali
如果您使用简单的字典单词密码,您可能会看到诸如“太简单”或“基于字典单词”之类的错误。 看,系统已经知道您使用的密码很弱。 系统想要保护您的数据! 因此,请明智地设置您的密码。
让我们详细讨论每项政策。
Linux 密码策略 – 最小长度策略
此策略通过设置最小长度来提高密码安全性。 我们倾向于设置更简单的密码,以便我们可以轻松记住它们。 但这对我们的数据构成威胁。 你想让你的密码很容易被破解者破解吗? 我不这么认为! 没有人想要这个。 默认情况下,Linux 系统中的密码长度是固定的。 我们也可以改变这个长度。 让我们更多地了解这一点。
如果我们想为密码添加更多功能,比如它必须包含大写或小写字符,长度应为 12 个字符。 这是可能的,但请确保您已安装密码质量检查库。 如果没有,请不要担心,您可以使用下面的 apt 命令完成安装。 我们来看一下:
sudo apt-get install libpam-pwquality
现在,我们需要使用可以添加功能的通用密码文件。 通用密码文件位于 /etc/pam.d 目录。 在这里,我在下面提供了访问它的命令:
cd /etc/pam.d ls
使用 ls 命令列出所有文件。 你会看到一个名为 通用密码. 使用 nano 命令打开文件,如下所示:
sudo nano /etc/pam.d/common-password
文本编辑器将打开,您可以在其中找到代码。 在这里,我们可以设置 Linux 密码策略,例如最小长度。 要将最小长度添加为 12,请使用 分钟 = 12 在第一条非注释行的末尾(见下面的第一条白线。
不要忘记保存文件。 利用 Ctrl + O 保存更改,然后使用退出编辑器 Ctrl+X。 如果您再次尝试更改密码,更改将被反映。 在下图中,您可以看到我尝试设置长度小于 12 的密码,但显示错误。
我希望你明白这一点。
密码历史政策
让我们继续讨论 Linux 密码策略的更多设置。 我们将在此处设置密码历史记录策略。 你有没有注意到,如果你使用任何旧密码更改你的谷歌密码,它会通知这个密码以前被使用过? 它会检查您的密码历史记录。 这与 Linux 的密码策略相同。 当用户设置新密码或更改密码时,它会检查所有密码,如果匹配,则会显示一条消息。
如果要设置此功能,可以通过更改 记住 /etc/pam.d/common-auth 文件中的参数。 我已经在上面讨论了如何列出位于 pam.d 目录。 你会发现一个名为 普通认证 您可以在其中将记住参数设置为您想要的任何值。 您可以使用如下所示的命令访问该文件:
sudo nano /etc/pam.d/common-auth
在这里,我将值设置为 2,即用户将无法使用与他最近使用的 2 个密码匹配的任何密码。
设置密码的最长寿命
看起来很有趣? 是的! 到目前为止,我们讨论了如何设置号码历史检查。 对于用户,我们可以设置一个最长期限,直到我们能够使用此密码。 这是重要的 Linux 密码策略之一,因此请确保您成功实施此策略。
如果您长时间使用相同的密码,它可能会被黑客入侵。 因此,您应该定期更改密码。 您可以更改密码的最大天数 登录.defs 文件。 该文件位于 /etc 目录中。 我提供了以下命令来打开文件。 您可以更改参数 PASS_MAX_DAYS 的值。 此功能称为最大年龄策略。 让我们看一下命令:
sudo nano /etc/login.defs
更改值 PASS_MAX_DAYS,保存更改并退出编辑器。
密码的最短寿命
现在,你会明白我要讨论的重点。 早些时候,我们讨论了最大年龄政策。 最低年龄政策听起来也一样,但差别很小。 在此,我们提供密码的年龄,一段时间后它会自动过期。
因此,用户必须重新设置密码! 例如,如果我将密码最长使用期限设置为 90 天,则密码将在 90 天后自动过期。 通知用户设置新密码。 此属性位于 /etc 目录中的 login.defs 文件中。 这两个属性,即最小年龄和最大年龄都位于 login.defs 文件中。 我已经提供了访问 login.defs 文件的命令。 下面,我再次提供:
sudo nano /etc/login.defs
在这里,您可以根据自己的选择设置 PASS_MIN_DAYS 的值。 Save 通过使用所做的更改 Ctrl + O 如上所述并退出文件。
Linux 密码策略 – 密码警告
您可能在想密码如何警告我们? 冷静点,它只是显示您之前设置的密码即将过期的警告,您需要更改它。
举个例子:在为您的系统创建 Linux 密码策略时,假设我们将密码的最长使用期限设置为 90 天。 所以两三天前,用户会收到提示,提示您的密码需要在到期前更改。 因此,此属性设置在到期日期之前更改密码的提醒。 该属性位于最小年龄属性之下 登录.defs 文件,位于 /etc 目录中。 让我们看看下面打开文件的命令:
sudo nano/etc/login.defs
设置值 PASS_WARN_AGE 根据您的选择。 如果您将值更改为 7,则让,因此它会在密码到期前 7 天提醒您。 Save 更改并退出编辑器。 您的更改将被反映。
允许使用最少一组大写字符的密码
是的! 在为您的系统创建 Linux 密码策略时,您还可以设置密码所需的最少大写字符。 在这里,您可以设置可以使用多少个大写字符的限制。 这可以通过设置 ucredit 的值来完成。 您必须在位于 /etc/pam.d 目录的通用密码文件中设置此选项。 让我们讨论打开文件的命令:
sudo nano /etc/pam.d/common-password
在这里,您必须设置 ucredit=-1. 如果要查看结果,可以使用密码更改命令,如下所示:
sudo passwd vaishali
它将显示密码包含少于 1 个大写字母的错误。 我希望你理解这个政策。
最少小写字符
之前,我们讨论了如何设置大写字符的最小数量。 您可能会想,如果有一个选项可以设置大写字符的限制,那么也必须有一个小写字符的选项。
是的! 我们有一个选择。 只需将 ucredit 中的 ‘u’ 替换为 ‘l’ 即可。 您必须设置的值 l我猜它 为-1。 您已对位于 /etc/pam.d 目录中的 common-password 文件进行了更改。 我已经讨论了 pam.d 目录的路径。 不过别担心,我也会在这里讨论。 所以这个命令如下:
sudo nano /etc/pam.d/common-password
在这里,您可以看到 信用 设置为 -1,这意味着我们至少需要 1 个小写字符。 Save 更改并退出文本编辑器。 它将反映您何时再次使用上面讨论的 passwd 命令更改密码。
设置密码中的位数限制
是的! 还有一个选项可以设置密码中的最小位数。 只需将值设置为 信用 为 -1 或您要设置为最小值的任何其他负数。 同样,正如我们在上面所做的那样,在位于 /etc/pam.d 目录的通用密码文件中设置此属性的值。 让我们讨论一下这个命令:
sudo nano /etc/pam.d/common-password
在这里,我们必须设置如上图所示的值。 不要忘记保存更改并退出编辑器。
Linux 密码策略 – 重试限制
您在填写密码时可能已经看到,如果您一次又一次地输入错误的密码,它会显示您尝试了最大尝试次数的消息。 但是您也可以更改限制!
您可以设置的值 重试 根据您的选择。 在 通用密码 文件位于 /etc/pam.d 目录中。 让我们讨论一下这个命令:
根据需要设置重试的值。 Save 更改并退出编辑器。 我希望你理解这个概念。
结论
我们已经成功地讨论了设置更强密码的 Linux 密码策略。 如果遇到任何问题,请在评论部分告诉我们。