ldap.conf, .ldaprc - ldap 設定ファイル
/usr/local/etc/openldap/ldap.conf, .ldaprc
環境変数 LDAPNOINIT を定義していると、 すべてのデフォルト設定は無効になる。
ldap.conf は、 ldap クライアントの動作時に適用されるシステムワイドのデフォルト値を 設定するために利用する。
ユーザは、自分のホームディレクトリにオプションの設定ファイル ldaprc か .ldaprc を用意することにより、システムワイドのデフォルトファイルに優先した 設定を行える。 カレント作業ディレクトリに ldaprc ファイルを置いても同じ効果がある。
さらに、環境変数 LDAPCONF と LDAPRC を用いて追加の設定ファイルを指定できる。 LDAPCONF には設定ファイルのパスを設定する。 このパスは、絶対パスにもカレント作業ディレクトリからの相対パスにもできる。 LDAPRC に定義したものは、 カレント作業ディレクトリあるいはユーザのホームディレクトリにある ファイルのベースネーム(ファイル名からディレクトリを取り除いたもの) とみなす。
環境変数はファイルベースのデフォルト値を設定するのにも利用できる。 環境変数の名前は以下に列挙したオプションに接頭辞 LDAP を つけたものになる。たとえば環境変数で BASE を定義するには、 変数 LDAPBASE を望む値に定義する。
以下のオプションの中には、ユーザ環境でのみ設定できるものがある。 そのようなオプションを ldap.conf (あるいは LDAPCONF で指定したファイル)に与えても無視される。
設定オプションについては英大文字/小文字を区別しないが、 その値については場合により英大文字/小文字を区別する。 設定オプションには次のものがある。
- URI <ldap[s]://[name[:port]] …>
- LDAP ライブラリが接続する LDAP サーバの URI を指定する。 URI スキームには ldap または ldaps が使え、それぞれ LDAP over TCP と LDAP over SSL (TLS) を表す。 各サーバ名にはドメインスタイルの名前か IP アドレスを指定できる。 オプションでサーバ名の後につけた ':' に続けてサーバが受けつける ポート番号を指定できる。ポート番号を指定しない場合、スキーム ごとのデフォルトが使われる(ldap:// なら 389, ldaps:// なら 636)。 複数の URI を指定する場合にはスペースで区切る。
- BASE <base>
- ldap 操作を行うときに使うデフォルトのベース DN を指定する。 このベース名は LDAP フォーマットにおける識別名で指定する必要がある。
- BINDDN <dn>
- ldap 操作を行うときに使うデフォルトのバインド DN を指定する。 このバインド DN 名は LDAP フォーマットにおける識別名で指定する必要がある。 これはユーザ環境でしか設定できない。
- HOST <name[:port] …>
- LDAP ライブラリが接続する LDAP サーバの名前を指定する(複数指定可)。 各サーバの名前は、ドメインスタイルの名前か IP アドレスの後に オプションで ':' と ldap サーバのポート番号をつけて指定する。 複数のサーバを指定するにはスペースで区切ってホストを並べる。 HOST の利用は URI がサポートされたので推奨しない。
- PORT <port>
- LDAP サーバへの接続で使うポートを指定する。 ポートは数値で指定する。 PORT の利用は URI がサポートされたので推奨しない。
- REFERRALS <on/true/yes/off/false/no>
- LDAP サーバから返る紹介にクライアントが自動的に従うかを指定する。 デフォルトは on。 コマンドラインツール ldapsearch (1) では常にこのオプションを off にする。
- SIZELIMIT <integer>
- 検索を行うときに適用するサイズ制限を指定する。 この値は非負整数で指定する。SIZELIMIT がゼロ(0)ならば、 無制限の検索サイズを指定したことになる。
- TIMELIMIT <integer>
- 検索を行うときに適用する時間制限を指定する。 この値は非負整数で指定する。TIMELIMIT がゼロ(0)ならば、 無制限の検索時間を指定したことになる。
- DEREF <when>
- エイリアスの実名参照をどのように行うかを指定する。 引数 <when> には次のキーワードのいずれかを指定できる。
- never
- エイリアスは実名参照されない。これはデフォルト。
- searching
- 検索においてベースオブジェクトの下位についてはエイリアスが実名参照 されるが、検索のベースオブジェクトは実名参照されない。
- finding
- 検索のベースオブジェクトのみでエイリアスが実名参照される。
- always
- 検索と検索のベースオブジェクトの両方でエイリアスが実名参照される。
OpenLDAP が SASL (Simple Authentication and Security Layer)をサポートするように構築されていれば、以下のオプションを指定できる。
- SASL_MECH <mechanism>
- 利用する SASL 機構を指定する。 これはユーザ環境でのみ設定できる。
- SASL_REALM <realm>
- SASL レルムを指定する。 これはユーザ環境でのみ設定できる。
- SASL_AUTHCID <authcid>
- 認証 ID を指定する。 これはユーザ環境でのみ設定できる。
- SASL_AUTHZID <authcid>
- 代理認可 ID を指定する。 これはユーザ環境でのみ設定できる。
- SASL_SECPROPS <properties>
- Cyrus SASL のセキュリティプロパティを指定する。 <properties> には次にあげるプロパティをカンマで区切って指定できる。
- none
- (他のプロパティ指定がなければ) プロパティをデフォルト("noanonymous,noplain")にクリアする。
- noplain
- 単純な passive attack に弱い機構を無効にする。
- noactive
- active attack に弱い機構を無効にする。
- nodict
- passive dictionary attack に弱い機構を無効にする。
- noanonymous
- 匿名ログインをサポートする機構を無効にする。
- forwardsec
- セッション間の forward secrecy を要求する。
- passcred
- クライアントの身元証明を渡す機構を要求する (そして身元証明を渡せる機構がそうすることを可能にする)。
- minssf=<factor>
- 最小の受け入れ可能な security strength factor を暗号のための有効キー長に近い整数値で指定する。 0 (ゼロ)は暗に保護無しを意味する。1 は暗に整合性の保護だけを意味する。 56 は DES あるいは他の弱い暗号化方式を有効にする。 112 は triple DES あるいは他の強い暗号化方式を有効にする。 128 は RC4, Blowfish, 他の現代的な強い暗号化方式を有効にする。 デフォルトは 0。
- maxssf=<factor>
- 最大の受け入れ可能な security strength factor を整数値で指定する(minssf の説明を参照)。 デフォルトは INT_MAX。
- maxbufsize=<factor>
- セキュリティ層の受信バッファの最大サイズを指定する。 これが 0 ならばセキュリティ層は無効になる。 デフォルトは 65536。
OpenLDAP が TLS (Transport Layer Security)をサポートするように 構築されていれば、以下のオプションを利用できる。 これらのオプションは ldaps:// URI が(デフォルトであるかに関わらず)使われているか、LDAP Start TLS 操作の発行によりアプリケーションが TLS を確立したときに使われる。
- TLS_CACERT <filename>
- クライアントが認めるすべての認証局の証明書を含んだファイルを指定します。
- TLS_CACERTDIR <path>
- 認証局の証明書が個々のファイルに分けて置かれているディレクトリのパスを 指定する。 TLS_CACERT は常に TLS_CACERTDIR の前に使われる。
- TLS_CERT <filename>
- クライアント証明書のファイルを指定する。 これはユーザ環境でのみ設定できる。
- TLS_KEY <filename>
- TLS_CERT で指定したファイルに格納されている証明書に対応する 私有鍵のファイルを指定する。 現在のところ私有鍵はパスワードで保護してはならないので、 このファイルを注意深く保護することが極めて重要である。 これはユーザ環境でのみ設定できる。
- TLS_CIPHER_SUITE <cipher-suite-spec>
- どの暗号化方式をどのような優先順位で受け付けるかを設定する。 <cipher-suite-spec> は OpenSSL の暗号化方式の指定方法に基づく。 たとえば HIGH:MEDIUM:+SSLv2 などと指定する。
- TLS_RANDFILE <filename>
- /dev/[u]random が利用できないときに乱数を取得するファイルを指定する。 一般には EGD/PRNGD ソケットの名前を設定する。 このファイル名を設定するのには環境変数 RANDFILE も使える。
- TLS_REQCERT <level>
- TLS セッション開設時にサーバ認証をどうするかを指定する。 引数の <level> には次のキーワードのいずれかを指定できる。
- never
- クライアントはサーバ証明書を求めない。
- allow
- サーバ証明書が要求されます。 証明書が与えらていない場合でもセッションは普通に継続します。 不適当な証明書が与えられた場合でもセッションは普通に継続する。
- try
- サーバ証明書が要求される。 証明書が与えらていない場合でもセッションは普通に継続する。 不適当な証明書が与えられた場合はセッションをすぐに切断する。
- demand | hard
- これらのキーワードは同じ意味を持つ。 サーバ証明書が要求される。証明書が与えらていない場合、 あるいは不適当な証明書が与えられた場合はセッションをすぐに切断する。 これはデフォルトの設定である。
- TLS_CRLCHECK <level>
- クライアント証明書が失効しているかを確認するために、 CA の証明書失効リスト(Certificate Revocation List: CRL)を使うかを指定する。 これを指定するには TLS_CACERTDIR パラメータの設定が必要である。 <level> には次のキーワードのいずれかを指定する。
- none
- CRL 検証を行わない
- peer
- ピア証明書の CRL を検証
- all
- 証明書パス全体を検証
- LDAPNOINIT
- すべてのデフォルト設定を無効化
- LDAPCONF
- 設定ファイルのパス
- LDAPRC
- $HOME または $CWD にある ldaprc ファイルのベース名
- LDAP<option-name>
- ldap.conf のオプション <option-name> を設定
- /usr/local/etc/openldap/ldap.conf
-
システムワイドな ldap 設定ファイル
- $HOME/ldaprc, $HOME/.ldaprc
- ユーザの ldap 設定ファイル
- $CWD/ldaprc
- ローカル ldap 設定ファイル
ldap (3), openssl (1), sasl (3)
Kurt Zeilenga, The OpenLDAP Project