与Linux客户端的VPN Windows RAS服务器:如何使用强密码?

TL; DR:我希望Windows RAS服务器允许Linux客户端通过现代和强大的密码套件进行连接。

长版本:我已经设置了我的Windows Server 2016与RAS。 因为我读到PPTP和3DES被认为是不安全的,所以我设置了服务器来使用L2TP-PSK,目标是使用AES128或AES256encryption。

这里有一个RAS属性的截图:

RAS属性

在NPS( https://support.microsoft.com/en-us/help/954394/routing-and-remote-access-services-encryption-options-for-the-l2tp-ips )我没有安装最强大的encryption在networking政策。

NPS政策

我不确定这个NPS政策是否有必要。 我还在网上发现了一些build议,说我应该在RAS服务器上设置防火墙高级安全选项。 所以我也这样做了。 那里我实际上删除了3DES支持。

密钥交换选项:

密钥交换选项

安全选项:

安全选项

现在一切运行良好与其他Windows客户端。 当我build立到RAS服务器的VPN连接时,vpn状态属性告诉我,他们使用AES256进行encryption:

在这里输入图像说明

接下来,我想使用strongswan将我们的Linux服务器连接到公司networking。 我遵循的教程build议我执行一个ike-scan来查找我的Windows RAS服务器支持的密码。 当我的其他Windows客户端成功连接AES256encryption时,我感到惊讶的是,ike-scan只显示了对3DES的支持。 有些东西删除/replace为X的隐私。

Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/) 82.XX.XX.XX Main Mode Handshake returned HDR=XXXXXXX SA= (Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration(4)=0x00007080) ... Ending ike-scan 1.9: 1 hosts scanned in 0.020 seconds (49.34 hosts/sec). 1 returned handshake; 0 returned notify 

大量的谷歌search,我发现这个脚本:#!/ bin / sh

 # Encryption algorithms: 3des=5, aes128=7/128, aes192=7/192, aes256=7/256 ENCLIST="5 7/128 7/192 7/256" # Hash algorithms: md5=1, sha1=2, sha256=5, sha384=6 HASHLIST="1 2 5 6" # Authentication methods: Pre-Shared Key=1 AUTHLIST="1" # Diffie-Hellman groups: 1, 2, 5, 14, 15 GROUPLIST="1 2 5 14 15" for ENC in $ENCLIST; do for HASH in $HASHLIST; do for AUTH in $AUTHLIST; do for GROUP in $GROUPLIST; do echo ike-scan --trans=$ENC,$HASH,$AUTH,$GROUP -M "$@" ike-scan --trans=$ENC,$HASH,$AUTH,$GROUP -M "$@" done done done done 

但是这也只能说明,我已经知道了(所有其他的尝试导致Notify message 14 (NO-PROPOSAL-CHOSEN) ):

 ike-scan --trans=5,2,1,2 -M 82.XXX Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/) 82.XXX Main Mode Handshake returned HDR=(CKY-R=1ab8b7ecdaa82b46) SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration(4)=0x00007080) VID=1e2b516905991c7d7c96fcbfb587e46100000009 (MS NT5 ISAKMPOAKLEY) VID=4a131c81070358455c5728f20e95452f (RFC 3947 NAT-T) VID=90cb80913ebb696e086381b5ec427b1f (draft-ietf-ipsec-nat-t-ike-02\n) VID=4048b7d56ebce88525e7de7f00d6c2d3 (IKE Fragmentation) VID=fb1de3cdf341b7ea16b7e5be0855f120 VID=e3a5966a76379fe707228231e5ce8652 Ending ike-scan 1.9: 1 hosts scanned in 0.008 seconds (129.68 hosts/sec). 1 returned handshake; 0 returned notify 

我实际上继续testing,如果我可以通过L2TP从Linux连接到Windows RAS服务器,实际上它工作 。 但只有当我手动使我的L2TPconfiguration明确启用3DES SHA1(search周围build议,这个密码套件被认为是不安全的,这就是为什么我不得不手动/明确地启用它在我的configuration)。

我的l2tpconfiguration摘录:

 [vpn] domain=xxxxxxxxx gateway=82.XXX ipsec-enabled=yes ipsec-esp=3des-sha1 ipsec-ike=3des-sha1-modp1024 ipsec-psk=XXXXXXXXXXXXXXXX mru=1400 mtu=1400 password-flags=1 refuse-chap=yes refuse-eap=yes refuse-pap=yes 

问题

  1. 我如何强制Windows RAS服务器不再允许3DES。 显然,我所做的防火墙设置(见上面的截图)并没有做到这一点。
  2. 如何使用强encryption从Linux(Centos7或Unbuntu 17.x)进行连接(其他Windows Server客户端能够这样做,如您在上面的截图中所见)