我们正在设置 SharePoint 2010 网站。别担心,这不是 SharePoint 问题,只是为了上下文而添加它。大多数网站将是匿名的,但有些用户可以进行身份验证并编辑内容。他们使用 NTLM(用户存在于 AD 中)。对于可以通过 http 在互联网上修改内容的用户,是否需要暴露 NTLM 登录信息,或者是否应该仅通过 https 暴露?
答案1
通过纯 HTTP 传输的 NTLM 不安全。被动嗅探流量或执行中间人攻击的攻击者可以使用各种方法来窃取或滥用凭据。例如:
- NTLM 中继攻击:当用户认为他们已通过 SharePoint 身份验证时,攻击者可以转发域中其他服务(如 Outlook/Exchange 或 SMB 共享)的 NTLM 质询,并获得对该服务的访问权限。即使第二个服务使用的是 HTTPS!
- 离线字典攻击:在观察到 NTLM 质询和响应后,攻击者可以重新计算某个密码 P 的交换。如果匹配,则意味着 P 是用户密码。攻击者可以继续尝试 P,直到找到密码。这种攻击的有效性取决于密码强度,但通过使用标准工具、好的字典和强大的 GPU 加速,即使是中等复杂的密码也可以破解。
- 会话劫持:只对 SharePoint 感兴趣的攻击者也可以简单地忽略 NTLM 交换并接管用户的 SharePoint 会话(例如通过窃取 cookie 或注入 JavaScript)。这使他们拥有与用户相同的读/写访问权限。
- 网站欺骗:攻击者可以显示一个虚假的登录屏幕,要求输入 AD 凭据。由于用户可能信任 SharePoint,因此他们填写凭据并向攻击者提供明文密码的可能性很大。
- NTLMv1 降级:根据客户端配置,攻击者可能能够让它们执行 NTLMv1 握手。这具有 NTLMv2 的所有加密弱点(即易受字典和中继攻击),但在破解两个 DES 密钥(如今非常便宜和快速)后,它使他们能够访问用户的原始 NT 哈希。针对此的字典攻击效率要高得多。此外,此值可用于传递哈希攻击,允许攻击者无需密码即可以用户身份登录(针对大多数服务)。
底线:将 NTLM 身份验证与使用纯文本凭据的身份验证视为相同。在这种情况下,这意味着如果您想保护网络免受攻击者的攻击,您应该使用 HTTPS。
答案2
您不会使用 NTLM over HTTP 以明文形式公开凭据。您将公开其他所有内容,因此您的数据将无法避免机密性或完整性泄露(“传输中”数据被窃听或修改)。
答案3
我对 Sharepoint 一无所知,但一般的解决方法是安装嗅探器。如果您能看到传递的密码或哈希值,那就糟糕了。如果您看不到,那么您需要进一步研究它,它可能仍然被轻微混淆(base64 编码或类似的东西)。