Windows 10 内置 VPN

Windows 10 内置 VPN

我正在尝试使用带有 IKEv1 的 IPsec/L2TP 和 asa 5505 设置 Windows 内置 VPN。使用 psk 进行远程访问 VPN。

我在第 1 阶段收到不匹配错误,我无法弄清楚 Windows 10 正在使用什么 IPsec 提案,因此我可以在 Asa5505 端进行匹配!?即 Auth 方法、哈希算法、加密算法、DH 组和生存期。

那么,Windows 10 使用内置 VPN 客户端的什么 IPsec 方案,是否可以更改?

有没有什么技巧和窍门?

问候。

答案1

这个问题有点老了,但我决定分享我在 Windows 10 中使用 PSK 的 L2TP/IPSec 的经验,有人可能会觉得它有用。

前几天,我在 Windows 10 PC 和 Mikrotik 路由器之间试验了 L2TP/IPsec 连接。通过分析 Mikrotik 的调试级别日志,我发现 Windows 10(版本 1511)在密钥交换期间提供了以下身份验证和加密设置(按此优先级顺序):

  1. SHA1 + AES-CBC-256 + ECP384
  2. SHA1 + AES-CBC-128 + ECP256
  3. SHA1 + AES-CBC-256 + MODP2048
  4. SHA1 + 3DES-CBC + MODP2048
  5. SHA1 + 3DES-CBC + MODP1024

对于阶段 2 协商,Windows 10 仅具有以下建议:

  • SHA1 + AES-CBC-128

似乎所有这些设置都是系统中的硬编码,因为 L2TP/IPsec 客户端忽略了我在高级 Windows 防火墙 MMC 中的“IPSec 设置”中所做的任何更改。

我甚至尝试了这个注册表破解,但我没能强制第 2 阶段使用 AES256:https://superuser.com/questions/1296210/force-windows-ipsec-l2tp-vpn-to-use-aes-in-ipsec-main-mode

我知道 1511 是 Win10 的旧版本,但我的办公笔记本电脑上可用。较新的版本可能会有一些改进(例如更高效的 AES-GCM 加密),但对我来说,SHA1 和 256 位 AES-CBC 与 Diffie-Hellman 椭圆曲线 P-384 的组合目前提供了相当强大和快速的安全性。对于流量,SHA1+AES128 不是最安全的选择,但它不需要太多资源。

更新:我查看了 Win10 版本 1803。第 1 阶段的提案相同,但对于第 2 阶段,Windows 现在也提出了 SHA1+AES-CBC-256(除了 SHA1+AES-CBC-128)。CTR 或 GCM 套件仍然不受支持。SHA256 哈希算法均不支持身份验证。

答案2

我还发现了如何编辑这些设置:具有高级安全性的 Windows 防火墙 -->(右侧面板)属性 --> IPsec 设置 --> 自定义 IPsec 默认值 --> 密钥交换(高级)

答案3

您应该能够在 VPN 设置中设置参数(右键单击,网络和共享中的 VPN 连接属性),然后调整 Windows 如何处理 L2TP 的 PSK。我相信它默认使用证书而不是 PSK(因为它不知道这一点)。它会尝试几种不同的 VPN 类型,直到找到一种可行的(或者在 SSL 上花费很长时间……)但您可以明确告诉它使用 L2TP。

查看“安全”选项卡、VPN 类型和高级设置,以设置 Windows 尝试进行身份验证的方式。下面是协议和其他内容。

Microsoft 在此处列出了默认设置http://support.microsoft.com/en-us/kb/325158

答案4

我已经使用 powershell 成功更改了第 1 阶段和第 2 阶段的设置

设置 VpnConnectionIPsecConfiguration -ConnectionName 测试 -EncryptionMethod AES128 -DHGroup ECP256 -IntegrityCheckMethod SHA256 -PfsGroup None –AuthenticationTransformConstants GCMAES128 -CipherTransformConstants GCMAES128

相关内容