3.4 パスワードおよび認証ポリシーの管理

Oracle Exadataサーバーには、パスワードおよび認証ポリシーを表示および変更するための単純なインタフェースを提供するhost_access_controlユーティリティ(/opt/oracle.cellos/host_access_control)が含まれています。

Oracleでは、host_access_controlユーティリティを使用して、パスワードおよび認証ポリシーを表示および変更することをお薦めします。独自のコストとリスクでhost_access_controlユーティリティの範囲外でカスタマイズを実行できます。

  • 新しいアカウント作成用のパスワード・エージング・ポリシー設定を管理するには、password-policyオプションを指定してhost_access_controlコマンドを使用します。

    • 使用可能なオプションおよび設定の詳細は、次を使用します:

      # /opt/oracle.cellos/host_access_control password-policy --help
    • 現在のポリシー設定を表示するには、次を使用します:

      # /opt/oracle.cellos/host_access_control password-policy --status
    • ポリシーを出荷時のデフォルト設定にリセットするには、次を使用します:

      # /opt/oracle.cellos/host_access_control password-policy --defaults

      出荷時のデフォルトのパスワード・エージング・ポリシーでは、次のようになります:

      • 最大パスワード期間は60日です。

      • パスワードの変更間で許可される最小期間は1日です。

      • パスワードの最小の長さは8文字です。

      • パスワード失効警告期間は7日です。

    • 特定のポリシー設定を変更するには、次のうち1つ以上を指定します:

      • --PASS_MAX_DAYS: パスワード最大経過時間(日数)を指定します。

      • --PASS_MIN_DAYS: パスワード変更の間隔として許可される最小日数を指定します。

      • --PASS_MIN_LEN: パスワードの最小の長さを指定します。

      • --PASS_WARN_AGE: パスワード失効警告期間(日数)を指定します。

      たとえば、次のコマンドを使用して、パスワードの最大経過時間を100日、パスワードの最小の長さを12文字に設定します:

      # /opt/oracle.cellos/host_access_control password-policy --PASS_MAX_DAYS 100 --PASS_MIN_LEN 12
  • 既存の対話型ユーザー・アカウントのパスワード・エージング・ポリシーを管理するには、password-agingオプションを指定してhost_access_controlコマンドを使用します。

    • 使用可能なオプションおよび設定の詳細は、次を使用します:

      # /opt/oracle.cellos/host_access_control password-aging --help
    • 現在のポリシー設定を表示するには、次を使用します:

      # /opt/oracle.cellos/host_access_control password-aging --status
    • パスワード・エージング・ポリシーを出荷時のデフォルト設定にリセットするには、次を使用します:

      # /opt/oracle.cellos/host_access_control password-aging --defaults

      出荷時のデフォルトのパスワード・エージング・ポリシーでは、次のようになります:

      • 最大パスワード期間は60日です。

      • パスワードの変更間で許可される最小期間は1日です。

      • パスワードの最小の長さは8文字です。

      • パスワード失効警告期間は7日です。

    • パスワード・エージング・ポリシーをExadataセキュア・デフォルト設定にリセットするには、次を使用します:

      # /opt/oracle.cellos/host_access_control password-aging --secdefaults

      Exadataのセキュアなデフォルト設定では、パスワードの最小の長さは15文字です。その他の設定は、出荷時のデフォルト・ポリシーに一致します。

    • 既存のユーザーを変更して、新しいアカウント作成のポリシー設定(host_access_controlpassword-policyオプションとともに使用して定義された設定)を使用するには、次を使用します:

      # /opt/oracle.cellos/host_access_control password-aging --policy
    • ユーザーの特定のポリシー設定を変更するには、ユーザーと次の属性の1つ以上を指定します:

      • --maxdays: パスワード最大経過時間(日数)を指定します。

      • --mindays: パスワード変更の間隔として許可される最小日数を指定します。

      • --warndays: パスワード失効警告期間(日数)を指定します。

      たとえば、次のコマンドを使用して、oracle OSユーザーのパスワードの最大経過時間を80日に設定します:

      # /opt/oracle.cellos/host_access_control password-aging --maxdays 80 --user oracle
  • システム認証ポリシー設定を管理するには、pam-authオプションを指定してhost_access_controlコマンドを使用します。システム認証設定には、すべてのユーザーに適用されるパスワード複雑度とパスワード履歴ルールが含まれています。

    Oracle Exadata System Software 23.1.0およびOracle Linux 8以降、pam-authオプションで管理されるセキュリティ設定は、Linux authselectユーティリティを使用してカスタムExadataセキュリティ・プロファイルにカプセル化されます。

    • 使用可能なオプションおよび設定の詳細は、次を使用します:

      # /opt/oracle.cellos/host_access_control pam-auth --help
    • 現在の認証設定を表示するには、次を使用します:

      # /opt/oracle.cellos/host_access_control pam-auth --status
    • 認証設定を出荷時のデフォルト設定にリセットするには、次を使用します:

      # /opt/oracle.cellos/host_access_control pam-auth --defaults

      出荷時のデフォルトの認証設定では、次のようになります:

      • ユーザー・アカウントは、15分以内に3回のログイン試行が失敗した後、15分間ロックされます。

      • ユーザー・パスワードを変更する場合、新しいパスワードは以前の10個のパスワードのいずれにも一致することはできません。

      • パスワードの複雑度のルールは、使用中のOracle Linuxのバージョンによって異なります。

        Oracle Linux 7以降のシステムの場合:

        • パスワードの最小の長さは8文字です。

        • パスワードには、少なくとも1つの数字、1つの大文字、1つの小文字および他の1つの文字を含める必要があります。

        • パスワードに3回を超えて同じ文字を連続して使用することはできません。

        • パスワードには、同じクラス(数字、小文字、大文字またはその他の文字)から連続する4文字を超える文字を含めることはできません。

        • パスワードを変更するには、新しいパスワードに最低8文字の変更を含める必要があります。

        Oracle Linux 6以前のシステムの場合、パスワードの最小の長さは5文字で、これ以上の複雑度の要件はありません。

    • 認証設定をExadataセキュア・デフォルト設定にリセットするには、次を使用します:

      # /opt/oracle.cellos/host_access_control pam-auth --secdefaults

      Exadataセキュア・デフォルト設定では、次のようになります:

      • ユーザー・アカウントは、15分以内に3回のログイン試行が失敗した後、15分間ロックされます。

      • ユーザー・パスワードを変更する場合、新しいパスワードは以前の10個のパスワードのいずれにも一致することはできません。

      • パスワードの複雑度のルールは、使用中のOracle Linuxのバージョンによって異なります。

        Oracle Linux 7以降のシステムの場合:

        • パスワードの最小の長さは15文字です。

        • パスワードには、少なくとも1つの数字、1つの大文字、1つの小文字および他の1つの文字を含める必要があります。

        • パスワードに3回を超えて同じ文字を連続して使用することはできません。

        • パスワードには、同じクラス(数字、小文字、大文字またはその他の文字)から連続する4文字を超える文字を含めることはできません。

        • パスワードを変更するには、新しいパスワードに最低8文字の変更を含める必要があります。

        Oracle Linuxのバージョンが以前のシステムの場合、パスワードの最小の長さは8文字で、パスワードには少なくとも1つの数字、1つの大文字、1つの小文字、他の1つの文字が含まれている必要があります。または、文字の4つのクラス(数字、小文字、大文字またはその他の文字)のうち少なくとも3つを含む12文字以上のパスワードを使用できます。

    • 特定の認証設定を変更するには、次のうち1つ以上を指定します:

      • --deny: アカウント・ロックアウトをトリガーする間隔(--intervalで指定)内の必要な連続ログイン試行失敗回数を指定します。

      • --interval: アカウント・ロックアウトをトリガーするために連続ログイン試行失敗が発生する秒数を指定します。

      • --lock: アカウント・ロックアウトの期間(秒)を指定します。

      • --passwdqc: この設定は、Oracle Linux 6以前のシステムにのみ適用されます。値は、様々なタイプのパスワードまたはパスフレーズに許可される最小長を定義するカンマ区切りリストです。この設定の詳細は、pam_passwdqc Linuxのマニュアル・ページを参照してください。

      • --pwquality: この設定は、Oracle Linux 7以降のシステムにのみ適用されます。値は、パスワードの最小の長さを定義する整数か、minlendcreditucreditlcreditocreditdifokmaxrepeatmaxclassrepeatminclassmaxsequenceおよびgecoscheck属性を使用してパスワード複雑性ルールを定義するカンマ区切りリストです。パスワードの複雑度属性の詳細は、pam_pwquality Linuxのマニュアル・ページを参照してください。

      • --remember: 各ユーザーのパスワード履歴リストのサイズを指定します。パスワード変更の場合、新しいパスワードは、パスワード履歴リストにある以前のパスワードと一致することはできません。

      たとえば、次のコマンドを使用して、10分以内に2回のログイン試行が失敗した後のロックアウト期間を20分に設定します:

      # /opt/oracle.cellos/host_access_control pam-auth --lock 1200 --deny 2 --interval 600