在 Oracle Linux 8/9 中設定以下密碼原則和複雜性需求
在Oracle Linux 8/9設定密碼原則和複雜性,參考Red Hat Enterprise Linux 資料1。有說明以下設定
1.強制 root 密碼複雜性。
2.密碼大小(新密碼可接受的最小長度)。
3.設定密碼的位數限制。
4.設定密碼中大寫字元的數量限制。
5.設定密碼中小寫字元的數量限制。
6.設定密碼中其他字元的數量限制。
7.設定密碼中所需類別的最小數量(數字、大寫字母、小寫字母、其他)。
8.設定密碼中允許的連續相同字元的最大數量。
9.設定密碼中允許的同一類連續字元的最大數量。
10.設定舊密碼中不得出現在新密碼中的字元數。
11.不應允許使用者在密碼中包含使用者名稱。
上述要求可以透過pam_pwquality達成。預設情況下,此模組在所有 SSSD 設定檔中啟用。
2.密碼大小(新密碼可接受的最小長度)。
3.設定密碼的位數限制。
4.設定密碼中大寫字元的數量限制。
5.設定密碼中小寫字元的數量限制。
6.設定密碼中其他字元的數量限制。
7.設定密碼中所需類別的最小數量(數字、大寫字母、小寫字母、其他)。
8.設定密碼中允許的連續相同字元的最大數量。
9.設定密碼中允許的同一類連續字元的最大數量。
10.設定舊密碼中不得出現在新密碼中的字元數。
11.不應允許使用者在密碼中包含使用者名稱。
上述要求可以透過pam_pwquality達成。預設情況下,此模組在所有 SSSD 設定檔中啟用。
設定說明
可以依據需求將以下設定加入/etc/security/pwquality.conf中。1.強制 root 密碼複雜性。
enforce_for_root2.密碼大小(新密碼可接受的最小長度)。
minlen = 9密碼最小長度為9個字元
3.密碼中包含數字的最大信用。
dcredit = -1密碼必須包含數字的數量
4.密碼中包含大寫字元的最大信用。
ucredit = -1密碼必須包含大寫字母的數量
5.密碼中包含小寫字元的最大信用。
lcredit = 1密碼必須包含小寫字母的個數
6.密碼中包含特殊字元的最大信用。
ocredit = 1密碼必須包含特殊字元的數量
7.密碼中所需字元類別的最小數量。
minclass = 18.密碼中允許的連續相同字元的最大數量。
maxrepeat = 2最多只允許2個連續字元(如果是0,則停用該選項)
9.密碼中允許的同類連續字元的最大數量。
maxclassrepeat = 2最多只允許2個連續字元(如果是0,則停用該選項)
10.設定舊密碼中不得出現在新密碼中的字元數。
difok = 5新密碼最多可以有5個字元和舊密碼相同
此選項對root沒有作用,因為root不會被要求輸入舊密碼,因此不會執行比較新舊密碼的檢查
11.不應允許使用者在密碼中包含使用者名稱。
啟用pam_pwquality,預設強制執行這個條件。可以檢查/etc/security/pwquality.conf
---
# Whether to check if it contains the user name in some form.
# The check is enabled if the value is not 0.
# usercheck = 1
#
# Length of substrings from the username to check for in the password
# The check is enabled if the value is greater than 0 and usercheck is enabled.
# usersubstr = 0
---
關於3.4.5.6選項設定使用信用(credit),可根據要求以不同方式配置信用值。
信用值評估如下:
信用值 > 0:新密碼中包含對應字元的最大信用值。
信用值 < 0:新密碼中包含對應字元所需的最低強制信用值。
信用值 = 0:對於新密碼中的對應字元類別沒有強制要求。
信用值評估如下:
信用值 > 0:新密碼中包含對應字元的最大信用值。
信用值 < 0:新密碼中包含對應字元所需的最低強制信用值。
信用值 = 0:對於新密碼中的對應字元類別沒有強制要求。
另外以下參數在網路上查到參考使用
1.只限定本機帳號
local_users_only
1.只限定本機帳號
local_users_only
2.密碼3次嘗誤後產生錯誤提示
retry=3
retry=3
3.新密碼不能和最近用過的4次密碼相同
remember=4
remember=4
4.使用sha512 加密方法加密
sha512
sha512