[まとめ]OpenLDAP+AD

【IDM】パスワード同期機能の有効活用 その1 ~ パスワード同期機能とは 【IDM】パスワード同期機能の有効活用 その2 ~ Windows Server 2008 でのパスワード同期機能のセットアップ 【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する 【IDM】Active Directory から OpenLDAP への パスワードの同期 その1 ~ パスワードを SHA1 で暗号化 【IDM】Active Directory から OpenLDAP への パスワードの同期 その2 ~ ADSI でパスワードを同期する 【IDM】Active Directory から OpenLDAP への パスワードの同期 その3 ~(余談)Fedora 8 を Hyper-V上で動作させる   【IDM】Active Directory から OpenLDAP への パスワードの同期 その…

0

【IDM】Active Directory から OpenLDAP への パスワードの同期 その 4 ~Ldap ブラウザでパスワードの変更結果を検証する

※2008/08/29 Tech・Ed会場にてリンク切れを指摘していただきましたので修正いたしました。(汗) ある調べごとがあり、「’watch node’」 という単語を 某検索エンジンに放り込んだところ、以下の表示が。 もしかして: ‘watch nude’   し、し、しっ、失礼なっっっ!  それはともかく Active Directory とのパスワード同期シリーズ の続きです。過去の記事は以下を参照してください。あとでまとめサイト作って公開します。 【IDM】パスワード同期機能の有効活用 その1 ~ パスワード同期機能とは 【IDM】パスワード同期機能の有効活用 その2 ~ Windows Server 2008 でのパスワード同期機能のセットアップ 【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する 【IDM】Active Directory から OpenLDAP への パスワードの同期 その1 ~ パスワードを SHA1 で暗号化 【IDM】Active Directory から OpenLDAP への パスワードの同期 その2 ~ ADSI でパスワードを同期する 【IDM】Active Directory から OpenLDAP…

1

【IDM】Active Directory から OpenLDAP への パスワードの同期 その2 ~ ADSI でパスワードを同期する

昔、「おしいれのぼうけん」ていう絵本がありました。いまでもトラウマです…ねずみばぁさん…。 そんなノスタルジックな想いはともかく、現実に戻って OpenLDAP にパスワードを同期する方法について考察します。 以前、以下の記事で、生パスワードを PowerShell を使用して SHA1  で暗号化する方法を書きました。 【IDM】Active Directory から OpenLDAP への パスワードの同期 その1 ~ パスワードを SHA1 で暗号化 今回は、SHA1 のことはひとまずおいといて、パスワード同期機能で作成された unixUserPassword を取り出し、ADSI を使用して OpenLDAP に同期してみます。 パスワード同期機能および unixUserPassword 属性については、以下で詳しく解説していますので参考にしてください。 【IDM】パスワード同期機能の有効活用 その1 ~ パスワード同期機能とは 【IDM】パスワード同期機能の有効活用 その2 ~ Windows Server 2008 でのパスワード同期機能のセットアップ 【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する # ここでは、パスワードの暗号化形式は DES を使用しています。  解説はソースの中にインラインで書きます。ソースをダウンロードするには、こちらから どうぞ。 今回は、以下の環境を想定しています。 Active Directory ドメイン : example64.jp…

2

ADSIを使用してOpenLDAPにパスワードを同期する

VBScript で書かれていますので、拡張子を vbs として保存してください。  このソースの解説はこちら。【IDM】Active Directory から OpenLDAP への パスワードの同期 その2 ~ ADSI でパスワードを同期する ——————————-  On Error Resume Next strDomain = “dc=example64,dc=jp”strUserName  = “testuser01″strPassword  = “ABC123@”strLdapServer  = “fedora01.example-fedora.jp”strLdapUser    = “uid=” & strUserName & “,ou=People,dc=example-fedora,dc=jp”strManagerDN       = “cn=Manager,dc=example-fedora,dc=jp”strManagerPassword = “password” ‘ユーザーを検索Set objConnection = CreateObject(“ADODB.Connection”)objConnection.Open “Provider=ADsDSOObject;”Set objCommand = CreateObject(“ADODB.Command”)objCommand.ActiveConnection = objConnectionobjCommand.CommandText = _        “<LDAP://” & strDomain & “>;” &…

2

【IDM】Active Directory から OpenLDAP への パスワードの同期 その1 ~ パスワードを SHA1 で暗号化

当初の予定を変更し、パスワードの暗号化について、ちょっとだけ触れておきたいと思います 以下では、Active Directory に格納された DES / MD5 形式のパスワードをそのままとりだしました。取り出したまま OpenLDAPに格納すれば、生パスワードを経由することなくパスワードの同期が行えます(同期の手法については、また後日)。 【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する 同僚の田辺氏が、上記のスクリプトを PowerShell に置き換えてくれましたので、よろしければそちらも参照してください。 『【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する』PowerShell 編 さて、ここで当然の要求が出てきます。 DES や MD5 じゃなくて、SHA1 で 暗号化したいんだけど!!?? 当然ですね。 暗号化と文字コード変換はなんとかなるとしても、DES / MD5 を複合化することはできませんので、事前に「生パスワード」が取得できるという前提で書きます。  で、その暗号化と文字コード変換ですが、VBSで何とかしようとしてみたのですが…うまい方法が無く….田辺さんに懐柔されたようで悔しいのですが、PowerShell を使用することにします。 生パスワードを 「annou$01 」 とします。 PS C:\> $strPassword = “annou$01″PS C:\> $objUTF8Enc = new-object System.Text.UTF8EncodingPS C:\> $bytPassword = $objUTF8Enc.GetBytes($strPassword)PS C:\>…

7

【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する

本日、健康診断に行ってきました。健康診断…実は苦手でして… いい歳して恥ずかしい話ですが….子供のころから、わきの下とわき腹が弱いのです。なので苦手なのは心電図…それに輪をかけてつらかったのは「腹部エコー検査」なるもの…。なんか、先のツルツルのヤツを使って、わきの下とかわき腹をしつこいくらいにグリグリされました。これは、もう、拷問としか言いようがありません。 ということで、「わきの下とわき腹が弱いですが 何か?」 コミュニティを作り、医療機器業界に「わき腹非接触検査機器の開発」を働きかけると同時に、わきの下とわき腹がくすぐったくならない禁断の呪文を開発したいなぁと思う、今日この頃です。同士募集です。 それはさておき、以下の続きとなる その3 です。 【IDM】パスワード同期機能の有効活用 その1 ~ パスワード同期機能とは 【IDM】パスワード同期機能の有効活用 その2 ~ Windows Server 2008 でのパスワード同期機能のセットアップ 今回は、unixUserPassword 属性から、NIS用に暗号化されたパスワードを取り出します。msSFU30userPassword と違い、ちょっとコツがいります。 まずは、取り出しもとの unixUserPassword がいかなる特徴を持っているのか、見てみることにします。 ということで、スキーマツールを開きましょう。 Windows Server 2008 でのスキーマツールの開き方は従来通りです。以下のコマンドをコマンドプロンプトから入力後、mmc のツナップインに「Active Directory スキーマ」を追加してください。 c:>regsvr32 schmmgmt.dll スキーマツールを起動したら、属性一覧の中から「 unixUserPassword 」 を探して、プロパティを開いてみてください。 注意していただきたいのは、上記の赤丸の部分です。 オクテット文字列である 複数値である(戻り値がアレイ形式である) オクテット文字列とは、文字列を1文字ごとに8ビットのバイナリ形式で保存する形式です…うーん、あたりまえですね。説明よりも、以下をご覧ください。unixUserPassword 属性に格納されている値を ADSI Edit で表示したものです。  一見、何が格納されているかわからないですね。 上のバイナリ値の最初の「 01001101 」を 10進数に変換すると 77 になります。77…何か心当たりありませんか? 子供の頃に食べたアイスクリームのような….そう、「M」のアスキーコードです。 では、次の 00110111 はどうでしょう?10進にすれば…

7

【IDM】パスワード同期機能の有効活用 その2 ~ Windows Server 2008 でのパスワード同期機能のセットアップ

前回は、パスワード同期機能について簡単にお話しました。 【IDM】パスワード同期機能の有効活用 その1 ~ パスワード同期機能とは 今回は、Windows Server 2008 上で パスワード同期機能を使用するためのセットアップを行いましょう。 Windows Server 2008 上でパスワード同期機能を使用するには、はじめにサーバーマネージャの「役割の追加」から「Active Directory ドメイン サービス」をインストールし、ドメインコントローラとしてセットアップを完了しておく必要があります。 サーバーマネージャから「Active Directory ドメイン サービス」役割を追加 dcpromo を使用してドメインコントローラのインストールを行う 再起動 上記が完了したら、再度サーバーマネージャを起動し、以下のように「Active Directory ドメイン サービス」の関連サービスとして 「 UNIX 用 ID 管理」を追加します。 このとき、「パスワード同期」だけでなく、「NIS サーバー」「管理ツール」もあわせてインストールしてください。※NIS サーバーが必要ない場合には、あとから無効にできます インストールが完了すると、サーバーマネージャの「役割」には「UNIX用 Microsoft ID 管理」が表示されます。 次に、AD内部での パスワード同期を正しく動作させるために、以下の環境設定を行います。 [サーバーマネージャ] – [役割] – [Active Directory ドメイン サービス] – [UNIX用 Microsoft ID 管理]…

7

【IDM】パスワード同期機能の有効活用 その1 ~ パスワード同期機能とは

先日、薄暗い部屋で 掌(てのひら) をじっと見つめていたら「運命線」なるものが全く無いことに気づきました。ははぁん、どうりで… さて、話は変わりますが、「パスワード同期」機能 をご存知でしょうか? Active Directory と NIS のパスワードを双方向に、かつリアルタイム同期するという優れものですが、実際に運用で使用されている方は多くないようです。理由として、サポートされている OS のバージョンに制限があることや、場合によっては make しなおさなければならないといった部分で敷居が高いようです。 Windows Server 2003 以前 では、Service for UNIX をインストールすることでパスワード同期機能が使用可能になります。 Windows Services for UNIX 3.0 におけるパスワード同期http://www.microsoft.com/japan/technet/interopmigration/unix/sfu/psync.mspx Windows Server 2003 R2 および Windows Server 2008 以降では、「UNIX 用 ID 管理」を有効にすることでパスワード同期機能が使用可能になります。  Windows Server 2003 R2 – UNIX 用 ID 管理 : パスワード同期http://technet2.microsoft.com/WindowsServer/ja/library/bb1f0664-5f08-4a0c-b1cf-f7363e593c621041.mspx?mfr=true Windows Server 2003 R2 -…

8