Отключить вход по SSH со слабыми паролями

Отключить вход по SSH со слабыми паролями

Представьте себе безумного администратора сервера Debian, который для начала добавил пользователей со слабым паролем и намекнул, что им придется сменить его при первом входе в систему.

Теперь, когда он использует только безопасные пароли, есть ли способ предложить каждому пользователю со слабым паролем сменить его на более безопасный пароль, содержащий не менее 12 символов, цифр, специальных символов,... и при этом не беспокоить пользователей, у которых уже есть безопасный пароль?

решение1

Двухэтапное решение:

  1. Не позволяйте пользователям создавать слабые пароли. Частично это можно сделать с помощью pam_unix.so со строкой, как в вашей конфигурации pam (предположительно в /etc/pam.d/common-passwordили подобной) (obscure и minlen=9 немного помогут):

    пароль [успех=1 по умолчанию=игнорировать] pam_unix.so неясный minlen=9 sha512
    
    или установить более сложную программу проверки паролей в PAM (например, pam-cracklib, которая проверяет надежность пароля, может проверять пароли по словарям и т. д. всякий раз, когда пользователь пытается изменить свой пароль).

  2. Если вы ранее разрешали слабые пароли, требуйте смены всех паролей при следующем входе в систему. Посмотрите на , man shadowчтобы узнать, как установить пароль, установив дату последнего изменения пароля на 0, при условии, что вам не нужно редактировать /etc/shadowнапрямую — вы можете сделать это с помощью sudo chage -d 0 $USERNAME(или использовать sudo passwd -e $USERNAME). Если вы хотите, чтобы все пароли истекли, и у каждого есть каталог с его именем пользователя, /homeвы можете сделать:

    судо су
    компакт-диск /домой
    для USERNAME в *; сделать chage -d 0 $USERNAME ; готово
    

решение2

Тебе необходимокрэклибиPAM-cracklibдля решения вашего случая. Идея в том, что SSH будет использовать PAM, и пароль будет проверен бесшовно и безопасно. Взгляните на последнюю ссылку, которую я предоставил - она ​​содержит отличное руководство, мне нечего добавить к нему

решение3

Нет, он не сможет этого сделать.

Пароль хранится только в виде "хеша" в /etc/shadow-. Так что администратор вообще не знает, как выглядят пароли.

Поэтому он может только предложить всем пользователям сменить пароль при следующем входе в систему, а затем проверить, что он надежный.

Связанный контент