[ad_1]
尽管 Linux 被认为是一个安全的操作系统,但它的安全性与登录用户的密码强度一样好。 密码策略的存在是为了确保为用户设置强密码,作为 Linux 用户,您应该注意强制执行这些策略,以防止发生违规行为。 您肯定不希望用户配置弱密码或可猜测密码,这些密码可能会在几秒钟内被黑客强行使用。
在本文中,我们将探讨如何在 Linux,更具体地说是 CentOS 和 Ubuntu 中实施密码策略。 我们将介绍执行密码策略,例如密码有效期、密码复杂性和密码长度。
在 Ubuntu / Debian 中强制执行密码策略
您可以通过两种主要方式实施密码策略。 让我们详细看看每一个。
1) 配置密码可以使用的最大天数
首先,您可以配置一个密码策略,要求用户在一定天数后更改其密码。 最佳实践规定,应定期更改密码,以防止恶意用户失控,并使他们更难破坏您的系统。 这不仅适用于 Linux,还适用于其他系统,例如 Windows 和 macOS。
为此,在 Debian/Ubuntu 中,您需要修改 /etc/login.defs 文件并留意 PASS_MAX_DAYS 属性。
默认情况下,这设置为 99,999 天 如图所示。
您可以将其修改为合理的持续时间,例如 30 天。 只需将当前值设置为 30,如图所示并保存更改。 30 天过后,您将被迫创建另一个密码。
2)使用pam配置密码复杂度
确保密码满足一定程度的复杂性同样重要,并进一步阻止黑客使用蛮力渗透您的系统的任何企图。
作为一般规则,强密码应包含大写、小写、数字和特殊字符的组合,并且长度至少应为 12-15 个字符。
要在 Debian / Ubuntu 系统中强制执行密码复杂性,您需要安装 libpam-pwquality 包装如图:
$ sudo apt install libpam-pwquality
安装后,前往 /etc/pam.d/common-password 您要设置密码策略的文件。 默认情况下,文件显示如下:
找到下图所示的行
password requisite pam_pwquality.so retry=3
将以下属性添加到该行:
minlen=12 maxrepeat=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 difok=4 reject_username enforce_for_root
整行应如下所示:
让我们详细说明这些指令的含义:
- 重试=3:此选项将在退出并返回错误之前提示用户 3 次。
- 米伦 = 12:这指定密码不能少于 12 个字符。
- 最大重复=3:这意味着密码中最多只能包含 3 个重复字符。
- ucredit=-1:该选项要求密码中至少有一个大写字符。
- lcredit=-1:该选项要求密码中至少有一个小写字符。
- 信用=-1:这意味着密码应该最后有一个数字字符。
- 信用=-1:该选项要求密码中至少包含一个特殊字符。
- 分频 = 3:这意味着旧密码中最多只能有 3 个字符的新密码更改。
- 拒绝用户名:如果密码以正常方式或反向方式包含用户名,则该选项拒绝密码。
- 强制for_root:这可确保遵守密码策略,即使是 root 用户配置密码。
在 CentOS / RHEL 中强制执行密码策略
对于 Debian 和 Ubuntu 系统,我们通过更改 /etc/pam.d/common-password 配置文件。
对于 CentOS 7 和其他衍生版本,我们将修改 /etc/pam.d/system-auth 或者 /etc/security/pwquality.conf 配置文件。
因此,继续并打开文件:
$ sudo vim /etc/pam.d/system-auth
找到下图所示的行
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
在行中附加选项,如图所示。
minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
您最终将拥有以下行:
完成后,保存密码策略并退出文件。
再一次,当您尝试使用不符合强制策略的弱密码创建用户时,您将遇到终端中显示的错误。
结论
如您所见,执行密码策略非常简单,并且是防止用户设置可能容易猜测或容易遭受暴力攻击的弱密码的极好方法。 通过执行这些策略,您可以放心,您已经加强了系统的安全性,并使黑客更难以破坏您的系统。
[ad_2]