🀹♂️ ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ слоТности ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… CentOS 7 / RHEL

Π’ этом руководствС ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ слоТности ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… Π½Π° основС CentOS 7/RHEL.

Π’ нашСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ руководствС Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ ΠΎ настройкС слоТности пароля Π² Ubuntu 18.04:

? ΠšΠ°ΠΊ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ слоТности ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π² Ubuntu 18.04

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ слоТности ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π² CentOS 7

Как ΠΈ Π² нашСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ руководствС, ΠΌΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ PAM pwquality для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ слоТности ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π² ОБ Π½Π° основС CentOS 7/RHEL.

Π’ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΡ‚ Ubuntu ΠΈΠ»ΠΈ Debian ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» /etc/pam.d/common-password.

Для CentOS 7 ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/security/pwquality.conf ΠΈΠ»ΠΈ /etc/pam.d/system-auth.

Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, сдСлайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π½Π° Ρ‚ΠΎΡ‚ случай, Ссли Π΄Π΅Π»Π° ΠΏΠΎΠΉΠ΄ΡƒΡ‚ Π½Π΅ Ρ‚Π°ΠΊ.

cp /etc/security/pwquality.conf /etc/security/pwquality.conf.original
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.original

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для рСдактирования.

vim /etc/pam.d/system-auth

НайдитС строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ pam_pwquality.so;

passwordrequisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

Π—Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ строку ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π΅ строкой, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅;

passwordrequisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root

Π“Π΄Π΅:

  • minlen = 8– устанавливаСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ пароля Π² 8 символов.
  • lcredit = -1 -УстанавливаСт минимальноС количСство строчных Π±ΡƒΠΊΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ
  • ucredit = -1-УстанавливаСт минимальноС количСство Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ² Π² ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ.
  • dcredit = -1 — устанавливаСт минимальноС количСство Ρ†ΠΈΡ„Ρ€ Π² ΠΏΠ°Ρ€ΠΎΠ»Π΅, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΎΠ΄Π½ΠΎ
  • ocredit = -1 — ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ минимальноС количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… символов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ @, #,! $% ΠΈ Ρ‚. Π΄.
  • forcece_for_root — Π“Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ, Π΄Π°ΠΆΠ΅ Ссли это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ root, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ слоТности Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки authconfig, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅;

authconfig --enablereqlower --enablerequpper --enablereqdigit --enablereqother --passminlen=8 --passmaxrepeat=3 --update

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² основном Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ хотя Π±Ρ‹ (Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ порядкС);

  • ΠΎΠ΄Π½Ρƒ ΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ
  • ΠΎΠ΄Π½Ρƒ Π·Π°Π³Π»Π°Π²Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ
  • ΠΎΠ΄Π½Π° Ρ†ΠΈΡ„Ρ€Ρƒ
  • Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ символ.
  • 8 символов ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€
  • Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 3 символов, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ.

ИзмСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π² /etc/security/pwquality.conf.

tail /etc/security/pwquality.conf# Path to the cracklib dictionaries. Default is to use the cracklib default.# dictpath =minlen = 8minclass = 1maxrepeat = 3maxclassrepeat = 0lcredit = -1ucredit = -1dcredit = -1ocredit = -1

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ root ΠΈΠ»ΠΈ любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ sudo всСгда ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ любой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ нСзависимо ΠΎΡ‚ примСняСмых ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ.

Однако, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ слоТности ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊΠ°ΠΊ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ root, Ρ‚Π°ΠΊ ΠΈ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ с sudo, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ forcece_for_root Π² строку Π½ΠΈΠΆΠ΅ Π² /etc/pam.d/system-auth.

password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= enforce_for_root

ВСстированиС примСнСния ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ root, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ  ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ соотвСтствуСт установлСнным ΡƒΡ‡Π΅Ρ‚Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

# passwd amosChanging password for user amos.New password: @moskifaru1BAD PASSWORD: The password contains less than 1 uppercase lettersNew password: @mosKifaruBAD PASSWORD: The password contains less than 1 digitsNew password: mosKifaru1BAD PASSWORD: The password contains less than 1 non-alphanumeric characterspasswd: Have exhausted maximum number of retries for service

ВСстированиС с использованиСм Π±ΠΎΠ»Π΅Π΅ слоТного пароля; @mosKifaru1

# passwd amosChanging password for user amos.New password: @mosKifaru1Retype new password: @mosKifaru1passwd: all authentication tokens updated successfully.

Π­Ρ‚ΠΎ всС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ слоТности ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π² CentOS 7.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° коммСнтария

0 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ