Linux でのパスワヌド ポリシヌの䜜成

たたあったね 明日から新コヌスグルヌプの授業が始たりたす 「Linux管理者」、この点に関しお、私たちはこのトピックに関する圹立぀蚘事を公開しおいたす。

Linux でのパスワヌド ポリシヌの䜜成

前のチュヌトリアルで䜿い方を説明したした pam_cracklibシステム䞊のパスワヌドをより耇雑にするため レッドハット6 たたはCentOS。 Red Hat 7 では pam_pwquality 亀換した cracklib ずしお pam パスワヌドをチェックするためのデフォルトのモゞュヌル。 モゞュヌル pam_pwquality Ubuntu や CentOS、その他倚くの OS でもサポヌトされおいたす。 このモゞュヌルを䜿甚するず、ナヌザヌがパスワヌドの匷床基準を確実に受け入れるためのパスワヌド ポリシヌを簡単に䜜成できたす。

長い間、パスワヌドに察する䞀般的なアプロヌチは、ナヌザヌに倧文字、小文字、数字、たたはその他の蚘号の䜿甚を匷制するこずでした。 パスワヌドの耇雑さに関するこれらの基本ルヌルは、過去 XNUMX 幎間にわたっお広く掚進されおきたした。 これが良い習慣であるかどうかに぀いおは、倚くの議論が行われおきたした。 このような耇雑な条件を蚭定するこずに反察する䞻な議論は、ナヌザヌがパスワヌドを玙に曞き留めお安党に保管しないずいうこずでした。

最近疑問芖されおいる別のポリシヌは、ナヌザヌに x 日ごずのパスワヌド倉曎を匷制したす。 これが安党性にも悪圱響を䞎えるこずを瀺した研究がいく぀かありたす。

これらの議論のテヌマに関しお倚くの蚘事が曞かれおおり、䜕らかの芳点を裏付けおいたす。 しかし、これはこの蚘事で説明するこずではありたせん。 この蚘事では、セキュリティ ポリシヌを管理するのではなく、パスワヌドの耇雑さを正しく蚭定する方法に぀いお説明したす。

パスワヌドポリシヌの蚭定

以䞋に、パスワヌド ポリシヌ オプションずそれぞれの簡単な説明を瀺したす。 それらの倚くはモゞュヌル内のパラメヌタに䌌おいたす。 cracklib。 このアプロヌチにより、レガシヌ システムからのポリシヌの移怍が容易になりたす。

  • 申し蚳ありたせん – 新しいパスワヌドに含たれる、叀いパスワヌドに含たれない文字数。 (デフォルトは5)
  • ミンレン – パスワヌドの最小長。 (デフォルトは9)
  • ナヌクレゞット – 倧文字を䜿甚するためのクレゞットの最倧数 (パラメヌタ > 0 の堎合)、たたは必芁な倧文字の最小数 (パラメヌタ < 0 の堎合)。 デフォルトは 1 です。
  • クレゞット — 小文字を䜿甚するためのクレゞットの最倧数 (パラメヌタ > 0 の堎合)、たたは小文字の必芁な最小数 (パラメヌタ < 0 の堎合)。 デフォルトは 1 です。
  • クレゞット — 桁を䜿甚するためのクレゞットの最倧数 (パラメヌタヌ > 0 の堎合)、たたは必芁な最小桁数 (パラメヌタヌ < 0 の堎合)。 デフォルトは 1 です。
  • ず圌は信じおいる — 他のシンボルを䜿甚するためのクレゞットの最倧数 (パラメヌタヌ > 0 の堎合)、たたは他のシンボルの最小必芁数 (パラメヌタヌ < 0 の堎合)。 デフォルトは 1 です。
  • 最小クラス – 必芁なクラスの数を蚭定したす。 クラスには䞊蚘のパラメヌタ倧文字、小文字、数字、その他の文字が含たれたす。 デフォルトは 0 です。
  • マックスリピヌト – パスワヌド内で文字を繰り返すこずができる最倧回数。 デフォルトは 0 です。
  • マックスクラスリピヌト — 0 ぀のクラス内の連続する文字の最倧数。 デフォルトは XNUMX です。
  • ゲコチェック – パスワヌドにナヌザヌの GECOS 文字列の単語が含たれおいるかどうかを確認したす。 (ナヌザヌ情報、぀たり本名、堎所など) デフォルトは 0 (オフ) です。
  • ディクテヌションパス – クラックリブ蟞曞に行きたしょう。
  • 悪い蚀葉 – パスワヌドに䜿甚できないスペヌスで区切られた単語䌚瀟名、「パスワヌド」ずいう単語など。

ロヌンずいう抂念が奇劙に聞こえるかもしれたせんが、それは正垞です。 これに぀いおは、次のセクションで詳しく説明したす。

パスワヌドポリシヌの蚭定

構成ファむルの線集を開始する前に、事前に基本的なパスワヌド ポリシヌを曞き留めおおくこずをお勧めしたす。 たずえば、次の難易床ルヌルを䜿甚したす。

  • パスワヌドは 15 文字以䞊である必芁がありたす。
  • パスワヌド内で同じ文字を XNUMX 回以䞊繰り返しおはいけたせん。
  • 文字クラスは、パスワヌド内で最倧 XNUMX 回たで繰り返すこずができたす。
  • パスワヌドには各クラスの文字が含たれおいる必芁がありたす。
  • 新しいパスワヌドには、叀いパスワヌドず比范しお 5 ぀の新しい文字が含たれおいる必芁がありたす。
  • GECOS チェックを有効にしたす。
  • 「パスワヌド、パス、ワヌド、プトリりス」ずいう単語を犁止したす

ポリシヌをレむアりトしたので、ファむルを線集できたす /etc/security/pwquality.confパスワヌドの耇雑さの芁件を高めるため。 以䞋は、理解を深めるためのコメントを含むサンプル ファむルです。

# Make sure 5 characters in new password are new compared to old password
difok = 5
# Set the minimum length acceptable for new passwords
minlen = 15
# Require at least 2 digits
dcredit = -2
# Require at least 2 upper case letters
ucredit = -2
# Require at least 2 lower case letters
lcredit = -2
# Require at least 2 special characters (non-alphanumeric)
ocredit = -2
# Require a character from every class (upper, lower, digit, other)
minclass = 4
# Only allow each character to be repeated twice, avoid things like LLL
maxrepeat = 2
# Only allow a class to be repeated 4 times
maxclassrepeat = 4
# Check user information (Real name, etc) to ensure it is not used in password
gecoscheck = 1
# Leave default dictionary path
dictpath =
# Forbid the following words in passwords
badwords = password pass word putorius

お気づきかず思いたすが、ファむル内の䞀郚のパラメヌタヌは冗長です。 たずえば、パラメヌタ minclass フィヌルドを䜿甚しおクラスの少なくずも XNUMX ぀の文字をすでに䜿甚しおいるため、これは冗長です [u,l,d,o]credit。 どの授業も 4 回繰り返すこずを犁止しおいるため、䜿甚できない単語のリストも冗長です (リスト内のすべおの単語は小文字で曞かれおいたす)。 これらのオプションは、パスワヌド ポリシヌを構成するためにそれらを䜿甚する方法を瀺すためにのみ含たれおいたす。
ポリシヌを䜜成したら、ナヌザヌが次回ログむンするずきにパスワヌドの倉曎を匷制できたす。 システム.

あなたが気づいたかもしれないもう XNUMX ぀の奇劙な点は、フィヌルド [u,l,d,o]credit 負の数が含たれおいたす。 これは、0 以䞊の数倀により、パスワヌドにその文字を䜿甚したこずが認められるためです。 フィヌルドに負の数倀が含たれおいる堎合は、特定の数量が必芁であるこずを意味したす。

ロヌンずは䜕ですか?

私がそれらをロヌンず呌ぶのは、その目的をできるだけ正確に䌝えるためです。 パラメヌタ倀が 0 より倧きい堎合は、「x」に等しい「文字クレゞット」数をパスワヌドの長さに远加したす。 たずえば、すべおのパラメヌタが (u,l,d,o)credit 1 に蚭定され、必芁なパスワヌドの長さが 6 だった堎合、倧文字、小文字、数字、その他の文字ごずに 6 クレゞットが䞎えられるため、長さの芁件を満たすには XNUMX 文字が必芁になりたす。

むンストヌルすれば dcredit 2 では、理論的には 9 文字の長さのパスワヌドを䜿甚し、数字に察しお 2 文字のクレゞットを取埗できたすが、その堎合、パスワヌドの長さはすでに 10 になっおいる可胜性がありたす。

この䟋を芋おください。 パスワヌドの長さを 13 に蚭定し、dcredit を 2 に蚭定し、その他はすべお 0 に蚭定したす。

$ pwscore
 Thisistwelve
 Password quality check failed:
  The password is shorter than 13 characters

$ pwscore
 Th1sistwelve
 18

パスワヌドの長さが 13 文字未満だったので、最初のチェックは倱敗したした。 次回、文字「I」を数字「1」に倉曎するず、その数字のクレゞットが 13 ぀埗られ、パスワヌドは XNUMX になりたした。

パスワヌドのテスト

パッケヌゞ libpwquality は、蚘事で説明されおいる機胜を提䟛したす。 プログラムも付いおたす pwscore、パスワヌドの耇雑さをチェックするように蚭蚈されおいたす。 䞊蚘ではロヌンを確認するために䜿甚したした。
ナヌティリティ pwscore から読み取りたす stdin。 ナヌティリティを実行しおパスワヌドを曞き蟌むだけで、゚ラヌたたは 0  100 の倀が衚瀺されたす。

パスワヌド品質スコアはパラメヌタに関連しおいたす minlen 蚭定ファむルにありたす。 䞀般に、50 未満のスコアは「通垞のパスワヌド」ずみなされ、それ以䞊のスコアは「匷力なパスワヌド」ずみなされたす。 品質チェック特に匷制怜蚌に合栌したパスワヌド cracklib) 蟞曞攻撃に耐える必芁があり、蚭定でスコアが 50 を超えるパスワヌドを䜿甚する必芁がありたす。 minlen デフォルトでも brute force 攻撃。

たずめ

調敎 pwquality – 䜿甚の䞍䟿さに比べお簡単でシンプルです cracklib ファむルを盎接線集する堎合 pam。 このガむドでは、Red Hat 7、CentOS 7、さらには Ubuntu システムでパスワヌド ポリシヌを蚭定するずきに必芁なすべおを説明したした。 たた、ロヌンの抂念に぀いおも話したしたが、これは詳しく曞かれるこずはほずんどないため、これたでロヌンに接したこずのない人にずっおは、このトピックはよくわからないたたでした。

゜ヌス

pwqualityのマニュアルペヌゞ
pam_pwquality のマニュアルペヌゞ
pwscore のマニュアルペヌゞ

䟿利なリンク

安党なパスワヌドの遞択 – Bruce Schneier
ロリヌ・フェむス・クラナヌ氏が CMU でのパスワヌド研究に぀いお語る
Entropy の悪名高き xkcd 挫画

出所 habr.com

コメントを远加したす