5.3. オフライン認証の有効化

SSSD は、デフォルトでは、ユーザーの認証情報をキャッシュしません。認証要求の処理時に、SSSD は常にアイデンティティープロバイダーに問い合わせします。プロバイダーが利用できない場合は、ユーザー認証に失敗します。

アイデンティティープロバイダーが利用できない場合にユーザーが認証できるようにするには、/etc/sssd/sssd.conf ファイルで cache_credentialstrue に設定して認証情報キャッシュを有効にできます。キャッシュされた認証情報とは、パスワードと、2 要素認証が使用されている場合の最初の認証要素を指します。スマートカード認証の場合、cache_credentials を true に設定したり、追加の設定を行ったりする必要はありません。正常に実行されたオンライン認証がキャッシュに記録されている限り、オフラインでも動作するはずです。

重要

SSSD は、パスワードをプレーンテキストでキャッシュしません。パスワードのハッシュのみを保存します。

認証情報はソルト付きの SHA-512 ハッシュとして保存されますが、攻撃者がブルートフォース攻撃を使用してキャッシュファイルにアクセスし、パスワードを解読できた場合、セキュリティーリスクが生じる可能性があります。キャッシュファイルにアクセスするには、RHEL のデフォルトである特権アクセスが必要です。

前提条件

  • root アクセス

手順

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. ドメインセクションで、cache_credentials = true 設定を追加します。

    [domain/your-domain-name]
    cache_credentials = true
  3. 任意ですが、推奨されます。アイデンティティープロバイダーが利用できない場合に SSSD がオフライン認証の許可期間に制限を設定します。

    1. SSSD と連携するように PAM サービスを設定します。

      詳細は authselect でユーザー認証の設定 を参照してください。

    2. offline_credentials_expiration オプションを使用して、時間制限を指定します。

      制限は日単位で設定されることに注意してください。

      たとえば、最終ログインに成功してから 3 日間、オフライン認証を可能にするには、以下を使用します。

      [pam]
      offline_credentials_expiration = 3

関連情報

  • sssd.conf(5) の man ページ