4.2. authconfig を使用したシステムパスワードの設定

4.2.1. パスワードのセキュリティー

パスワードがプレーンテキスト形式で保存されている場合は、クラッキング、不正アクセスや改ざんに対して脆弱になります。これを回避するには、パスワードハッシュダイジェストをセキュアに保存するための暗号化ハッシュアルゴリズムを使用することができます。IdM でサポートされる推奨 (およびデフォルト) のハッシュアルゴリズムは SHA-512 で、これは追加のセキュリティーとして 64 ビット文字と、ソルトおよびストレッチングも使用します。後方互換性を確保するために、SHA-256、DES、BigCrypt および MD5 もサポートします。

重要

後方互換性が不要な場合は、SHA-512 の方がよりセキュアであるため、こちらのみを使用してください。

4.2.1.1. UI でのパスワードハッシュの設定

ローカル認証のオプション タブでは、ローカルパスワードをシステムに保存する方法を設定します。パスワードハッシュアルゴリズム のドロップダウンメニューでは、パスワードハッシュをセキュアに保存するアルゴリズムを設定します。
  1. 「authconfig UI の起動」 にあるように、authconfig UI を開きます。
  2. 高度なオプション タブを開きます。
  3. パスワードハッシュアルゴリズム のドロップダウンメニューから使用するアルゴリズムを選択します。
  4. 適用 ボタンをクリックします。

4.2.1.2. コマンドラインでのパスワードハッシュ化の設定

ユーザーのパスワードダイジェストをセキュアに保存するために使用するハッシュアルゴリズムを設定もしくは変更するには、--passalgo オプションとハッシュの略名を使用します。たとえば、SHA-512 アルゴリズムには以下を使用します。
[root@server ~]# authconfig --passalgo=sha512 --update

4.2.2. パスワードの複雑性

パスワードの複雑性 は、ローカルユーザーアカウントの設定に使用可能なパスワードの強度を設定します。複雑性は、長さと文字クラスの組み合わせで決められます。パスワードの複雑性を決定するポリシーは、2 つの要素から構成されます。ひとつはパスワードで使用可能な文字タイプの特定です (大文字と小文字や特別な文字など)。もうひとつはパスワード内でこれらの文字がどのように使用できるかです (長さおよび連続文字数)。

4.2.2.1. UI を使用したパスワードの強度設定

  1. 「authconfig UI の起動」 にあるように、authconfig UI を開きます。
  2. パスワードオプション タブを開きます。
  3. 以下の 最小パスワード要件 を設定します。
    • パスワードの最低限の長さ
    • パスワードで使用する文字クラスの最低数
  4. パスワードに 必要な文字クラス を有効にします。たとえば、パスワードには大文字を使用することができますが、大文字 チェックボックスを選択すると、パスワードはすべて大文字を使用する必要があります。
  5. 同じ文字もしくは同じクラスを連続させることができる最大数を設定します (これをゼロに設定すると、連続する数は制限されません)。
    同じ文字 フィールドでは、単一文字の連続可能な最大数を設定します。たとえばこれを 2 に設定すると、ssecret は許可されますが sssecret は許可されません。
    同様に 同じクラス では、(大文字、特別文字といった) 文字クラスからの文字の連続可能な最大数を設定します。たとえばこれを 3 に設定すると、secret!! は許可されますが、secret!!@secret1234 は許可されません。
  6. 適用 ボタンをクリックします。

4.2.2.2. コマンドラインでのパスワードの複雑性の設定

パスワードの複雑性をコマンドラインで定義する際には、設定要件は 2 つの要素から構成されます。ひとつは、パスワードの構成方法です。つまり、長さや連続文字数、必要な文字クラスの数などです。
  • パスワードの最低限の長さ (--passminlen)。
  • パスワードで使用する文字クラスの最低数 (--passminclass)。
  • 同じ文字を連続させることができる最大数 (--passmaxrepeat)。これをゼロに設定すると、連続する数は制限されません。
  • 同じクラスの文字 (数字など) を連続させることができる最大数 (--passmaxclassrepeat)。これをゼロに設定すると、連続する数は制限されません。
もうひとつは、パスワードに使用できる文字クラスを定義します。すべてのクラスが暗示的に使用可能ですが、--enablereqType オプションを使うと、特定のクラスが必須となり、そのクラスがないパスワードは許可されません。(反対に、クラスを明示的に拒否する設定も可能です。)
  • 大文字 (--enablerequpper)
  • 小文字 (--enablereqlower)
  • 数字 (--enablereqdigit)
  • 特殊文字 (--enablereqother)
たとえば、以下の設定では最小文字数を 9 文字とし、文字およびクラスの最大連続数は 2 となり、大文字と特殊文字の両方を必須とします。
[root@server ~]# authconfig --passminlen=9 --passminclass=3 --passmaxrepeat=2 -passmaxclassrepeat=2 --enablerequpper --enablereqother --update