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


13

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

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

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

任意の助けをいただければ幸いです。

回答:


19

パスワードの複雑さは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 ==桁
  • ucredit ==大文字
  • lcredit ==小文字
  • ocredit==他の文字(を含む特殊文字! , @ # $ %

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

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

この方法でパスワードポリシーを変更するもう1つの良い例は、/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でより強力なパスワードポリシールール設定する方法に関するこの記事も参照してください。


3
素晴らしい答えです!再試行に関して、最近ログインに失敗した回数が多すぎるユーザーがログオンできないようにするポリシーを検討する際には注意することが重要だと付け加えます。これにより、アカウントに対する最も単純で最も簡単に実行されるサービス拒否攻撃の1つが実行可能になる可能性があります(アカウントが「ロックアウト」されて正当なユーザーがログインできなくなるまで、X回ログインを試みて失敗します) 。
エリアケイガン

素晴らしい回答、ありがとう:)質問の1つrootは、ユーザーがパスワード要件を無視できるように思われることです...これをrootユーザーにも強制することは可能ですか?
スティーブンRC

@Valorin rootユーザーがパスワード要件のどの部分を尊重していないのですか?
ケビンボーウェン

それのどれ@maggotbrain、それは警告をスローしますが、まだそれを保存し、これは、パスワード「スネア」でした:paste.ubuntu.com/1543154
スティーブンRC

@Valorinでは、「root」というアカウントを有効にし、このパスワードでこのアカウントを使用できますか?どのような警告が表示されますか?残念ながら、これを自分でテストするための有効なルートアカウントを持つマシンはありません。バグのように聞こえますが、さらに情報が必要です。
ケビンボーエン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.