Sintaks BAPDN ActiveDirectory / LDAP

8

Saya memecahkan masalah firewall perangkat keras berbasis linux untuk klien. Firewall perangkat keras ini terhubung ke ActiveDirectory untuk otentikasi Single SignOn.

ActiveDirectory adalah hanya versi LDAP sesat yang setahu saya, dan menggunakan sintaks BindDN yang sama - perbaiki saya jika saya salah.

Klien telah mengonfigurasi ini sebagai BindDN mereka - string yang sebenarnya telah diganti karena alasan privasi tetapi karakter khusus dan spasi masih ada. "Somerandomplace \ fubar fubaz"

Ini sepertinya bukan sintaks BindDN yang valid bagi saya dan saya pernah bekerja dengan LDAP sebelumnya, tetapi ketika kami menekan tombol Test untuk menguji BindDN ini, pengujian berhasil. Ketika saya mengubah hanya satu karakter di BindDN dan menjalankan tes lagi, tes gagal.

Saya mencoba mencari tahu apa masalahnya di sini:

A) Bahwa saya tidak sepenuhnya memahami nuansa BindND dan sintaks terkait

atau

B) Bahwa alat gagal memverifikasi input dengan benar dan secara salah mengidentifikasi pengujian sebagai suatu keberhasilan

Orang
sumber

Jawaban:

14

LDAP hanyalah sebuah protokol. Dan seperti kata Greg, implementasi Microsoft di Active Directory sesuai dengan berbagai RFC yang mendefinisikannya. (+1 kepadanya)

Jawaban Doug sebagian benar karena ia memberikan satu contoh dari Bind DN yang valid. Tetapi Active Directory secara khusus memungkinkan nilai Bind DN untuk dikirim sebagai bentuk lain juga. Bentuk terbaik untuk digunakan menurut saya adalah UserPrincipalName (UPN)yang biasanya dalam bentuk berikut kecuali telah diubah secara eksplisit.

Manfaat dari ini di atas nilai DN normal adalah bahwa akun pengguna dapat dipindahkan dalam AD dan aplikasi yang menggunakan kredensial tidak harus memperbarui konfigurasi itu.

Itu juga bisa dalam bentuk NetBIOS lama yang terlihat seperti ini dan tampaknya seperti apa yang digunakan klien Anda.

  • <Domain NetBIOS Name> \ <sAMAccountName> (mis. CONTOSO \ user1)

Ini memiliki manfaat yang sama dengan nilai UPN, tetapi sekali lagi dianggap warisan. Nama NetBIOS seharusnya sudah lama mati, tapi itu kata-kata kasar untuk utas lainnya.

Ryan Bolger
sumber
Terima kasih! Komentar tentang 3 bentuk DN ini adalah potongan puzzle yang saya lewatkan.
Mark E. Haase
Tidak tahu Anda bisa menggunakan UPN sebagai DN LDAP. Manis.
Jonathon Reinhart
1
Saya kagum pada berapa banyak vendor aplikasi yang hanya mendukung auth eksternal terhadap AD (via LDAP) juga tidak tahu ini.
Ryan Bolger
2

DN yang diikat adalah CN = nama pengguna, CN = Pengguna, DC = domain Anda, DC = com untuk pengguna yang terletak di wadah Pengguna.

Mungkin berhasil jika Anda hanya memasukkan nama pengguna juga karena mungkin mencari properti sAMAccountname jika Active Directory-nya sadar. Hanya saja jangan kata pengantar nama pengguna dengan domain.

Doug
sumber
1

Implementasi LDAP Microsoft telah sesuai. Karakter apa pun valid dalam DN. Jika ada karakter khusus, mereka harus melarikan diri. Spasi tidak perlu diloloskan kecuali itu mengarah atau tertinggal. Karakter dapat diloloskan dengan backslash atau setara \ nn hex.

Nama-nama terhormat
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366101%28v=vs.85%29.aspx

space or # character at the beginning of a string    0x20
space character at the end of a string    0x20
,    comma    0x2C
+    plus sign    0x2B
"    double quote    0x22
\    backslash    0x5C
<    left angle bracket    0x3C
>    right angle bracket    0x3E
;    semicolon    0x3B
LF   line feed    0x0A
CR   carriage return    0x0D
=    equals sign    0x3D
/    forwards slash    0x2F 
Greg Askew
sumber