Home > ActiveDirectory | CentOS | Windows | 環境構築 > Active Directoryを外部からSSL経由で利用する場合の設定について~Linuxクライアントからの接続の確認~

Active Directoryを外部からSSL経由で利用する場合の設定について~Linuxクライアントからの接続の確認~

前回の作業でWindowsクライアントからの接続の検証は完了しました。
今回からLinuxクライアントからの接続について検証を行います。

今回はLinuxクライアントとしてCentOS5.3を準備しました。

さて、LinuxクライアントからLDAP及びLDAPS接続を行う場合、パッケージが足りない場合が有ります。
まずはその点の対応から初めたいと思います。

CentOS5.3からLDAP及びLDAPSを利用する場合は、最小構成インストールの環境では
一部パッケージが足りないため、最低限下記パッケージの追加導入が必要となります。

  • openldap-clients

上記のパッケージをyum等を使い導入を行うと「ldapsearch」コマンドが利用可能となります。
今回はこの「ldapsearch」コマンドを利用してLinuxクライアントからの接続の検証を行います。

「openldap-clients」パッケージの導入が終わったら、設定ファイルを少し修正します。
設定ファイルはyumで導入した場合は「/etc/openldap/ldap.conf」に有ります。
この設定ファイルに接続先として下記のような内容を追加します。

HOST 192.168.101.101
BASE dc=level-9,dc=jp

「HOST」にはActiveDirectoryサービスを提供しているサーバのホスト名またはIPアドレスを設定します。
「BASE」には、BaseDNを設定します。

さて、ここまでの設定を終えたら早速検索を実施してみます。
まずは、LDAP(389)による接続を確認します。

以下のコマンドを実行します

>ldapsearch -x -s base -b "" "(objectclass=*)"

ここでは、「」自体のコマンドの細かい説明は省略いたしますが、上記のコマンドを実行して
下記のようにずらずらと情報が表示されれば接続には成功しています。

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: ALL
#

#
dn:
currentTime: 20090728045005.0Z

(中略)

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

では、この状態でそのままLDAPS(636)による接続を試してみましょう。
以下のようにコマンドのオプションに「-Z」を追加します。

>ldapsearch -x -Z -s base -b "" "(objectclass=*)"

さて、実行結果ですが、下記のように想定通りエラーとなります。

ldap_start_tls: Connect error (-11)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ldap_result: Can't contact LDAP server (-1)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

Windowsクライアントでの検証を振り返るとわかりますがまだ本機には証明書の導入を行っていません。
その為、LDAPS(636)での接続は行えない状態となっています。

早速この状態を解決したいと思います。

まずは、再度Windows2003Server側での作業を行います。
Windows2003Serverにて「管理ツール」→「証明機関」を選択します。
次に、表示された「証明機関」ウィンドウの中の左側ツリーから
該当する証明機関名(ここでは「level-9.jp」)を選択しツリーを展開します。

LDAPS_LINSSL_001

次に、展開されたツリーの中にある「発行した証明書」を選択します。

LDAPS_LINSSL_002

左側ツリーにて「発行した証明書」を選択すると、右側ウィンドウに「発行した証明書」が表示されます。
この中から適切な証明書を選択し、右クリックして表示されたメニューから「開く」を選択します。

LDAPS_LINSSL_003

「証明書」ダイアログが開いたら、上部にあるタブの中から「詳細」タブを選択します。
そして、「詳細」タブ画面の右下にある「ファイルにコピー」をクリックしてください。

LDAPS_LINSSL_004

すると「証明書のエクスポートウィザードの開始」ダイアログが表示され、エクスポート作業が開始されます。
内容を確認したら「次へ」をクリックしてください。

LDAPS_LINSSL_005

次に、エクスポートファイルの形式を選択します。
Linuxクライアント側でのインポートを考慮してここでは「Base 64 encoded X.509 (CER)」を選択し、
「次へ」をクリックします。

LDAPS_LINSSL_006

次にエクスポート先を選択します。
エクスポートしたファイルはLinuxクライアントにコピーする必要があるのでわかりやすい場所にしてください。
「ファイル名」欄を設定したら、「次へ」をクリックします。

LDAPS_LINSSL_007

最後に、「証明書エクスポートウィザードの完了」が表示されます。
作業内容を確認し、問題がなければ「完了」をクリックしてください。

LDAPS_LINSSL_008

エクスポートが正常に完了すると「正しくエクスポートされました。」と表示されます。
「OK」をクリックしてダイアログを閉じてください。

LDAPS_LINSSL_009

以上の作業でWindows2003Server側での作業は完了となります。
この作業でエクスポートしたファイルをLinuxクライアント側にコピーしておいて下さい。

ここからは再度Linuxクライアント側で作業を行います。

まず最初に先程サーバ側でエクスポートしたファイルをLinuxクライアントで利用できるように変換します。

>openssl x509 -in ldaps_level-9.jp.cer -out ldaps_level-9.pem

次に変換したファイルを適切な位置に配置します。

>cp ldaps_level-9.pem /etc/openldap/cacerts

最後に「/etc/openldap/ldap.conf」の設定を変更します。
以下の2行を追加してください。

TLS_CACERT /etc/openldap/cacerts/ldaps_level-9.pem
TLS_REQCERT never

設定が完了したら再度接続を確認します。
以下のコマンドを実行してください。

>ldapsearch -x -Z -s base -b "" "(objectclass=*)"

前回はエラーが表示されたと思いますが、今回はLDAP(386)の時同様に応答があるかと思います。

このような手順でWindowsクライアント及び
LinuxクライアントからのActiveDirectoryへの接続が検証できました。

参考になればと思います。

お疲れ様でした。

Technorati Tags: , ,

Comments:0

Comment Form
Remember personal info

Trackback+Pingback:0

TrackBack URL for this entry
http://blog.technology-knowledge.jp/2009/08/03/884/trackback/
Listed below are links to weblogs that reference
Active Directoryを外部からSSL経由で利用する場合の設定について~Linuxクライアントからの接続の確認~ from SeeIn開発日誌

Home > ActiveDirectory | CentOS | Windows | 環境構築 > Active Directoryを外部からSSL経由で利用する場合の設定について~Linuxクライアントからの接続の確認~

ブログ内検索
各種フィード
Meta

Page Top

このページの先頭へ