Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
9.2.3.6. セキュアな接続の確立
OpenLDAP スイートとサーバーは、Transport Layer Security (TLS) フレームワークを使用して保護できます。TLS は、ネットワーク上の通信セキュリティーを提供するために設計された暗号プロトコルです。Red Hat Enterprise Linux 7 の OpenLDAP スイートは、TLS 実装として OpenSSL を使用します。
TLS を使用してセキュアな接続を確立するには、必要な証明書を取得します。次に、クライアントとサーバーの両方で複数のオプションを設定する必要があります。最低でも、認証局 (CA) 証明書と、独自のサーバー証明書および秘密鍵を使用してサーバーを設定する必要があります。クライアントは、すべての信頼される CA 証明書を含むファイルの名前で設定する必要があります。
通常、サーバーは単一の CA 証明書に署名することだけが必要になります。クライアントはさまざまな安全なサーバーに接続したい場合があるため、設定で複数の信頼できる CA のリストを指定するのが一般的です。
サーバー設定
このセクションでは、TLS を確立するために OpenLDAP サーバーの
/etc/openldap/slapd.d/cn=config.ldif
ファイルで指定する必要があるslapd
のグローバル設定ディレクティブをリストします。
古いスタイルの設定は、通常は
/usr/local/etc/openldap/slapd.conf
としてインストールされる単一のファイルを使用しますが、新しいスタイルは slapd
バックエンドデータベースを使用して設定を保存します。設定データベースは通常、/usr/local/etc/openldap/slapd.d/
ディレクトリーにあります。
以下のディレクティブは、SSL を確立するためにも有効です。TLS ディレクティブの他に、サーバー側で SSL 専用のポートを有効にする必要があります。通常はポート 636 です。これを行うには、
/etc/sysconfig/slapd
ファイルを編集し、SLAPD_URLS
ディレクティブで指定された URL 一覧に ldaps:///
文字列を追加します。
-
olcTLSCACertificateFile
olcTLSCACertificateFile
ディレクティブは、信頼された CA 証明書が含まれる PEM (Privacy-enhanced mail) スキーマでエンコードされるファイルを指定します。ディレクティブは以下の形式になります。olcTLSCACertificateFile
: pathpath を、CA 証明書ファイルへのパスに置き換えます。-
olcTLSCACertificatePath
olcTLSCACertificatePath
ディレクティブは、個別の CA 証明書が含まれるディレクトリーへのパスを指定します。このディレクトリーは、実際の証明書ファイルを参照するハッシュ化された名前でシンボリックリンクを生成する OpenSSL c_rehash ユーティリティーで特別に管理する必要があります。通常、代わりにolcTLSCACertificateFile
ディレクティブを使用することが推奨されます。ディレクティブは以下の形式になります。olcTLSCACertificatePath
: pathpath を、CA 証明書ファイルを含むディレクトリーのパスに置き換えます。指定のディレクトリーは OpenSSL c_rehash ユーティリティーで管理する必要があります。-
olcTLSCertificateFile
olcTLSCertificateFile
ディレクティブは、slapd
サーバー証明書を含むファイルを指定します。ディレクティブは以下の形式になります。olcTLSCertificateFile
: pathpath を、slapd
サービスのサーバー証明書ファイルへのパスに置き換えます。-
olcTLSCertificateKeyFile
olcTLSCertificateKeyFile
ディレクティブは、olcTLSCertificateFile
で指定されたファイルに保存された証明書に一致する秘密鍵が含まれるファイルを指定します。現在の実装は暗号化された秘密鍵に対応していないため、そのファイルが十分に保護されている必要があることに注意してください。ディレクティブは以下の形式になります。olcTLSCertificateKeyFile
: pathpath を、秘密鍵ファイルへのパスに置き換えます。
クライアント設定
クライアントシステムの
/etc/openldap/ldap.conf
設定ファイルに以下のディレクティブを指定します。これらのディレクティブのほとんどは、サーバー設定オプションと並行して行います。/etc/openldap/ldap.conf
のディレクティブは、システム全体で設定されますが、各ユーザーは ~/.ldaprc
ファイルで上書きすることができます。
同じディレクティブを使用して SSL 接続を確立できます。
ldaps://
文字列は、ldapsearch などの OpenLDAP コマンドの ldap://
の代わりに使用する必要があります。これにより、コマンドはサーバーで設定された SSL のデフォルトポートであるポート 636 を使用するように強制されます。
-
TLS_CACERT
TLS_CACERT
ディレクティブは、クライアントが認識するすべての認証局の証明書を含むファイルを指定します。これは、サーバーのolcTLSCACertificateFile
ディレクティブと同じです。TLS_CACERT
は、/etc/openldap/ldap.conf
のTLS_CACERTDIR
の前に常に指定する必要があります。ディレクティブは以下の形式になります。TLS_CACERT
pathpath を、CA 証明書ファイルへのパスに置き換えます。-
TLS_CACERTDIR
TLS_CACERTDIR
ディレクティブは、別のファイルに認証局証明書が含まれるディレクトリーへのパスを指定します。サーバーでolcTLSCACertificatePath
と同様に、指定されたディレクトリーは OpenSSL c_rehash ユーティリティーで管理する必要があります。TLS_CACERTDIR
directorydirectory を、CA 証明書ファイルを含むディレクトリーのパスに置き換えます。-
TLS_CERT
TLS_CERT
は、クライアント証明書が含まれるファイルを指定します。このディレクティブは、ユーザーの~/.ldaprc
ファイルにのみ指定できます。ディレクティブは以下の形式になります。TLS_CERT
pathpath を、クライアント証明書ファイルへのパスに置き換えます。-
TLS_KEY
TLS_KEY
は、TLS_CERT
ディレクティブで指定されたファイルに保存されている証明書に一致する秘密鍵が含まれるファイルを指定します。サーバーでolcTLSCertificateFile
と同様に、暗号化された鍵ファイルはサポートされません。ファイル自体は注意して保護する必要があります。このオプションは、ユーザーの~/.ldaprc
ファイルでのみ設定可能です。TLS_KEY
ディレクティブは以下の形式になります。TLS_KEY
pathpath を、クライアント証明書ファイルへのパスに置き換えます。