弱いパスワードによるSSHログインを無効にする

弱いパスワードによるSSHログインを無効にする

最初に弱いパスワードとヒントを持つユーザーを追加し、最初のログイン時にパスワードを変更する必要があると警告する非常識な Debian サーバー管理者を想像してください。

安全なパスワードのみを使用するようになったので、すでに安全なパスワードを使用しているユーザーに迷惑をかけずに、弱いパスワードを使用しているすべてのユーザーに対して、少なくとも 12 文字の文字、数字、特殊文字などを含むより安全なパスワードに変更するように促す方法はありますか?

答え1

2段階の解決策:

  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 $USERNAMEsudo passwd -e $USERNAME/home

    sudo su
    cd /ホーム
    for USERNAME in *; do chage -d 0 $USERNAME ; 完了
    

答え2

あなたには必要だクラックライブラリそしてPAM-クラックライブラリあなたのケースを解決するために。SSHはPAMを使用し、パスワードはシームレスかつ安全に検査されるというアイデアです。私が提供した最後のリンクを見てください。そこには素晴らしいチュートリアルが含まれています。私はそれに付け加えることはありません。

答え3

いいえ、彼にはそれができないでしょう。

パスワードは /etc/shadow- に「ハッシュ」としてのみ保存されます。そのため、管理者はパスワードがどのようなものかまったく知りません。

したがって、次回のログイン時にすべてのユーザーにパスワードの変更を促し、そのパスワードが正しいことを確認することしかできません。

関連情報