ααααΆααα½αβααΆβααααΈβααααβααα! ααααΆαααα
αααα»ααααα»ααααααα·ααααΆααααΈα
αΆααααααΎααα
ααααααα’αα
αα
αααα»αααααααα»α ααΎαααΆαααααΆααα’αααααΈααααααααΎ pam_cracklib
ααΎααααΈααααΎα±ααααΆααααααααΆαααα
ααΎααααααααααΆαααααααα»αααααΆα pam_pwquality
ααΆααααα½α cracklib
as pam
αααΌαα»αααααΆαααΎααααααΆαααα·αα·αααααΆααααααααΆααα αααΌαα»α pam_pwquality
ααΆααααααααααα
ααΎ Ubuntu αα·α CentOS ααααΌα
ααΆ OS ααΆα
αααΎααααα αααΌαα»ααααααααΎα±ααααΆααΆααααα½ααααα»αααΆααααααΎααααααΆαααααΆααααααααΆαα ααΎααααΈααΆααΆααΆα’αααααααΎααααΆααααα½ααααααααααΆαααΆαααΉαααΆαααααΆααααααααΆααααααα’αααα
α’ααααααααααΆααΌαααα αΎα αα·ααΈααΆαααααααΌαα α ααααααΆααααααααΆααααΊααΎααααΈαααααα’αααααααΎααααΆααα±ααααααΎα’αααααα α’ααααααΌα ααα α¬αα·αα·ααααααααΆααααααααα α αααΆααααΆααΌαααααΆαααΆααααααααααΆααααΆααααα»αααααΆαααααΆααααααααΆααααααΌαααΆαααααααααααΆααααΆαααΌααααΌααΆααααα»ααααααααααααααΆαααααααααααα ααΆαααΆααα·ααΆααααΆααΆα αααΎαα’αααΈααΆααΎαααααΆααΆαα’αα»ααααααα’α¬α’ααα αα‘αα αΈααααα αααααααααΆααααΉαααΆαααααααααααααααααααα»αααααΆααααααΊα’αααααααΎααααΆαααααααααΆααααααααΆαααα ααΎαααααΆα α αΎααααααΆαα»αααΆααααα»ααααα·ααΆαα
αααααΆααααα½ααααααααααααααααΈααααααααΌαααΆααααα α α αΌααα αααα»ααααα½ααααααα±ααα’αααααααΎααααΆααααααΆααααααΌαααΆααααααααΆαααααααα½ααααααααΆαα x ααααααααα ααΆαβααΆαβαα·ααααΆβαα½αβα ααα½αβαααβααΆαβαααα αΆαβααΆβαααβααβααΆαβαααααααααΆααβαααβαα»ααααα·ααΆαβααβαααα
α’αααααααΆα αααΎαααααΌαααΆααααααααΎαααααΆαααααααΆααα·ααΆααααΆααΆααααα ααααααααΆααααΈαααααααα½α α¬α ααα»α ααααααααα ααα»ααααααααα·ααααααΆα’αααΈαααααΎαααΉααα·ααΆααααΆαα αααα»αα’ααααααααααα α’ααααααααααΉααα·ααΆαα’αααΈαααααααααααΆααααα»αααααΆαααΆααααααααΆααα±ααααΆαααααΉαααααΌα ααΆααΆαααααααααααααααΆααααα»ααααα·ααΆαα
ααΆαααααααααααΆαααααΆααααααααΆαα
ααΆααααααα’αααααΉαααΎααααααΎααααααΆαααααΆααααααααΆαα αα·αααΆααα·αααααΆααααααα’αααΈααΈαα½ααα αα½αααΆααΆα
αααΎαααααααααΉααααΆαααΆαααααααα
αααα»ααααΌαα»α cracklib
. αα·ααΈααΆααααααααααααΎα±ααααΆααΆααααααΆααααα½ααααα»αααΆααααααΌαααααααααΆαααααα’αααααΈααααααααα
αΆααα
- ααΈα αααΌα - α ααα½ααα½α’αααααα αααα»αααΆααααααααΆααααααΈααααα’ααα ααααα·ααα½αααΆααα αααα»αααΆααααααααΆααα αΆααααααα’αααα (ααααΆαααΎα 5)
- ααΈαα‘αα - ααααααααΆααααααααΆααα’αααααααΆα (ααααΆαααΎα 9)
- α₯αααΆα - α ααα½αα’αα·ααααΆααααααααΈααααααΆααααΆαααααΎααααΆαααα½α’αααααα (ααααα·αααΎαααΆαααΆαααααα> 0) α¬α ααα½αα’αααααααΆαααααααΌαααΆααααα½α’αααααα (ααααα·αααΎαααΆαααΆαααααα < 0) α ααααΆαααΎαααΊ 1 α
- α₯αααΆα - α ααα½αα’αα·ααααΆααααααααΈααααααΆααααΆαααααΎααααΆαααα½α’ααααααΌα (ααααα·αααΎαααΆαααΆαααααα> 0) α¬α ααα½αα’αααααααΆαααααααΌαααΆααααα½α’ααααααΌα (ααααα·αααΎαααΆαααΆαααααα < 0) α ααααΆαααΎαααΊ 1 α
- dcredit - α ααα½αα’αα·ααααΆααααααααΈααααααΆααααΆαααααΎααααΆααααααα (ααααα·αααΎαααΆαααΆαααααα> 0) α¬α ααα½αααααααααααααΌαααΆαα’αααααααΆ (ααααα·αααΎαααΆαααΆαααααα < 0) α ααααΆαααΎαααΊ 1 α
- α₯αααΆα - α ααα½αα’αα·ααααΆααα₯αααΆααααααΆααααΆαααααΎααααΆαααα·αα·ααααααααΆαααααααα (ααααα·αααΎαααΆαααΆαααααα> 0) α¬α ααα½αα’αααααααΆαααααααΌαααΆααααα·αα·ααααααααΆαααααααα (ααααα·αααΎαααΆαααΆαααααα < 0) α ααααΆαααΎαααΊ 1 α
- ααααΆααααΌα - αααααα ααα½αααααΆαααααααααΌαααΆαα ααααΆαααα½αααΆααααΆαααΆααααααααΆαααΎ (α’αααααα α’ααααααΌα ααα αα½α’αααααααααααα)α ααααΆαααΎαααΊ 0 α
- maxrepeat - α ααα½αααα’αα·ααααΆααααα½α’ααααα’αΆα ααααΌαααΆαααααΎααααααααα αααα»αααΆααααααααΆααα ααααΆαααΎαααΊ 0 α
- maxclassrepeat - α ααα½αα’αα·ααααΆαααα½α’ααααααΆααααααΆαααα»αααααΆαααα½αα ααααΆαααΎαααΊ 0 α
- gecoscheck - αα·αα·αααααΎαααΆααΎααΆααααααααΆααααΆαααΆαααααΆαα½αααΈααααα’αααα GECOS ααααα’αααααααΎαααα¬ααα (ααααααΆαα’αααααααΎααααΆαα α§. ααααααα·α ααΈααΆααααα) ααααΆαααΎαααΊ 0 (αα·α)α
- ααααΌααααααΆ - ααααα αα ααΆαα»αααα cracklib α
- ααΆαααα’αΆααααα - ααΆαααβαααααβα αααααβαααβααααΌαβααΆαβα αΆαβααΆααβαααα»αβααΆαααβαααααΆαα (αααααβαααα»αα αα»α ααΆααα "αααβαααααΆαα" ααα)
ααααα·αααΎαααα·αααααααΆαααααα αΈααααΆαααα α ααααα ααΆαα·αα’αΈαα ααΆααΆααΏαααααααΆα ααΎαααΉααα·ααΆααααααααααα’αααΈααΏαααααα αααα»ααααααααΆααααααα
ααΆαααααααα ααΆαααααααααααααΆαααααΆααααααααΆαα
αα»ααααα’αααα αΆααααααΎαααααααα½αα―αααΆαααααααα ααΆαααααααα ααΆααΆααΆαα’αα»ααααααα’αααα»αααΆαααααααααααΆαααααΆααααααααΆααααΆααΌαααααΆαααΆαα»αα ααΆα§ααΆα ααα ααΎαααΉαααααΎα αααΆααααααΆαααΆααααααα
- ααΆααααααααΆααααααΌαααΆααααααααααΆααα·α 15 αα½α’ααααα
- αα½α’ααααααΌα ααααΆαα·ααα½αααααΌαααΆαααααΎαααααααααΎαααΈααΈααααααα»αααΆααααααααΆααααα
- ααααΆαααα½α’ααααα’αΆα ααααΌαααΆαααααΎααααααααα αΌαααααα½ααααα αααα»αααΆααααααααΆααα
- ααΆααααααααΆααααααΌαααααΆααα½α’ααααααΈααααΆααααΈαα½ααα
- ααΆαααβαααααΆααβααααΈβααααΌαβααβααΆαβαα½α’ααααβααααΈ 5 ααΎβαααβααΉαβαααβαααααΆααβα αΆααα
- ααΎαααΆααααα½ααα·αα·ααα GECOS α
- α αΆαααααΎααΆααα "password, pass, word, putorius"
α₯α‘αΌαβαααβααΎαβααΆαβααΆααβα
ααβαααααΆαααβα αΎα ααΎαβα’αΆα
βααααααα½αβα―αααΆαβααΆαα /etc/security/pwquality.conf
ααΎααααΈαααααΎααααααΌαααΆαααΆααααα»αααααΆαααααΆααααααααΆααα ααΆαααααααααααΆα―αααΆαα§ααΆα ααααααααΆαααα·ααααααααααΆααααΆααααααΉαααΆααααα
αααΆααα
# Make sure 5 characters in new password are new compared to old password
difok = 5
# Set the minimum length acceptable for new passwords
minlen = 15
# Require at least 2 digits
dcredit = -2
# Require at least 2 upper case letters
ucredit = -2
# Require at least 2 lower case letters
lcredit = -2
# Require at least 2 special characters (non-alphanumeric)
ocredit = -2
# Require a character from every class (upper, lower, digit, other)
minclass = 4
# Only allow each character to be repeated twice, avoid things like LLL
maxrepeat = 2
# Only allow a class to be repeated 4 times
maxclassrepeat = 4
# Check user information (Real name, etc) to ensure it is not used in password
gecoscheck = 1
# Leave default dictionary path
dictpath =
# Forbid the following words in passwords
badwords = password pass word putorius
ααΌα
αααα’ααααααα ααααΆααΆαααααααααΆαα αααΆαααΆαααααααα½αα
ααα½ααα
αααα»αα―αααΆαααααααΎαααΊαααααααΌαααΆαααα
αααα α§ααΆα ααααααΆαααΆαααααα minclass
ααΆβαα·αβααΎαβααΈβαααααβααΎαβααααΎβαααΆαβα αα
βααΆααβαα½α’ααααβααΈαβαα½α
βα αΎαβααΈβααααΆααβαααβααααΎβααΆα [u,l,d,o]credit
. αααααΈβααΆαααβαααβαα·αβα’αΆα
βααααΎβααΆαβααβαα·αβααααΎβαααααβααα αααααβααΎαβααΆαβα αΆαβααΆααβααΆαβααααΎβααααΆααβααΆβαα½αβα
ααα½α 4 αα (ααΆαααβααΆααβα’ααβαααα»αβαααααΈβααααβααΎαβααααΌαβααΆαβαααααβααΆβα’ααααβααΌα
)α αααα»αααΆααααα
αΌααααααΎαααΆαααααααΎααααΈαααα αΆαααΈααααααααΎαα½αααΆααΎααααΈααααααα
ααΆαααααααααααααΆαααααΆααααααααΆααααααα’αααα
αα
ααααααα’αααααΆααααααΎααααααΆαααααααα’αααα αΎα α’αααα’αΆα
αααααα’αααααααΎααααΆααα±ααααααΆααααααΌαααΆααααααααΆαααααααα½ααααα
ααααααααααααα½αααα
αΌαα
ααΏαα
ααααααα½αααααααα’ααααααα ααααΆααΆαααααααααΆαααααααΊααΆααααα [u,l,d,o]credit
ααΆααααα’αα·αααααΆαα αααααΊαααααΆααααααααααΆα α¬ααααΎ 0 ααΉααααααα₯αααΆααααααΆααααΆαααααΎααααΆαααα½α’αααααα
αααα»αααΆααααααααΆααααααα’αααα ααααα·αααΎααΆαααΆααααα’αα·αααααΆα ααΆααΆααααααΆααααΌαααΆαααα·ααΆαααΆααααΆααα
ααΎααααΆαααααα αΈααΆαα’αααΈαααα?
αααα»αα α
αα½αααααΆααααΆαααααα
αΈ ααΈαααααααΆαααα αΆαααΈααααααααααααα½αααα±ααααΆαααααΉαααααΌαααΆααααα’αΆα
ααααΎαα
ααΆαα ααααα·αααΎααααααααΆαααΆααααααααααΆα 0 α’αααααααααα
ααα½α "ααααααΈααα½α’αααα" ααααΎααΉα "x" αα
ααααααααΆααααααααΆααα α§ααΆα αααααααα·αααΎαααΆαααΆααααααααΆααα’ααα (u,l,d,o)credit
ααααααα
1 α αΎαααααααααΆααααααααΆαααααααααΌαααΆαααΊ 6 αααααΆααααα’αααααΉαααααΌαααΆα 6 αα½α’ααααααΎααααΈααααααααααΌαααΆααααααα ααΈαααααα’αααααα α’ααααααΌα
ααααα α¬αα½α’ααααααααααααααΉααααααα±ααα’αααααΌαααααααΈααα½αα
ααααα·αααΎα’αααααα‘αΎα dcredit
αα
ααα 2 α’αααα’αΆα
ααααΎααααΉααααΈααααΆααααααααΆαααααααΆααααααα 9 αα½α’αααα αα·αααα½αααΆα 2 αα½α’αααααααααΆααααα α αΎααααααΆααααααααααααΆααααααααΆααα’αΆα
ααΆα 10 αα½α
α αΎαα
ααΌααααα‘ααααΎαα§ααΆα ααααααα αααα»ααααααααααααααΆααααααααΆαααα 13 ααααα dcredit αα 2 αα·αα’αααΈααααααααααα ααΆ 0 α
$ pwscore
Thisistwelve
Password quality check failed:
The password is shorter than 13 characters
$ pwscore
Th1sistwelve
18
ααΆαααααααααΎαααααΌααααααααα»αααΆααααΆααα αααααΆαααΆααααααααΆααααΆααα·α ααΆα 13 αα½α’ααααα αα ααααααααΆαααααα»αααΆαααααΌαα’αααα "αααα»α" αα ααα "1" α αΎαααΆαααα½αααααααΈαααΈααααααΆααααααααααααΎα±ααααααααααΆααααααΎααΉα 13 α
ααΆαααααΎαααααααΆααααααααΆαα
αααα
αα libpwquality
αααααααΌααα»αααΆααααααΆααα·αααααΆαα
αααα»αα’αααααα ααΆααααααΆααααααΆαα½ααααααα·ααΈαααααα pwscore
αααααααΌαααΆααα
ααΆα‘αΎαααΎααααΈαα·αα·αααααΎαααΆααααα»αααααΆαααααΆααααααααΆααα ααΎαααΆαααααΎααΆααΆαααΎααΎααααΈαα·αα·αααααΎαααααΆαααααα
αΈα
α§αααααααααΎααααΆαα pwscore
α’αΆαααΈ
αα·αααα»αα»αααΆαααΆααααααααΆααααΊααΆαααααα
ααΉααααΆαααΆαααααα minlen
αα
αααα»αα―αααΆαααααααα
ααΆααααααααα ααΆααΌαα
αα·αααα»αα·α
ααΆα 50 ααααΌαααΆαα
αΆαααα»αααΆααΆ "ααΆααααααααΆααααααααΆ" α αΎααα·αααα»ααΆαααΎααΆααααΌαααΆαα
αΆαααα»αααΆααΆ "ααΆααααααααΆααααααΆαα" α ααΆααααααααΆααααΆαα½ααααααααααΆααααΆααααα½ααα·αα·ααααα»αααΆα (ααΆαα·αααααΆααααααααααΆαααααααααα cracklib
) ααααΌαααααααααααΉαααΆαααΆααααα αΆαααΆααα
ααΆαα»αααα αα·αααΆααααααααΆαααααααΆααα·αααα»ααΎαααΈ 50 ααΆαα½αααΉαααΆαααααα minlen
ααΌααααΈααααΆαααααΆαααΎα brute force
ααΆαααΆααααα αΆαα
ααα ααααΈααααα·ααααΆα
ααΆααααααααΌα pwquality
- ααΆααΆααααα½ααα·αααΆααααααΎαααααααααα
ααΉαααΆααα’αΆαααα’α½αααααΆαααααΎααααΆαα cracklib
ααΆαα½αααΉαααΆαααααααα½αα―αααΆααααααααΆαα pam
. αα
αααα»αααΆαααααΆαααα ααΎαααΆαααααααααααα’αααΈααααααααΆααααα’αααααααΌαααΆααα
ααααααα
ααααααΆαααααΆααααααααΆαααα
ααΎ Red Hat 7, CentOS 7 αα·αααΌααααΈαααααααααα Ubuntu α ααΎαααααΆααα·ααΆαα’αααΈαααα·αααααααΆαααααα
αΈαααααααααΉααααααα’αααΈαααα’α·α ααΌα
αααααααααΆααααααααΆααΏαααα
αααα·αα
αααΆααααΆαααααααΆααα’αααααααα·αααααΆαααα½ααααααααΆααΈαα»αααα
ααααα:
αααααΆαααααΆααααΆααααααααα:
ααααα: www.habr.com