Microsoft Active Directory(AD)ドメインを持つネットワーク上にLinuxまたはUNIXマシンを持つことはかなり一般的です。 Ldapsearchを使用してActive Directoryを検索したい、または検索する必要がある場合があります。
簡単な例
TLSを使用しない
ldapsearch -H ldaps://dc.example.com -x -W -D "[email protected]" \ -b "dc=example,dc=com" "(sAMAccountName=user)"
TLSを使用しない
ldapsearch -H ldap://dc.example.com -x -W -D "[email protected]" \ -b "dc=example,dc=com" "(sAMAccountName=user)"
より詳細なガイドが必要な場合、または必要な場合は、読み続けてください。
ldapを設定します。conf
暗号化されていない接続でokの場合は、次のセクションにスキップしてください。 可能であれば、ADサーバ証明書の署名に使用する認証局CA証明書を取得する必要があります。 これをPEM形式で提供するようにAD管理者に依頼してください。 これが不可能で、ネットワーク接続が侵害されていないと合理的に確信している場合は、opensslを使用してサーバーからサーバー証明書を取得できます。 次の例は、これを行う方法を示しています。
tyler@desktop:~$ openssl s_client -connect ldap.tylersguides.com:636 -showcerts
下の証明書から証明書のテキストをコピーしてファイルに貼り付けます。 私は/pki/cacertsを使用します。ペム 証明書のテキストは次のようになります:
-----BEGIN CERTIFICATE-----MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFpu/xO28QOG8=-----END CERTIFICATE-----
ldapを開きます。confをテキストエディタで開きます。 ここでは、様々なオペレーティングシステム上でそれを見つ:
OS | パス |
---|---|
CentOS | /etc/openldap/ldap.conf |
Debian | /etc/ldap/ldap.conf |
OpenSUSE | /etc/openldap/ldap.conf |
ファイルに
TLS_CACERT /pki/cacerts.pem
という行を追加します。 /Pki/cacertsを置き換えます。あなたがどこか別の場所に置くことにした場合、あなたはAD CA証明書を置く場所を持つpem。 ファイルにも
TLS_REQCERT demand
という行を追加します。 ネットワークが危険にさらされた場合、攻撃者は中間の攻撃であなたの資格情報を盗むことを防ぎます。
Ldapsearchを使用したActive Directoryの検索
次の例を使用して、強調表示された値を置き換えて検索を実行します。 暗号化された接続を使用しないことを選択した場合は、ldapsの代わりにldap://を使用します://
ldapsearch -H ldaps://dc.example.com -x -W -D "[email protected]" \ -b "dc=example,dc=com" "(filter)" "attr1" "attr2"
オプション | |
---|---|
-h | 照会しているディレクトリサーバーのURI。 |
-x | SASLの代わりに単純認証を使用します。 |
-W | パスワードの入力を求められます。 |
-d | 認証しているユーザーのDN。 ADを照会するとき、これはあなたのadユーザー名@あなたのドメインになります。 |
-b | ディレクトリ内のどこで検索を開始します。 検索しているエントリがどのOUにあるかがわかっている場合は、それをベースに追加できます。 たとえば、stuffと呼ばれるOUを調べたいとわかっている場合、ベースは次のようになります: “ou=stuff,dc=example,dc=com”。 どのOUに入っているのかわからない場合は、ドメインを使用するだけでokです。 例えば、”dc=tylersguides、dc=com” |
filter | エントリの検索に使用されるLDAP検索フィルタ。 最も簡単なフィルタは、特定の値を持つ属性を検索することです。 たとえば、ユーザー名がbobのADユーザーを探している場合は、フィルタ”(sAMAccountName=bob)”を使用します。 グループcn=storage,ou=groups,dc=example,dc=comのメンバーであるすべての人を検索する場合は、”(memberOf=cn=storage,ou=groups,dc=example,dc=com)を使用します)” |
attr | 表示する属性を指定します。 各属性はスペースで区切る必要があります。 いくつかの一般的なものはmailとmemberOfです。 |
あなたが興味を持っているなら、私はLDAP検索フィルタに関するガイドを書きました。