Kerberos ktutil, jenis enkripsi apa yang tersedia?


9

Saya mencoba membuat keytab menggunakan ktutil. Saya dapat memilih jenis enkripsi, tetapi ktutilhalaman manual tidak menawarkan daftar pilihan yang memungkinkan. Saya juga tidak tahu metode enkripsi mana yang terbaik! Bagaimana saya bisa mengetahui keduanya? Saya ingin enkripsi terkuat tersedia.

$ ktutil
> add_entry -password -p me@DOMAIN.COM -k 1 -e [what goes here?!]

Jawaban:


8

Solusi ktutil yang disediakan oleh 84104 benar jika Anda mencoba membuat keytab untuk suatu layanan. Ini adalah ide yang buruk untuk keytab yang ingin Anda gunakan untuk beberapa proses otomatis karena akan mengacak kata sandi dan membuat akun tidak dapat digunakan tanpa keytab.

Jika Anda menggunakan keytab sebagai penyimpan kata sandi untuk memberi makan ke kinit untuk mengotomatiskan suatu proses, saya sarankan Anda menggunakan enctype apa pun yang Anda dapatkan ketika Anda menjalankan kinit menggunakan kata sandi.

klist -e

akan mencantumkan banyak hal yang Anda inginkan di baris ini. Gunakan etype yang tercantum dengan ktutil.

    Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96

Berhati-hatilah, penggunaan ktutil ini persis sama dengan menyimpan kata sandi Anda dalam file teks yang jelas, siapa pun yang dapat membaca keytab dapat menyamar sebagai identitas Anda ke sistem. Juga perintah-perintah ini adalah versi MIT, heimdal ktutil dan klist agak berbeda. (Heimdal adalah versi kerberos yang digunakan pada versi terbaru dari OS X)


1
Dan meskipun Anda ingin menggunakan enkripsi terkuat, pastikan Anda hanya menggunakan enkripsi sekuat yang didukung server Kerberos Anda dan dikonfigurasi untuk menerimanya.
Ryan Bolger

3

Jangan gunakan ktutilkecuali Anda mencoba membuat keytab dari keytab yang ada. Gunakan kadminsebagai gantinya.

# kadmin -p user/admin
Password for user/admin@EXAMPLE.COM:
kadmin: add_principal -randkey service/server.example.com
WARNING: no policy specified for service/server.example.com@EXAMPLE.COM; defaulting to no policy
Principal "service/server.example.com@EXAMPLE.COM" created.
kadmin:  ktadd -k /etc/service/service.keytab service/server.example.com
Entry for principal service/server.example.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab
Entry for principal service/server.example.com with kvno 2, encryption type camellia256-cts-cmac added to keytab
kadmin: quit

Tergantung pada kdc kdc.confAnda , Anda mungkin berakhir dengan enkripsi yang berbeda: jenis garam. Daftar default adalah:

aes256-cts-hmac-sha1-96:normal
aes128-cts-hmac-sha1-96:normal
des3-cbc-sha1:normal
arc‐four-hmac-md5:normal

Anda juga dapat membatasi (atau memperluas) enctypes yang digunakan di keytab saat membuatnya dengan menggunakan -edan menentukan jenis yang diinginkan.


Jika Anda mencoba membuat keytab dari keytab yang ada:

# kutil
ktutil: read_kt /etc/krb5.keytab
ktutil:  l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    6   host/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   2    6   host/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
   3    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   4    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: delete_entry 1
ktutil:  l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    6   host/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
   2    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   3    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: delete_entry 1
ktutil:  l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
   2    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: write_kt /etc/httpd/http.keytab
ktutil: quit
# klist -ke /etc/httpd/http.keytab
Keytab name: FILE:/etc/httpd/http.keytab
KVNO Principal
---- ---------------------------------------------------------------------
    3   HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
    3   HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)

3
Saya mengautentikasi terhadap server Windows Active Directory dan menggunakan kadmin bukanlah suatu kemungkinan.
Dylan Klomparens

"Jangan gunakan ktutil kecuali kamu mencoba membuat keytab dari keytab yang ada. Gunakan kadmin saja." - maukah Anda menjelaskan mengapa? Apakah hanya untuk memastikan nama-nama prinsip juga dibuat?
Samuel Harmer

@ Styne666 Ruang kunci -merk lebih besar daripada ruang kunci dari semua kunci yang bisa mengetik.
84104
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.