我最近对 Kerberos 和 Radius 产生了兴趣,并且已经找到了一些关于它们区别的信息。但是,我对 Kerberos 实际上有多安全感到好奇。
我从Kerberos 的官方网站上看到,它仍然得到高度维护,并且已经发布了新版本。虽然,我有以下问题:
- Kerberos 多久使用一次?我想知道它在实践中的流行程度。
- Kerberos 的安全性如何?
- 谈到 Kerberos,有哪些安全最佳实践?我的意思是如何安全地使用它?
我最近对 Kerberos 和 Radius 产生了兴趣,并且已经找到了一些关于它们区别的信息。但是,我对 Kerberos 实际上有多安全感到好奇。
我从Kerberos 的官方网站上看到,它仍然得到高度维护,并且已经发布了新版本。虽然,我有以下问题:
Kerberos 仍然广泛用于 Windows 服务器,所有主要操作系统中都包含客户端。
我将不得不推测真正回答这个问题。我只能说,它存活了这么久,不可能全是坏事。当然,它主要限于专用网络,因为服务器和客户端都必须信任 Kerberos 服务器。这使得它不适合基于 Web 的开发。
抱歉,我不是 Kerberos 专家,所以我在这里帮不上忙。我只能说,快速的谷歌搜索带来了一些有前途的文章。
引用 MIT Kerberos Consortium(版权声明,© 2008):
“Kerberos 开发人员假设任何人都可以窃听网络流量,可以声称自己是任何用户,并且可以设置能够伪装成任何合法服务的流氓服务器,包括 Kerberos 服务本身。加密用于防止窃听攻击和会话密钥与时间戳一起被引入以防止重放攻击。”
为了安全地使用 Kerberos,需要应用标准安全性。通过禁用服务(理想情况下仅提供 Kerebos 服务)来确保密码安全且 Kerberos 服务器得到很好的保护,并确保跟上操作系统和安全更新的步伐。还应该考虑防火墙和对服务器的物理访问。最后,假设您使用 NTP(网络时间协议),请确保 NTP 在 kerboros 服务器和客户端上是安全的。
在早期版本的 Windows 中,Microsoft 使用 NTLM 身份验证,然后他们从 Windows 2000 开始添加了 Kerberos 身份验证。较新的 Windows O/S 仍然支持和提供 NTLM。
一般来说,Kereberos 是目录服务最流行的身份验证,它是安全的,但与任何身份验证协议一样,它也有其自身的安全挑战。攻击者可以窃取 Ticket Granting Ticket (TGT) 并执行横向移动,从而导致远程执行、域升级甚至域控制。这可能看起来很可怕,但确实如此。你可能会在我的 Azure ATP 的 YouTube 视频中看到这些攻击,网址为https://www.youtube.com/watch?v=XarWjtK9ONM&t=2875s