Linux

讀取密鑰表文件 krb5.keytab 時出錯

  • December 7, 2015

我在 SLES 11.2 和 CentOS 6.3 上都注意到了這些 kerberos keytab 錯誤消息:

sshd[31442]: pam_krb5[31442]: error reading keytab 'FILE: / etc/ krb5. keytab'

/etc/krb5.keytab在我們的主機上不存在,根據我對 keytab 文件的理解,我們不需要它。根據這個 kerberos keytab 介紹

密鑰表是一個包含 Kerberos 主體和加密密鑰對的文件(這些密鑰源自 Kerberos 密碼)。您可以使用此文件登錄 Kerberos,而無需提示輸入密碼。keytab 文件最常見的個人用途是允許腳本在沒有人工互動的情況下對 Kerberos 進行身份驗證,或者將密碼儲存在純文字文件中。

這聽起來像是我們不需要的東西,也許沒有它在安全方面會更好。

如何防止此錯誤出現在我們的系統日誌中?這是我的 krb5.conf 如果它有用的話:

banjer@myhost:~> cat /etc/krb5.conf
# This file managed by Puppet
#
[libdefaults]
       default_tkt_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
       default_tgs_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
       preferred_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
       default_realm = FOO.EXAMPLE.COM
       dns_lookup_kdc = true
       clockskew = 300

[logging]
       default = SYSLOG:NOTICE:DAEMON
       kdc = FILE:/var/log/kdc.log
       kadmind = FILE:/var/log/kadmind.log

[appdefaults]
pam = {
       ticket_lifetime = 1d
       renew_lifetime = 1d
       forwardable = true
       proxiable = false
       retain_after_close = false
       minimum_uid = 0
       debug = false
       banner = "Enter your current"
}

如果您需要查看任何其他配置,請告訴我。謝謝。

編輯

/var/log/secure每當非 root 使用者通過 SSH 或控制台登錄時,都會顯示此消息。它似乎只發生在基於密碼的身份驗證中。如果我對伺服器執行基於密鑰的 ssh,則看不到錯誤。如果我使用 root 登錄,我看不到錯誤。我們的 Linux 伺服器針對 Active Directory 進行身份驗證,因此它是 PAM、samba、kerberos 和 winbind 的完美組合,用於對使用者進行身份驗證。

如果您在主機上沒有 keytab,那麼您確實沒有正確使用 Kerberos,並且如果攻擊者可以毒害您的 DNS 記憶體,那麼您很容易受到相對簡單的攻擊。

Kerberos 是一個共享密鑰系統,為了有效地工作,任何接受 Kerberos 票證的伺服器都需要擁有 Kerberos 密鑰分發中心 (KDC) 也擁有的共享密鑰的本地副本。這就是密鑰表,即該服務的共享密鑰的本地副本。

keytab 也可以用作獲取 Kerberos Ticket-Granting-Tickets (TGT) 的記憶體,但這是在您希望主機充當 Kerberos 伺服器的客戶端而不是伺服器時使用的。

pam_krb5使用密鑰表來驗證鍵入的密碼是否是 KDC 中的實際密碼。如果您沒有允許此操作的密鑰表,那麼您要驗證的只是某處的某台機器響應了 Kerberos 協議請求。

這可能是一個舊的,但我有同樣的問題,想擺脫這個消息。我遵循 ArchLinux 的這些說明並解決了它。

https://wiki.archlinux.org/index.php/Active_Directory_Integration#Creating_a_machine_key_tab_file

剛剛輸入了這個:

net ads keytab create -U administrator

不過,這可能取決於您的設置。

引用自:https://serverfault.com/questions/446768