โ Your password has to expire every 30 days.
โ The minimum number of days allowed before the modification of a password will be set to 2.
โ The user has to receive a warning message 7 days before their password expires.
โ Your password must be at least 10 characters long. It must contain an uppercase letter and a number. Also, it must not contain more than 3 consecutive identical characters.
โ The password must not include the name of the user.
โ The following rule does not apply to the root password: The password must have at least 7 characters that are not part of the former password.
โ Of course, your root password has to comply with this policy.
ํด์
โ ๋น์ ์ ํจ์ค์๋๋ 30์ผ๋ง๋ค ์๋ฉธ๋์ด์ผ ํ๋ค.
โ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ์ ์ํด ๊ธฐ๋ค๋ ค์ผ ํ๋ ์๊ฐ์ ์ต์ ์ดํ๋ก ์ค์ ๋์ด์ผ ํ๋ค.
โ user ๋ ๋น๋ฐ๋ฒํธ ์๋ฉธ 7์ผ ์ ์ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ฐ์์ผ ํ๋ค.
โ ๋น๋ฐ๋ฒํธ๋ ์ต์ 10๊ธ์ ์ด์์ด ๋์ด์ผ ํ๊ณ , ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ํฌํจํ์ฌ์ผ ํ๋ฉฐ, ๊ฐ์ ๊ธ์๊ฐ 3๋ฒ ์ด์ ์ฐ์๋๋ฉด ์๋๋ค.
โ ๋น๋ฐ๋ฒํธ์ ์ ์ ๋ช
์ด ํฌํจ๋๋ฉด ์๋๋ค.
โ ๋ค์ ๊ท์น์ root ๋น๋ฐ๋ฒํธ์ ์ ์ฉ๋์ง ์๋๋ค. : ๋น๋ฐ๋ฒํธ๋ ์ด์ ๋น๋ฐ๋ฒํธ์ ํฌํจ๋์ง ์๋ ๋ฌธ์๋ฅผ ์ต์ 7๊ฐ ์ด์ ํฌํจํ์ฌ์ผ ํ๋ค.
โ ๋น์ฐํ ๋ฃจํธ ๊ถํ ๋น๋ฐ๋ฒํธ ๋ํ ์ด ๊ท์น์ ๋ฐ๋ผ์ผ ํ๋ค.
๋น๋ฐ๋ฒํธ ์ ์ฑ
์ค์ ์ ์ํด ์์ ํด์ผ ํ๋ ํ์ผ์ /etc/login.defs์ ์๋ค.
$ sudo apt-get install vim
Shell
๋ณต์ฌ
# ๋น๋ฐ๋ฒํธ ์ต๋ ์ฌ์ฉ ๊ธฐ๊ฐ
PASS_MAX_DAYS 30
# ๋น๋ฐ๋ฒํธ ์ต์ ์ฌ์ฉ ๊ธฐ๊ฐ
PASS_MIN_DAYS 2
# ๋น๋ฐ๋ฒํธ ๋ง๋ฃ ๊ฒฝ๊ณ ๊ธฐ๊ฐ ( 7์ผ ์ ๋ถํฐ )
PASS_WARN_AGE 7
Shell
๋ณต์ฌ
์ดํ ์ถ๊ฐ์ ์ธ ๋น๋ฐ๋ฒํธ ์ ์ฑ
๋ณ๊ฒฝ์ ์ํด ์๋ ๋ช
๋ น์ด๋ฅผ ํตํด ์ถ๊ฐ ํจํค์ง๋ฅผ ์ค์นํ๋ค
$ sudo apt-get install libpam-pwquality
Shell
๋ณต์ฌ
์ค์ ํ์ผ ์คํ
$ sudo vi /etc/pam.d/common-password
Shell
๋ณต์ฌ
๋ค์๊ณผ ๊ฐ์ด ์์
Option | Description | value |
retry | ๋ฐ๋ณต ์๋ ๊ฐ๋ฅ ํ์ | 3 |
minlen | ๋น๋ฐ๋ฒํธ ์ต์ ๊ธธ์ด | 10 |
difok | ์ด์ ๋น๋ฐ๋ฒํธ์ ํฌํจ๋์ง ์๋ ๋ฌธ์ ์ต์ ๊ฐ์ | 7 |
ucredit | ๋๋ฌธ์ ํฌํจ ๊ท์น | -1 (์ต์ ํ ๊ธ์ ์ด์) |
dcredit | ์ซ์ ํฌํจ ๊ท์น | -1 (์ต์ ํ ๊ธ์ ์ด์) |
reject_username | ์ ์ ๋ช
ํฌํจ ๊ธ์ง | |
enforce_for_root | root์ ์ ์ฉ | |
maxrepeat | ๊ฐ์ ๊ธ์ ์ฐ์ ์ ํ | 3 |
Documentation์ ๋ด์ฉ ์ค difok ๊ท์น์ root์ ์ ์ฉํ์ง ๋ง์์ผ ํ๋ค๊ณ ๋์์๋ค.
ํ์ง๋ง, ๋ณธ ๊ท์น์์๋ difok ๊ท์น์ enforce_for_root ์ต์
๊ณผ ํจ๊ป ์์ฑํ์ฌ ๋ฃจํธ์๋ ์ ์ฉ์ ํด ์ค ๊ฒ ์ฒ๋ผ ๋ณด์ด์ง๋ง, difok ๊ท์น์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ด์ ๋น๋ฐ๋ฒํธ๊ฐ ์ ์ฅ๋์ด์ผ ํ๋ค. ํ์ง๋ง root๋ ์ด์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํ์ง ์์ difok ๊ท์น์ด ๋ฌด์๋๋ค.
๊ธฐํ ๊ท์น์ ย ์ด ๋งํฌ ์ฐธ๊ณ !
ํ์ผ ์ ์ฅ ํ ์ ์ฉ์ ์ํด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ค. ๋ค์ ๋ก๊ทธ์ธ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ท์น์ ๋ง๊ฒ ๊ฐ์ ๋ณ๊ฒฝํ๋๋ก ํ๋ค.
$ passwd -e root
$ passwd -e [username] # [username]์ ์ํ๋ ๊ฐ ์
๋ ฅ
Shell
๋ณต์ฌ
์ฌ ๋ก๊ทธ์ธ ์ ํจ์ค์๋ ๋ณ๊ฒฝ ์๋ฆผ ๋ชจ์ต
/etc/shadow ๋ฅผ ํ์ธํด ๋ณด์์ ๋ root ์ mcha ์ ๋น๋ฐ๋ฒํธ ์ต์ ์ฌ์ฉ์ผ, ์๋ฉธ ์ผ, ๊ฒฝ๊ณ ์ผ์ด ๋ณ๊ฒฝ ๋์ด ์์ง ์๋ค. ๋ฐ๋ผ์ ์๋ ๋ช
๋ น์ด๋ก ๊ฐ์ ๋ณ๊ฒฝ ํด์ค๋ค.
$ chage -m 2 -M 30 -W 7 root
$ chage -m 2 -M 30 -W 7 [username]
Shell
๋ณต์ฌ
โ ๋ณ๊ฒฝ ๋ ๋ชจ์ต