Jon*_*Jon 2 unix kerberos authentication
我已经证明 UNIX/AD Kerberos 身份验证在没有 keytab 文件的情况下也能工作,所以我想知道我是否应该担心它(假设我需要为每个要在其上提供 AD 身份验证服务的服务器一个单独的 keytab )。
小智 7
本地身份验证期间本地密钥表的主要用途是防止 KDC 欺骗。
Kerberos 登录身份验证的工作方式是从 Kerberos KDC 请求 TGT,然后使用由本地输入的密码形成的密钥对其进行解密。如果解密成功,则认为登录成功(如果没有密钥表)。这种方法的问题在于,攻击者可能同时使用以攻击者选择的密码加密的 TGT 来欺骗 KDC 回复。如果系统在真正的回复之前得到那个回复,它会很高兴地用攻击者的密码解密它,然后认为认证成功。鉴于 Kerberos 是一种 UDP 协议,如果系统在同一个本地网络上,这很容易做到。
如果有本地密钥表,登录过程还需要一个步骤:它向 KDC 请求本地密钥表中存储的主体的服务票证,然后通过使用密钥表中的密钥对其进行解密来验证该票证。攻击者的 KDC 不知道系统上 keytab 的私钥,因此这一步会失败。(当然,这意味着系统密钥表需要锁定,只能由 root 访问,因为任何可以访问密钥表的人仍然可以成功攻击系统。)
(资格:我是 Debian 和 Ubuntu 中使用的 Kerberos PAM 模块的作者。)
| 归档时间: |
|
| 查看次数: |
2175 次 |
| 最近记录: |