Kerberos ktutil, ¿qué tipos de cifrado hay disponibles?


9

Estoy intentando hacer una tabla de teclas usando ktutil. Puedo elegir el tipo de cifrado, pero la ktutilpágina del manual no ofrece una lista de posibles opciones. ¡Tampoco sé qué método de cifrado es el mejor! ¿Cómo puedo encontrar ambos? Quiero el cifrado más fuerte disponible.

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

Respuestas:


8

La solución ktutil proporcionada por 84104 es correcta si está intentando crear una tabla de claves para un servicio. Es una idea terrible para una tabla de teclas que desea utilizar para un proceso automatizado, ya que aleatorizará la contraseña y hará que la cuenta sea inutilizable sin la tabla de teclas.

Si está utilizando la tabla de claves como un almacén de contraseñas para alimentar a kinit para automatizar un proceso, le sugiero que use cualquier tipo de entrada que obtenga cuando ejecute kinit usando una contraseña.

klist -e

enumerará un montón de cosas que la línea que quieres es esta. Use el tipo que aparece con ktutil.

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

Tenga en cuenta que este uso de ktutil es exactamente el mismo que almacenar su contraseña en un archivo de texto claro, cualquiera que pueda leer la tabla de claves puede suplantar su identidad al sistema. Además, estos comandos son la versión MIT, heimdal ktutil y klist son algo diferentes (Heimdal es la versión kerberos utilizada en versiones recientes de OS X)


1
Y a pesar de querer usar el cifrado más seguro, asegúrese de que solo esté usando un cifrado tan fuerte como su servidor Kerberos admite y está configurado para aceptar.
Ryan Bolger

3

No lo use a ktutilmenos que esté intentando crear una tabla de teclas a partir de una tabla de teclas existente. Usar en su kadminlugar.

# 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

Dependiendo de sus kdc, kdc.confpuede terminar con un cifrado diferente: tipos de sal. La lista predeterminada es:

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

También puede limitar (o expandir) los enctypes utilizados en la tabla de claves al crearla utilizando -ey especificando los tipos deseados.


Si está intentando crear una tabla de teclas a partir de una tabla de teclas existente:

# 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
Me autentico en un servidor de Active Directory de Windows y no es posible usar kadmin.
Dylan Klomparens

"No use ktutil a menos que esté tratando de hacer una tabla de teclas a partir de una tabla de teclas existente. Utilice kadmin en su lugar". - ¿aclararías por qué? ¿Es solo para asegurarse de que también se creen los nombres principales?
Samuel Harmer

@ Styne666 El espacio de teclas de -randkey es mayor que el espacio de teclas de todas las teclas que se pueden escribir.
84104
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.