Apache mod_auth_kerb dan grup pengguna LDAP


12

Saya telah mempertimbangkan untuk menggunakan mod_auth_kerbserver web internal kami untuk mengaktifkan SSO. Satu masalah jelas yang bisa saya lihat adalah bahwa ini merupakan pendekatan semua-atau-tidak sama sekali, baik semua pengguna domain Anda dapat mengakses situs atau tidak.

Apakah mungkin digabungkan mod_auth_kerbdengan sesuatu seperti mod_authnz_ldapmemeriksa keanggotaan grup di grup tertentu di LDAP? Saya kira KrbAuthoritativepilihannya ada hubungannya dengan ini?

Juga, seperti yang saya mengerti, modul menetapkan nama pengguna username@REALMsetelah otentikasi, tetapi tentu saja dalam direktori pengguna disimpan sebagai nama pengguna saja. Selain itu, beberapa situs internal yang kami jalankan seperti trac sudah memiliki profil pengguna yang ditautkan ke setiap nama pengguna. Apakah ada cara untuk mengatasi ini, mungkin dengan menanggalkan bit ranah setelah otentikasi entah bagaimana?


Hanya pertanyaan tentang implementasi, apakah Anda menggunakan Windows ADS untuk ranah kerberos atau implementasi lainnya?
Jeremy Bouse

OpenDirectory Apple yang datang dengan MIT Kerberos v5
Kamil Kisiel

Oke ... Belum pernah bekerja dengan OpenDirectory Apple sebelumnya. Saya bisa mendapatkan Apache untuk mengautentikasi menggunakan NTLM terhadap Windows ADS menggunakan kredensial workstation mereka dan kemudian membatasi ke grup tertentu.
Jeremy Bouse

Tanpa menghapus ranah dari nama pengguna, Anda dapat menggunakan atribut alternatif dalam permintaan LDAP untuk mencari entitas pengguna, misalnya atribut "userPrincipalName" di Ms ActiveDirectory.
Yves Martin

Jawaban:


13

Sekarang dimungkinkan dalam mod_auth_kerb 5.4 untuk menghapus realm dari REMOTE_USER dengan direktif konfigurasi berikut:

KrbLocalUserMapping On


Wow, sepertinya ini dirilis pada 2008, tetapi tidak disebutkan (versi atau parameter) di situs web mereka.
Kamil Kisiel

7

Itulah inti pemisahan authn / authz di 2.2 yang dapat Anda otentikasi dengan satu mekanisme, dan otorisasi dengan yang lain. Otentikasi memberi Anda pengaturan REMOTE_USER, yang kemudian dapat Anda gunakan melawan authz_ldap. Selain itu, authn_ldap mencari kemudian untuk pengguna (mengkonversi REMOTE_USER ke DN jika ditemukan, menggunakan kriteria pencarian yang harus Anda tentukan - misalnya mencari CN). Kemudian, ketika DN ditemukan, Anda dapat menentukan persyaratan pada objek LDAP. Misalnya, jika semua pengguna yang mengakses sumber daya harus dalam OU yang sama, Anda tentukan

memerlukan ldap-dn ou = Manajer, o = Perusahaan


Apakah mungkin untuk memodifikasi variabel REMOTE_USER sebelum diteruskan ke tahap otorisasi? Misalnya, untuk menghapus bagian REALM dari nama pengguna Kerberos untuk pencarian di basis data LDAP?
Kamil Kisiel

Bukan dengan cara konfigurasi. Namun, ini relatif mudah dilakukan dalam kode sumber modul Apache. Cari tugas untuk meminta-> pengguna dan sesuaikan; kemudian bangun kembali modul dengan apxs2 -c. OTOH, mungkin lebih mudah untuk memasukkan nama Kerberos ke LDAP, di bawah atribut terpisah, dan meminta modul ldap mencari pengguna dengan atribut itu.
Martin v. Löwis

2

Debian stable sekarang dikirimkan dengan versi 5.4 dari mod_auth_kerb .

Jika Anda terjebak dengan versi yang lebih lama, halaman ini menjelaskan bagaimana mod_map_user dapat digunakan dalam kombinasi dengan mod_auth_kerb dan mod_authnz_ldap.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.