Mengotentikasi OpenBSD terhadap Active Directory

24

Sunting: Memformat ulang ini sebagai Tanya Jawab. Jika ada yang bisa mengubah ini dari Komunitas Wiki ke pertanyaan umum, itu mungkin lebih tepat juga.

Bagaimana saya bisa mengotentikasi OpenBSD terhadap Active Directory?

sh-beta
sumber
Sangat bagus! Itu terlihat sangat teliti dan ditulis dengan baik. Saya tidak menggunakan OpenBSD, tetapi bagian AD terlihat tepat.
Evan Anderson
Memberi +1 untuk panduan yang bagus, meskipun sebenarnya bukan pertanyaan.
David Schmitt
Anda harus mengubah ini menjadi format Tanya & Jawab.
Doug Luxem
Berubah, meskipun itu masih Wiki Komunitas. Jika orang lain dapat mengubahnya, silakan.
sh-beta

Jawaban:

17

Kata pengantar

Mengautentikasi terhadap Active Directory dengan Kerberos cukup sederhana pada sistem yang menggunakan PAM, tetapi OpenBSD tidak dan membuatnya lebih sulit. Dari tcpdump, sepertinya sistem PAM hanya melakukan pra-otentikasi sementara sistem bsd_auth OpenBSD menggunakan seluruh proses otentikasi Kerberos.

Bagaimanapun, ini perlu waktu beberapa saat untuk mencari tahu jadi mudah-mudahan beberapa instruksi singkat akan menghemat waktu Anda.

Beberapa catatan singkat sebelum kita mulai:

  • Pengguna harus ada di sistem OpenBSD sebelum mencoba masuk. Mereka tidak diolah secara otomatis.
  • Jika Anda ingin pengguna dibuat secara otomatis, lihat Samba / Winbind. Saya tidak mengalami masalah (crash yang tidak dapat dijelaskan, spam log serius, otentikasi tidak dapat diandalkan) darinya, jadi saya hanya menggunakannya ketika saya harus melakukannya.
  • Ini diuji pada OpenBSD 4.5 dan Windows Server 2003. Saya cukup yakin ini akan bekerja dengan Win2k, tapi YMMV.
  • Versi OpenBSD ini menggunakan Heimdal 0.7.2. Semuanya di sini selain dari paths dan hal-hal login.conf mungkin akan bekerja pada * nixes lain yang menjalankan Heimdal yang sama, tapi sekali lagi, YMMV.

Instruksi

Langkah-langkah ini mengasumsikan Anda mencoba mengautentikasi [email protected] terhadap domain EXAMPLE.COM. Pengontrol domain adalah pdc.EXAMPLE.COM.

  1. Buat akun Pengguna Direktori Aktif yang bernama myhost (itu bukan salah ketik, instruksi ini tidak akan berfungsi dengan akun Komputer). Nonaktifkan kadaluarsa kata sandi dan jangan biarkan pengguna mengubah kata sandi sendiri. Setel kata sandi untuk apa pun yang Anda suka - itu akan segera diubah.

  2. Mungkin ide yang baik untuk membuat akun Pengguna di bawah OU baru, menghapusnya dari grup Pengguna Domain dan menambahkannya ke grup khusus. Ini semua masalah selera dan tata letak keamanan Anda.

  3. Pada pdc.EXAMPLE.COM, unduh dan instal Alat Dukungan Server Windows (khusus, Anda akan memerlukan ktpass.exe)

  4. Pada pdc.EXAMPLE.COM, jalankan:

    ktpass -out c: \ temp \ myhost.keytab -princ host / [email protected] -mapuser myhost _-pType KRB5 NT_PRINCIPAL + rndpass

    Ini memperbarui kata sandi pengguna myhost ke sesuatu yang acak (+ rndpass), memetakan prinsip utama Kerberos "host/[email protected]" ke "myhost" pengguna di Direktori Aktif, dan kemudian memasukkan info kunci utama dan pribadi ke dalam File keytab keluar.

  5. Salin dengan aman c: \ temp \ myhost.keytab ke myhost dan hapus file dari pdc.EXAMPLE.COM

  6. Di myhost, tambahkan keytab AD ke keytab utama Anda:

    ktutil salin /path/to/myhost.keytab /etc/kerberosV/krb5.keytab

  7. Konfigurasikan /etc/krb5.conf. Di bawah ini adalah minimum yang Anda butuhkan. Ada banyak opsi yang tersedia, lihat halaman manual untuk lebih jelasnya. Ini hanya menetapkan jam maksimum yang dapat diterima condong ke 5 menit, menjadikan EXAMPLE.COM ranah default, dan memberi tahu Kerberos cara menerjemahkan antara ranah DNS dan Kerberos.

    [libdefaults]
    clockskew = 300
    default_realm = EXAMPLE.COM

    [realms]
    EXAMPLE.COM = {
    default_domain = EXAMPLE.COM
    }

    [domain_realm]
    .EXAMPLE.COM = EXAMPLE.COM

  8. Verifikasi bahwa Anda bisa mendapatkan tiket:

    # kinit [email protected]
    [email protected]'s Password:
    # klist
    Credentials cache: FILE:/tmp/krb5cc_0
    Principal: [email protected]

    Issued Expires Principal
    Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/[email protected]

  9. Ubah /etc/login.conf untuk menggunakan otentikasi Kerberos. Konfigurasi login.conf Anda yang tepat akan bervariasi tergantung pada bagaimana Anda menggunakan sistem Anda, tetapi untuk beralih dari pemasangan vanilla ke menggunakan Kerberos, cukup edit dan komentar baris ini di bawah kelas login default:

    :tc=auth-defaults:\

    Dan tambahkan di atasnya:

    :auth=krb5-or-pwd:\

    Ini memeriksa Kerberos terlebih dahulu kecuali pengguna root. Jika Kerberos gagal, itu akan menggunakan kata sandi lokal.

  10. Tambahkan pengguna yang ingin Anda otentikasi pada host ini. Biarkan kata sandi kosong kecuali Anda ingin mereka dapat menggunakan Direktori Aktif dan kata sandi lokal (tidak disarankan).

    Anda dapat mengosongkan kata sandi "sandi" pengguna yang ada <user>dan mengganti nilai "Kata sandi terenkripsi:" dengan tanda bintang (*)

  11. Uji SSH dan Sudo. Keduanya harus bekerja dengan sempurna dengan kredensial Active Directory Anda.

Itu semua yang ada untuk itu.

Tautan

Beberapa situs yang bermanfaat:

sh-beta
sumber
Sepertinya 2008 R2 telah dipasangkan ktpass.exe. Mungkin 2008 juga, tidak bisa mengatakan dengan pasti pada tahap ini. Jika ada yang bisa mengklarifikasi, itu akan bagus.
Aaron Mason
Selanjutnya, untuk melakukan ini dengan 5.7 dan seterusnya, Anda harus menginstal paket Heimdal - itu dihapus dari pangkalan di 5.6.
Aaron Mason
Tambahan untuk komentar sebelumnya - Anda juga harus menginstal paket login_krb5 dan menyalin login_krb5-or-pwdke /usr/libexec/auth- juga file konfigurasi dan keytab sekarang dalam /etc/heimdaldan tidak /etc/kerberosVseperti dalam rilis OpenBSD sebelumnya.
Aaron Mason
5

Pembaruan untuk petunjuk di atas karena beberapa hal telah berubah sejak saat itu.

Di OpenBSD 5.6, keputusan dibuat untuk menghapus Heimdal dari distribusi basis karena kekhawatiran tentang kualitas kode dan tidak ada yang mau meluangkan waktu untuk mengauditnya. Di 5.7 itu tersedia sebagai paket (Untuk 5.6 Anda harus membangun dari sumber atau mencari cara mengaktifkannya kembali di sumber). Jadi, sebelum mengikuti instruksi di atas, langkah-langkah tambahan berikut perlu diselesaikan:

-3. Instal heimdaldan login_krb5paket dari mirror favorit Anda.

-2. Salin /usr/local/libexec/auth/login_krb5*ke /usr/libexec/auth.

-1. Jika Anda sering menggunakan alat heimdal, tambahkan /usr/local/heimdal/binke jalur sistem Anda. Jika tidak, pastikan untuk merujuk alat dengan jalur lengkapnya saat menggunakannya.

Juga, file krb5.confdan krb5.keytabmasuk ke /etc/heimdalsekarang.

Aaron Mason
sumber