Debian の openldap でポート 636 (ldaps) からもアクセスできるようにする2010年10月15日 09時55分

会社のサーバで社内の認証に openldap を利用しようとしている。
会社のサーバは Debian で動かしていて、通常の 389 番ポートは特に問題なくアクセスできているが、ldaps で使用するため、636 番ポートからもアクセスできるようにしようとして若干苦労したので、メモにしておく。

あくまでもうちの会社の環境に関してやった内容である。すべての Debian 環境で同じようにすれば動作するという保証はないし、保証もできないので、あくまでも参考にとどめておいていただきたい。日本語の情報も少ないが、Debian となるとさらに少ない。
「入門 LDAP/OpenLDAP」(秀和システム)という本を参考にしているが、さらっと書いてあって、すぐにも使えるような感じに読めた。実際にはその通りにしても Debian ではポートすら開いておらず、その点ではこの本は役に立たなかった。

Debian の場合、標準の設定では ldaps は使用できない。

/etc/ldap/ldap.conf に以下の行を追加して、サーバ証明書のファイルのフルパスを指定する。
TLS_CACERT /hoge/hoge/hogehoge.pem

/etc/ldap/slapd.conf に以下の行を追加して、サーバ証明書とサーバの鍵ファイルの場所を指定する。

TLSCACertificateFile /hoge/hoge/hogehoge.pem
TLSCertificateFile /hoge/hoge/hogehoge.pem
TLSCertificateKeyFile /hoge/hoge2/hogehoge.key

上記のファイルはオーナーが root.root でパーミッションが 600 か何かだったので、640 にする。うちの場合、ウェブサーバの証明書としても使用しているので、場所を移動したり名前を変更することはできない。複製を別のところに用意してユーザ openldap にパーミッションを与えるようにしてもいいかもしれない。
さらにユーザ openldap を root グループにも参加させる必要があった。あるページには ssl-group に openldap を参加させよというようなことが書いてあったが、うちのマシンにはそんなグループはなかったのでファイルの所有者である root に参加させた。

最初設定したときは間違って以前使用していた勝手サイト証明書を指定していた。それだと Thunderbird は怪しいサイト証明書だと言ってエラーを出すだけでアドレス帳としては参照させてくれなかった。他のメーラの場合はわからない。

余談だが、勝手証明書は無料で作成できるのでいいが、携帯電話のブラウザなんかだと Thunderbird 同様「怪しいサイトだ」とメッセージを表示してアクセスさせてくれないので、社内用途で使用するだけであっても使い勝手はあまりよくない。PC だけのアクセスを考慮すれば勝手証明書でもいいが、外回りの社員が携帯でアクセスするのであれば勝手証明書は使えないので、安い証明書を購入するしかない。

最後に /etc/default/slapd に以下の行を追加して slapd がポート 636 でも待つするようにする。

SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"

このファイルに最初からコメントで以下の行があった。
#SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///"

これだと 389 でクライアントからアクセスしたときにアクセスできなくなった。原因がわからず少し悩んだ。この設定だと 389 ポートは localhost からしか許可しない設定になってしまうようだ。ldapi:/// は必要かどうかわからないが、とりあえず入れてある。今ではサーバもルータのフィルタリングで不要なアクセスは遮断しているので、とりあえず大きな問題にはならないだろうと判断している。

最後にこれは必要だったのかどうかわからないが、gnutls-bin というパッケージをインストールする必要があると、あるページにあったので、インストールしてある。

# apt-get install gnutls-bin

これで slapd を起動あるいは再起動するとポート 636 でアクセスできた。
うちの場合、冒頭に書いたように認証目的だが、社員のメールアドレスの一覧としても使えるので、Thunderbird と Becky! でテストしてみた。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://zeny.asablo.jp/blog/2010/10/15/5414051/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。