(1/3)ユーザー情報や組織情報などを一元的に管理するディレクトリサーバは、企業システムの中で重要な役割を果たしています。この連載ではオープンソースの「OpenLDAP」を用いて、ディレクトリサーバの構築・活用方法を解説します。});前回の「OpenLDAPサーバを利用したユーザー認証」では、エントリを投入し、ユーザー認証を実行しその結果を確認するところまでを説明しました。今回は、OpenLDAPサーバの運用においてセキュリティ面で考慮すべき点と、それに関連する設定方法を説明していきます。IPバインドによるアクセス制限OpenLDAPのLDAPサーバであるslapdプログラムは、デフォルト状態ではすべてのIPアドレスをリスニングしながらLDAPクライアントのリクエストを受け付けています。(LISTEN)複数のネットワークインターフェイスを持つホストでのLDAPサーバ運用時に、セキュリティ上、特定インターフェイスからのみアクセスを受け付けたい場合や、同一ホスト上のLDAPクライアントからのみにアクセスを制限したい場合は、slapdプログラムの起動時に「-h」オプションを付与することでslapdプログラムがバインドするIPアドレスを指定することができます。本連載で対象としているCentOS、またはその上位ディストリビュータから配布されるOpenLDAPを利用する場合、「-h」オプションを用いたIPバインド設定は、同一rpmパッケージに含まれるrcスクリプトを利用して調整すると便利です。Wrapperを利用することもできます。Wrapperから提供されるライブラリへリンクが可能な状態となっています。Wrapperを利用したアクセス制御が可能になります。Wrapperの設定が正しいかどうか調べるにはhttp://www.atmarkit.co.jp/flinux/rensai/linuxtips/235chktcpwrapper.htmlrootdn/rootpwディレクティブでのパスワード変更ソースコードからOpenLDAPをコンパイルしインストールすると、設定ファイルであるslapd.confでは、次の管理ユーザー用DN(「rootdn」ディレクティブ)とそのパスワード(「rootpw」ディレクティブ)が有効になっています。secretこの「rootdn」ディレクティブは、対象データベースのアクセス制御に従わないDNを指定することができるものです。このため、このslapd.confファイルに記述された「rootdn」「rootpw」ディレクティブを変更せずそのままの状態で運用を開始しては、非常に危険な要素を含んだ運用となってしまいます。「rootpw」ディレクティブは確実に変更しておきましょう。slappasswdコマンドさらにslapd.confファイルでは、この「rootpw」ディレクティブへ設定する値を、{CRYPT}、{MD5}、{SMD5}、{SSHA}、{SHA}といった一方向性ハッシュ関数を利用して暗号化することができます。restartこのように「rootpw」ディレクティブに設定する値を暗号化しておくことで、slapd.confが直接参照されたとしても、実際のパスワード値への変換は困難なため、セキュリティを強化する役目を果たすことになります。OpenLDAPクライアントコマンドの-Wオプションせっかく暗号化したパスワードですが、ldapsearch、ldapaddといったOpenLDAPクライアントコマンドからLDAPサーバへパスワードを送付するには、コマンドライン上からは平文でパスワードを指定する必要があります。ここで問題になるのが、シェルのヒストリ機能です。「-D」オプションを用いた簡易認証利用時に、「-w」オプションに続けてパスワードを指定した場合、シェルのヒストリをさかのぼることでパスワードが確認できてしまいます。←パスワードが表示されるこのとき役に立つのが、「-W」オプションを指定しOpenLDAPのクライアントコマンドを実行する方法です。この方法を用いることでパスワードは対話的に求められるようになり、シェルのヒストリに保存されることはありません。←パスワードが表示されないpassword-hashディレクティブ平文で登録したuserPassword属性がある場合、ldapsearchコマンドで取得するこの属性は、コロン2つ(::)に続けてbase64形式でエンコードされ表示されているだけですので、読み出し可能なアクセスコントロールが設定されている場合は簡単にデコードし、平文のパスワードを確認できてしまいます。ここで役立つのが、「password-hash」ディレクティブです。Operation利用時に、指定したハッシュアルゴリズムを使用してuserPassword属性値を暗号化し、OpenLDAPサーバに格納する機能を提供します。Operationの利用には、ldappasswdコマンドおよび/etc/ldpa.confにおける「pam_password」ディレクティブを利用することができます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。