Kerberos ktutil, loại mã hóa nào có sẵn?


9

Tôi đang cố gắng tạo ra một keytab bằng cách sử dụng ktutil. Tôi có thể chọn loại mã hóa, nhưng ktutiltrang man không cung cấp danh sách các lựa chọn có thể. Tôi cũng không biết phương pháp mã hóa nào là tốt nhất! Làm thế nào tôi có thể tìm ra cả hai? Tôi muốn mã hóa mạnh nhất có sẵn.

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

Câu trả lời:


8

Giải pháp ktutil được cung cấp bởi 84104 là chính xác nếu bạn đang cố gắng tạo một keytab cho một dịch vụ. Đó là một ý tưởng tồi cho một keytab mà bạn muốn sử dụng cho một số quy trình tự động vì nó sẽ ngẫu nhiên hóa mật khẩu và làm cho tài khoản không thể sử dụng được nếu không có keytab.

Nếu bạn đang sử dụng keytab làm kho lưu trữ mật khẩu để cung cấp cho kinit để tự động hóa một quy trình, tôi sẽ khuyên bạn nên sử dụng bất kỳ mã hóa nào bạn nhận được khi chạy kinit bằng mật khẩu.

klist -e

sẽ liệt kê ra một loạt các công cụ mà dòng bạn muốn là cái này. Sử dụng etype được liệt kê với ktutil.

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

Được cảnh báo, việc sử dụng ktutil này giống hệt như lưu trữ mật khẩu của bạn trong một tệp văn bản rõ ràng, bất kỳ ai có thể đọc keytab đều có thể mạo danh danh tính của bạn với hệ thống. Ngoài ra các lệnh này là phiên bản MIT, heimdal ktutil và klist có phần khác nhau. (Heimdal là phiên bản kerberos được sử dụng trên các phiên bản OS X gần đây)


1
Và mặc dù bạn muốn sử dụng mã hóa mạnh nhất, hãy đảm bảo rằng bạn chỉ sử dụng mã hóa mạnh như máy chủ Kerberos của bạn hỗ trợ và được định cấu hình để chấp nhận.
Ryan Bolger

3

Đừng sử dụng ktutiltrừ khi bạn đang cố gắng tạo một keytab từ một keytab hiện có. Sử dụng kadminthay thế.

# 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

Tùy thuộc vào kdc của kdc.confbạn, bạn có thể kết thúc bằng mã hóa khác nhau: các loại muối. Danh sách mặc định là:

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

Bạn cũng có thể giới hạn (hoặc mở rộng) các loại mã hóa được sử dụng trong keytab khi tạo nó bằng cách sử dụng -evà chỉ định các loại mong muốn.


Nếu bạn đang cố gắng tạo một keytab từ một keytab hiện có:

# 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
Tôi đang xác thực với máy chủ Windows Active Directory và sử dụng kadmin không phải là một khả năng.
Dylan Klomparens

"Đừng sử dụng ktutil trừ khi bạn đang cố gắng tạo một keytab từ một keytab hiện có. Thay vào đó hãy sử dụng kadmin." - bạn sẽ làm rõ tại sao? Có phải chỉ để đảm bảo tên nguyên tắc cũng được tạo ra?
Samuel Harmer

@ Styne666 Không gian khóa của -randkey lớn hơn không gian khóa của tất cả các khóa có thể gõ.
84104
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.