1.2.4. LDAP を Dovecot 認証バックエンドとして使用する


通常、LDAP ディレクトリー内のユーザーは、ディレクトリーサービスに対して自分自身を認証できます。Dovecot は、これを使用して、ユーザーが IMAP または POP3 サービスにログインする場合、ユーザーを認証できます。

LDAP 認証を使用する利点はいくつかあります。たとえば、以下のようなものです。

  • 管理者は、ディレクトリーでユーザーを集中管理できます。
  • LDAP アカウントには、特別な属性は必要ありません。LDAP サーバーから認証を受けることができれば十分です。したがって、この方法は、LDAP サーバーで使用されるパスワード保存方式とは無関係です。
  • ユーザーは、Name Service Switch (NSS) インターフェイスと Pluggable Authentication Module (PAM) フレームワークを介して、サーバー上でローカルに利用できる必要はありません。

前提条件

  • Dovecot がインストールされています。
  • 仮想ユーザー機能が設定されています。
  • LDAP サーバーへの接続は、TLS 暗号化をサポートします。
  • Dovecot サーバー上の RHEL は、LDAP サーバーの認証局 (CA) 証明書を信頼します。
  • ユーザーが LDAP ディレクトリーの異なるツリーに保存されている場合、ディレクトリーを検索するための Dovecot 専用の LDAP アカウントが存在します。このアカウントには、他のユーザーの識別名 (DN) を検索する権限が必要です。
  • MariaDB サーバーが RHEL 9.2 以降を実行し、FIPS モードが有効になっている場合、この Dovecot サーバーは Extended Master Secret (EMS) 拡張機能をサポートするか、TLS 1.3 を使用します。EMS を使用しない TLS 1.2 接続は失敗します。詳細は、Red Hat ナレッジベースソリューション TLS extension "Extended Master Secret" enforced を参照してください。

手順

  1. /etc/dovecot/conf.d/10-auth.conf ファイルで認証バックエンドを設定します。

    1. 不要な auth-*.conf.ext 認証バックエンド設定ファイルの include ステートメントをコメントアウトします。次に例を示します。

      #!include auth-system.conf.ext
    2. 次の行をコメント解除して、LDAP 認証を有効にします。

      !include auth-ldap.conf.ext
  2. /etc/dovecot/conf.d/auth-ldap.conf.ext ファイルを編集し、次のように override_fields パラメーターを userdb セクションに追加します。

    userdb {
      driver = ldap
      args = /etc/dovecot/dovecot-ldap.conf.ext
      override_fields = uid=vmail gid=vmail home=/var/mail/%n/
    }

    固定値のため、Dovecot は LDAP サーバーからこれらの設定をクエリーしません。したがって、これらの属性も存在する必要はありません。

  3. 次の設定で /etc/dovecot/dovecot-ldap.conf.ext ファイルを作成します。

    1. LDAP 構造に応じて、次のいずれかを設定します。

      • ユーザーが LDAP ディレクトリーの異なるツリーに保存されている場合は、動的 DN 検索を設定します。

        dn = cn=dovecot_LDAP,dc=example,dc=com
        dnpass = password
        pass_filter = (&(objectClass=posixAccount)(uid=%n))

        Dovecot は、指定された DN、パスワード、およびフィルターを使用して、ディレクトリー内の認証ユーザーの DN を検索します。この検索では、Dovecot はフィルター内の %n をユーザー名に置き換えます。LDAP 検索で返される結果は 1 つだけであることに注意してください。

      • すべてのユーザーが特定のエントリーに保存されている場合は、DN テンプレートを設定します。

        auth_bind_userdn = cn=%n,ou=People,dc=example,dc=com
    2. LDAP サーバーへの認証バインドを有効にして、Dovecot ユーザーを確認します。

      auth_bind = yes
    3. URL を LDAP サーバーに設定します。

      uris = ldaps://LDAP-srv.example.com

      セキュリティー上の理由から、LDAP プロトコル上で LDAPS または STARTTLS コマンドを使用した暗号化された接続のみを使用してください。後者の場合は、さらに tls = yes を設定に追加します。

      証明書の検証を機能させるには、LDAP サーバーのホスト名が TLS 証明書で使用されているホスト名と一致する必要があります。

    4. LDAP サーバーの TLS 証明書の検証を有効にします。

      tls_require_cert = hard
    5. ベース DN には、ユーザーの検索を開始する DN を設定します。

      base = ou=People,dc=example,dc=com
    6. 検索範囲を設定します。

      scope = onelevel

      Dovecot は、指定されたベース DN のみを onelevel スコープで検索し、サブツリーも subtree スコープで検索します。

  4. /etc/dovecot/dovecot-ldap.conf.ext ファイルにセキュアな権限を設定します。

    # chown root:root /etc/dovecot/dovecot-ldap.conf.ext
    # chmod 600 /etc/dovecot/dovecot-ldap.conf.ext
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る