你的VPN加密了吗

安全的虚拟私人网络使用加密穿隧协议,通过阻止截听与嗅探来提供机密性,还允许发送者身份验证,以阻止身份伪造,同时通过防止信息被修改提供消息完整性。某些虚拟私人网络不使用加密保护数据。虽然虚拟私人网络通常都会提供安全性,但未加密的虚拟私人网络严格来说不属于“安全”或“可信”的类别。例如,一条通过GRE协议在两台主机间建立的隧道属于虚拟私人网络,但既不安全也不可信。 除以上的GRE协议例子外,原生的明文穿隧协议包括L2TP(不带IPsec时)和PPTP(不使用微软点对点加密(MPPE)时)。(摘自维基百科

不加密的VPN也是可以翻墙的,所以不要因你的VPN能翻墙就认为自己的VPN加密了。我们现在从两个方面考察自己的VPN是否加密了,一是VPN认证过程,一是VPN数据传输过程。

==========

认证过程的加密


上图中我们一般使用PPTP /L2TP / SSTP VPN时都是这么勾选的“允许使用这些协议”(也就是勾选使用CHAP或MS-CHAP v2),这样的认证过程是加密的,安全的(有些VPN需勾选“使用可扩展的身份验证协议”下的EAP-MS-CHAP v2、EAP PEAP或智能卡、证书,在IKEv2 VPN里可选“使用计算机证书”,这都是更安全的加密认证方式)。不过有些VPN使用时需勾选“未加密的密码(PAP)”才能连接,从名字上也能看出未加密的密码自然是不安全的了(也就是在下面的截图里看“身份验证”只要不是PAP就是加密的)。

Cisco IPsec VPN和OpenVPN的认证默认都是加密的(使用证书认证会更安全)。

==========

数据传输过程的加密

PPTP VPN

连接VPN后查看“状态”的“详细信息”标签页应该看到下图里的“加密  MPPE 128”字样,默认设置时都是加密的。不过一些VPN服务商需要在数据加密里勾选“可选加密(没有加密也可以连接)”后才能连接VPN,否则会出现741或628错误,这样的VPN是不加密的是不安全的。

OpenVPN

OpenVPN默认使用BF-CBC加密数据,写字板打开.ovpn格式的OpenVPN配置文件,不存在cipher或有一行cipher BF-CBC一般就说明使用了BF-CBC加密;如果有一行cipher AES-256-CBC或cipher AES-128-CBC也表明了使用了相应加密算法,这些都是安全的(貌似AES-256-CBC安全性更高,不过影响传输速度尤其是在配置低的服务器和客户端上)。当然OpenVPN也可以实现不加密连接,不过我用过的翻墙VPN里没见过(如果你的OpenVPN配置文件没有cipher字样,你可以增加一行cipher BF-CBC以保万一)。

L2TP IPSec VPN

单纯的L2TP VPN是不加密了,它需要通过IPSec来加密(也就是L2TP over IPSec),在Windows XP系统里默认需要IPSec加密,而Windows 7系统里这个IPSec加密是自动选择的,当你输入错误的L2TP密钥时,会不加密连接(只要服务器支持),这样就比较危险了。有些VPN服务商让用户修改注册表,禁用IPSec加密,这样就成了单纯的L2TP VPN,虽然也能翻墙,不过是不加密的不安全的。所以连接VPN后查看“状态”的“详细信息”标签页应该看到下图里的“加密  IPsec:  ”字样,如果没有就是不加密的,不安全的,如果有就是加密的(常见的有AES 128 和ESP 3DES两种加密算法,Windows 7系统在数据加密里勾选“最大强度的加密”后可能可以使用更安全的AES 256加密)。


Cisco IPsec VPN

连接VPN后查看Statistics会看到Encryption中的加密类型如下图里的128-bit AES。

IKEv2 VPN

连接VPN后查看“状态”的“详细信息”标签页应该看到下图里的“加密  IPsec:  ”字样(一般是AES 256加密,也有AES 128 和ESP 3DES,这个要看服务器配置了)。

SSTP VPN

sstp vpn默认使用AES 256加密,不过连接VPN后查看“状态”的“详细信息”标签页可能看不到“加密  IPsec:  ”字样。

==========

以上只是在Windows系统上的简单分析,其他系统上没有关注过。VPN认证过程不加密很容易被攻击,VPN数据传输过程不加密很容易被监控。个人水平有限能力一般,文中可能有错,也希望社会各界批评指导。

本文原始地址http://igfw.net/archives/6380

  1. iGFW
    2012年10月30日10:06

    嗯,现在的文章,图片都不放哪里了。

  2. SA
    2012年10月30日09:55

    卡巴这个拦截的资料库影响面会挺大,图还是别放那里了。

  3. SA
    2012年10月30日09:47

    2012/10/30 9:44:05 Chromium 拒絕: http://sharesend.com/download/v9ofc (根據可疑網址的資料庫分析) http://sharesend.com/download/v9ofc 網址位於釣魚網站資料庫

    知道是怎么回事了,卡巴斯基拦截了。

    • iGFW
      2012年10月30日09:49

      误报吧,sharesend.com是家印度网站上面托管的资源很繁杂,

  4. SA
    2012年10月30日09:45

    换了,还是未显示图片。

  5. iGFW
    2012年10月30日09:35

    我这里可以显示图片。
    建议你在国外VPN下浏览

  6. SA
    2012年10月30日09:30

    文章的图都不显示,各位你们能看到吗?
    文章的图都不显示,各位你们能看到吗?
    文章的图都不显示,各位你们能看到吗?

  7. 天草
    2012年6月14日10:51

    如果开了一个加密的VPN在开一个加密的VPN是更加安全呢?还说和开一个一样?

    • iGFW
      2012年6月14日13:18

      应该是安全些,不过一般速度会变慢

  8. lovenews
    2012年6月5日19:29

    看了你的文章后,发现自己的不是加密的就买了一个加密的VPN,状体里显示MPPE 128位加密,但是VPN商在邮件里说l2tp稍微安全一点点,我就配置了一个l2tp的连接方式。连不上去pptp可以连接,显示MPPE 128位加密,但是l2tp连接不上(提示678,远程计算机没反应)l2tp连接的FTP和账号密码都一样的只是连接方式选择成了l2tp。密匙账号密码都没错。VPN商远程帮我弄了一下。说是我的端口被堵上了。
    我又拿我的VPN账号密码密匙到朋友那台电脑上去试试。发现他的电脑可以连接上l2tp。VPN商是外国人。这下肯定是我电脑问题了。不知道是那个端口有冲突或者是其他什么原因。不知道你知道吗?如果知道麻烦给我说一下,不知道也没事。

    • iGFW
      2012年6月5日19:55

      首先看看是不是你电脑设置问题:
      检查 IPSEC Services 服务是否开启,如果没有开启并把该项服务设置为“自动”;
      检查注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters下的ProhibitIpSec键值是否为0,如果不是修改为0并重起电脑;
      l2tp ipsec vpn需要开启UDP 500、UDP 1701、UDP 4500这几个端口,检查下是不是你的网络防火墙或者路由器防火墙阻止了这些端口;
      如果你购买的vpn支持openvpn或者sstp vpn可以尝试下,一般端口不易被封锁;
      或者你看看 http://www.364000.cn/Windows/31.html 这个方法。

  9. HALOU
    2012年6月5日14:39

    又来打扰你了。pptp/l2tp如果都加密。那种安全写。真的最后一个问题了。哈哈

    • iGFW
      2012年6月5日15:08

      呵呵,感谢您的支持,有不明白的尽管问,如果我知道一定会回复的。
      一般来说l2tp可以借助ipsec加密,ipsec支持众多加密方式,不过一般常见的是AES 128位、AES 256位和3DES,pptp一般都是使用微软的MPPE 128位加密。
      按照加密安全性排列,从强到弱依次是:AES 256 > AES 128 > 3DES > MPPE 128
      虽然AES 256加密安全性最好,不过当机器性能不佳时会影响vpn速度,所以AES 128速度和安全性都比较适中。

  10. HALOU
    2012年6月5日13:22

    谢谢。原来在这里找到了。我的状态上边。没有加密两个字。是不是没有加密啊。什么身份证验证啊。传输啊。压缩啊都有。就是没有加密两个字

    • iGFW
      2012年6月5日13:56

      如果是pptp/l2tp类型的vpn,没有“加密”两个字就是没有加密的。

  11. iGFW
    2012年5月28日13:54

    一、一般认为MS-CHAP v2加密的验证过程是可以被攻破的,不过一般应用中使用复杂的VPN用户名和密码的MS-CHAP v2加密验证还是可以满足安全需求的。
    二、基于证书的L2TP/IPSec当然要比使用预共享的密钥的安全,不过一般使用预共享的密钥的也能满足安全需求,不过需要注意设置复杂的密钥并且不要公开密钥以保安全。

  12. abc
    2011年11月29日17:51

    我当前就在用L2TP/IPSec的,可以判断是安全的

  13. 匿名
    2011年11月14日12:55

    L2TP/IPSec 使用预共享的密钥作身份验证安全么?

    • iGFW
      2011年11月14日14:08

      国内外出售L2TP/IPSec VPN代理服务的基本上都是使用密钥作身份验证,应该是安全的。

  14. 小zz的好朋友
    2011年11月14日12:39

    原来是这样,以前一直用了很久的L2TP原来都是没加密的。。。