Pertanyaan Amankan LDAP Authentication dengan Active Directory


Kami sedang mengerjakan proyek web di mana kami harus dapat mengikat ke domain direktori aktif dan meneruskan kredensial pengguna ke domain untuk memastikan pengguna telah berhasil diautentikasi sebelum kami mengizinkan mereka mengakses salah satu aplikasi web kami. Kami memiliki HTTPS yang berfungsi dengan baik untuk front end untuk menerima kredensial. Masalah yang kita hadapi adalah untuk koneksi antara server kami dan server direktori aktif. Server direktori aktif dikelola oleh bagian yang berbeda dari departemen TI kami dan kami tidak memiliki akses ke sana. Server direktori aktif ini menggunakan sertifikat yang ditandatangani sendiri dan tidak memiliki nama domain yang sepenuhnya memenuhi syarat (mis. People.local).

Saya telah membaca banyak tempat yang berbicara tentang pengaturan variabel TLS_REQCERT ke tidak pernah; Namun, saya khawatir tentang serangan man-in-the-middle dan tidak merasa nyaman meninggalkan pengaturan yang ditetapkan dengan cara ini. Saya juga telah membaca beberapa artikel yang berbicara tentang kemampuan untuk meminta server direktori aktif dari baris perintah Linux, melihat sertifikat yang ditandatangani sendiri, menyimpan sertifikat yang ditandatangani sendiri ke server Linux lokal, dan kemudian menggunakan sertifikat ini untuk kepercayaan sehingga Anda tidak perlu mengatur TLS_REQCERT untuk tidak pernah. Saya tidak yakin bagaimana saya bisa melihat dan menyimpan sertifikat yang ditandatangani sendiri dari baris perintah Linux. Saya memiliki beberapa server CentOS yang sedang kami operasikan sehingga kami perlu menjalankan operasional ini.

Bantuan apa pun yang dapat Anda berikan akan sangat dihargai. Terima kasih sebelumnya.


5
2017-12-14 00:03






Jawaban:


Saya telah membaca banyak tempat yang berbicara   tentang pengaturan variabel TLS_REQCERT   tidak pernah; Namun, saya khawatir   serangan man-in-the-middle dan tidak   merasa nyaman meninggalkan pengaturan   mengatur cara ini.

Anda harus dipuji baik karena memikirkan keamanan dan untuk memahami implikasi dari pengaturan TLS_REQCERT.

Saya juga sudah membaca beberapa   artikel yang berbicara tentang bisa   query server direktori aktif dari   baris perintah Linux, lihat   sertifikat yang ditandatangani sendiri, simpan   sertifikat yang ditandatangani sendiri ke lokal   Server Linux ...

Anda dapat menggunakan openssl alat untuk melakukan ini. Dengan asumsi bahwa Anda dapat mengakses Active Directory melalui LDAP-over-SSL pada port 636, Anda dapat melakukan ini:

openssl s_client -connect server.example.com:636 > output < /dev/null

Dan ketika perintah selesai, Anda akan menemukan bahwa output mengandung, antara lain, sertifikat PEM yang dikodekan:

00000003)
---
Certificate chain
 0 s:/CN=dc1.example.com
   i:/DC=com/DC=example/DC=dc1/CN=example-DC1-CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGjDCCBXSgAwIBAgIKOxasfwAAAAAADDANBgkqhkiG9w0BAQUFADBaMRMwEQYK
...
-----END CERTIFICATE-----
...

Anda dapat menghapus semuanya sebelum BEGIN CERTIFICATE garis dan semuanya setelah END CERTIFICATE LINE dan Anda harus memiliki apa yang Anda cari.

Ada juga kemungkinan bahwa server AD tidak menggunakan sertifikat yang ditandatangani sendiri, melainkan menggunakan sertifikat yang dikeluarkan oleh otoritas sertifikat IKLAN. Jika ini kasusnya, mungkin lebih mudah hanya meminta orang AD untuk sertifikat CA.


6
2017-12-14 01:24



Terima kasih atas balasannya. Saya telah menguji dengan perintah openssl s_client -connect server.example.com:636 -showcerts> saved.file </ dev / null dan itu menyebabkan beberapa masalah yang mencoba untuk menentukan sertifikat dari beberapa yang terdaftar yang saya butuhkan menggunakan. Saya telah menggunakan perintah yang Anda berikan dan mengembalikan satu sertifikat, tetapi berbeda, yang merupakan perintah yang saya gunakan. Saya akan menguji dengan output dari perintah Anda dan melihat bagaimana kelanjutannya. - John
Jika server mengirimkan beberapa sertifikat kepada Anda, cukup masukkan semuanya ke dalam file dan gunakan itu sebagai file CA Anda. Ada peluang bagus bahwa mereka mewakili rantai sertifikat dan Anda akan membutuhkan mereka semua untuk memvalidasi server. - larsks


Saya merekomendasikan untuk memiliki server otoritas sertifikat khusus di organisasi Anda. Anda akan menggunakan server ini untuk menerbitkan sertifikat untuk semua server di perusahaan Anda. Untuk melihat informasi dari sertifikat, kunci atau permintaan sertifikat, Anda dapat menggunakan openssl. Lihat: http://www.openssl.org/support/faq.html dan http://www.madboa.com/geek/openssl/

Sertifikat yang dikeluarkan untuk server LDAP Anda atau, sebaiknya, sertifikat root harus diimpor dalam keystore SSL aplikasi Anda.


0
2017-12-14 00:36



Saya merasa ini tidak akan mengatasi masalah OP, karena ia tidak memiliki akses langsung ke server Active Directory. - Joshua Enfield