web-dev-qa-db-ja.com

パスワードの複雑さのポリシーを実施するにはどうすればよいですか?

次を指定する厳格な会社パスワードポリシーに従うようにUbuntuサーバーを構成する必要があります。

  • 少なくとも1つの大文字
  • 少なくとも1つの小文字
  • 少なくとも1桁
  • 少なくとも1つの特殊文字

私は周りを見回しましたが、私が見つけたのはパスワードの長さを指定するための 指示 です。しかし、上記の点に関してパスワードの内容を指定することに関連するものをまだ見つけていません。

助けていただければ幸いです。

13
Stephen RC

パスワードの複雑さは pam_cracklib モジュールによって強制されます。

ローカルマシンのパスワードポリシーを変更するには、/etc/pam.d/common-passwordファイルを変更する必要があります。

ターミナルウィンドウから(Ctrl+Alt+T)、次のコマンドを入力します。

Sudo -i gedit /etc/pam.d/common-password

次の行をファイルに追加し(pam_unix.soまたはマンページの例からわかるように、主に認証に使用されるPAMモジュールの前)、ファイルを保存します。

password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

このステートメントは、次のパスワード要件を実装します。

  • dcredit == digit
  • ucredit ==大文字
  • lcredit ==小文字
  • ocredit ==その他の文字(!,@#$%を含む特殊文字)

これは要件を満たす必要があります。

変数minlengthおよびretriesを使用して、パスワード要件をさらに制限することもできます。

この方法でパスワードポリシーを変更する別の良い例は、/etc/pam.d/common-passwordファイルに次の行を配置することです。

password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

このエントリは、10文字の最小長で許容可能なパスワードの取得を最大3回試行します。

これにより、ユーザーは最後のパスワードとは異なる最低3文字を使用する必要があります。

これは、パスワードに数字、小文字、および大文字をそれぞれ少なくとも1つ含めるという要件も満たします。

Linuxでより強力なパスワードポリシールールを設定する のこの記事も参照してください。

18
Kevin Bowen