Назад | Перейти на главную страницу

Kerberos ktutil, какие виды шифрования доступны?

Я пытаюсь создать keytab, используя ktutil. Я могу выбрать тип шифрования, но ktutil На странице руководства нет списка возможных вариантов. Я также не знаю, какой метод шифрования лучше! Как я могу узнать и то, и другое? Я хочу самое надежное шифрование.

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

Решение ktutil, предоставляемое 84104, является правильным, если вы пытаетесь создать keytab для службы. Это ужасная идея для keytab, которую вы хотите использовать для некоторого автоматизированного процесса, так как он случайным образом изменит пароль и сделает учетную запись непригодной для использования без keytab.

Если вы используете keytab в качестве хранилища паролей для передачи в kinit для автоматизации процесса, я бы посоветовал вам использовать любой enctype, который вы получаете при запуске kinit с паролем.

klist -e

перечислит кучу вещей, нужная вам строка. Используйте etype, указанный в ktutil.

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

Имейте в виду, что использование ktutil аналогично хранению вашего пароля в текстовом файле, любой, кто может прочитать keytab, может выдать вашу личность в системе. Также эти команды относятся к версии MIT, heimdal ktutil и klist несколько отличаются (Heimdal - это версия kerberos, используемая в последних версиях OS X).

Не использовать ktutil если вы не пытаетесь создать keytab из существующего keytab. Использовать kadmin вместо.

# 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

В зависимости от вашего kdc kdc.conf вы можете получить другое шифрование: типы соли. Список по умолчанию:

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

Вы также можете ограничить (или расширить) enctypes, используемые в keytab при ее создании, используя -e и указав желаемые типы.


Если вы пытаетесь создать keytab из существующей keytab:

# 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)