我正在 Windows 2008 R2 上设置 VPN 测试服务器。我似乎记得 PPTP 并不理想,因为在 Cisco 防火墙上,您需要允许打开相当大范围的端口(也使用 GRE 协议?)
无论如何,我对此的模糊记忆并不出色,所以我想知道,用于设置远程 VPN 访问(来自从家里拨入的用户,因此不是 VPN 隧道或任何东西)的更安全的协议是什么。
答案1
如果您拥有 Windows Vista/7 客户端和 2008r2 服务器,那么您可能应该使用 IKEv2 作为主要端口,如果由于某种原因 UDP 端口 500 在客户端站点被阻止,则应回退到 SSTP。
SSTP 存在严重的性能问题,因为大多数数据流量都是 TCP-in-TCP。这会导致“内部”TCP 层误报网络上的实际数据包丢失,从而导致巨大的延迟或断开连接。请参阅此链接了解有关该问题的详细信息。
我们自己的测试表明,SSTP 在有损网络上表现糟糕,尤其是酒店、咖啡店、移动宽带等无线网络。因此,我们最初选择 IKEv2 作为主要机制,SSTP 作为后备机制。SSTP 和 IKEv2 都不需要客户证书部署,但它们确实要求所有客户端信任 VPN 服务器的证书。VPN 服务器证书可通过组策略轻松部署。
Windows 实现中 PPTP、SSTP 和 IKEv2 的另一个常见问题是它们不验证客户端电脑是可信的,只是连接的用户知道密码并具有 VPN 权限。这个问题最终导致我们回到使用 Microsoft 证书颁发机构向受信任的机器颁发证书的客户端证书部署的 L2TP。您可以使用注册表设置(再次通过组策略部署)为 L2TP 配置 NAT 遍历。
答案2
不要使用 PPTP——如果您使用 MSChapv2 协议,它完全不安全。https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/
如果您使用不同的加密方法(例如证书),则设置起来会更加麻烦,从而首先消除 PPTP 的任何好处。
我计划用 OpenVPN 替换我自己组织中的 PPTP。IPSec / L2TP 是另一个不错的选择。
答案3
如果您有较新的 Cisco 防火墙,则可以使用 SSL VPN 功能(前提是您已获得许可)。您还可以使用常规的 Cisco VPN 客户端/服务器设置。
对于使用 W2k8 R2,我建议使用 SSTP 路由而不是 PPTP。PPTP 可能更容易部署,但除了安全性之外,现在有很多地方(其他企业、酒店等)不允许您连接到其中一个(出站),这让员工和客人感到沮丧。