小萝莉在扣扣上纠结着要不要见一个追她的同学,这位男同学老是找借口跑到她工作的地方来,就是,既狠不下心来拒绝别人,又觉得自己不情不愿,金牛座似乎不至于这样纠结吧。
有时候我觉得方校长其实很郁闷的,因为当他接受那些不可能完成的任务时,心里一定在暗暗的骂领导:你MB的加密数据老子又解不了密,怎么去封,封毛啊。但又不得不对领导满脸堆笑,说我们一定加大人手,努力攻关,争取不放过任何一个漏洞!今天补充说一下关于vpn的问题,因为我明白过来,DNS强奸并不是简单的强奸了那么一些个域名,而是因为vpn方式的多样化,l2tp,ipsec,pptp,其中,某些方式或某些设置,是会调用本地DNS以加快网络速度的,而被强奸的DNS,则再次充当了这一重要de流氓角色,虽然我已经使用了一段时间的vpn,也已经将国内流量和国际流量分离,但还是要提一下在形势越来越严峻的国内网络环境中越来越流行的ssh tunnel,其实类似的方式早已有之,并不是很罕见,在近十年前的XX功破网软件中,stunnel就已经被广泛应用,甚至XX网的建议是让大家使用这种tunnel方式以保证访问的安全,这里要声明一下,其实很多人使用这样那样的方式穿越,只是为了看一眼武藤兰和高树玛丽亚,而非神马贵国天朝之类。总之呢,openssl和openssh的应用,其实是一个很传统的东西,并非什么新生事物,那么,为什么它们没有被封掉呢?
因为他们是不能被封掉的,运行在443端口,基于ssl的web访问构建起了当今互联网的页面安全,运行在22端口,基于ssh的服务器访问构建起了当今互联网之一切的基石,没有ssl和ssh的互联网时代,存在过,但那个时候中国大陆还没有互联网。当今的支付网站,银行网站,无一不使用ssl来加密用户对其网页的访问,以防止可能的金融信息泄漏,当今的任何一个网站,无一不使用ssh来进行服务器的管理和维护,以避免明文通信可能造成的服务器风险。很显然,基于这个事实,这两种类型的加密访问,是永远也不可能被封掉的,所以,这两个月以来gmail的不正常表现,也只能理解为流量限制,而非基于ssl层面的屏蔽。
前段时间CNNIC有了颁发全球服务器证书的资格,一众惊呼,ssl劫持变为可能,甚至提出删除各种浏览器中的CNNIC根证书,虽然说,这种劫持是完全可能的,但我不认为它会发生,这种劫持首先需要伪造一个网站出来,至少是一个登录入口,然后还要篡改DNS,最后再颁发一个虚假的证书,for what purpose呢?仅仅是为了获取你的用户名和密码?这也太TM费油了吧……制作一个特定的病毒,直接伪造一封熟人的mail给你不是更方便,像雅虎,网易这些邮件运营商,肯定是相当乐意合作的,要我选,肯定不会用第一种方法来获取信息。
目前被广泛使用的ssh穿越,有它的局限性,socks连接数量,响应速度等等,在服务器上架设一个http proxy会很好的解决这些个问题,缓存的添加能够更好的提升用户体验,但对于一些应用而言,http proxy并不能满足需求,可是,很显然,绝大多数人的需求仅仅是基于http的,是基于网站的,ssh穿越已经能够很好的满足他们的需求,同类的方法还有基于stunnel的proxy加密,可以将将加密之后的代理服务器运行在80或者443端口以避免通信被窃听(http://www.stunnel.org/static/stunnel.html),这大概是唯一类似于ssh tunnel的方法,因为vpn已经不是在端口的层面进行加密了。
但是,并非所有的人都有一台在美国的虚拟主机或者VPS,也并非所有的人都认识那些有一台在美国的虚拟主机或者VPS的人,所以,基于GAE的代理应用,层出不穷,但我粗略的看了一下,都没有用到公开的openssl库,是不会用呢还是GAE有限制,这个就不得而知了,由于GAE的操作难度较大,而虚拟主机或者VPS的价格,随着美元贬值,变得越来越容易让人接受,以及GFW三天两头对GAE的整肃,我觉得GAE不会流行。
至于vpn,不用说,跨国公司在大陆都有vpn,需要连接到总公司进行日常办公,要保持经济增长,vpn就绝不可能会被屏蔽掉,构建vpn虽然需要一定的技术积累和良好的英文理解能力,但是很显然,vpn是最为完美的穿越方式,它将整个路由通信转换至加密隧道,当然,我们可选某些IP地址依然使用原来的路由,我觉得路由这两个字真是恰如其分,告诉非死不可的IP你从那个路由走,告诉腾讯的IP地址你从这个路由走。
由于DNS被强奸的缘故,在使用Google public dns或者OpenDNS的时候,需要指定DNS的IP地址通过vpn路由走,然而,这样有一个问题,就是,由于DNS的查询和路由都通过了vpn,使得它的速度不够快,那么,建立一个本地的DNS缓存就很有必要,如果是使用路由器进行穿越,那么这个问题不用考虑,因为路由器上有DNS缓存,如果是使用PC进行穿越,那么需要在操作系统中中安装DNS缓存软件,由于我现在已经改用Linux,一般来说我建议使用DNRD,至于网上普遍传播的DNSmasq,我觉得它的体积太过庞大,DNRD全名是Domain Name Relay Daemon,它小巧精致,兼具DNS缓存和DNS负载均衡的功能,运行起来很简单,一行命令而已,将其加入rc.local即可:
/usr/sbin/dnrd –server=8.8.4.4 –userid=www
表忘记将/etc/resolv.conf中的DNS服务器改成127.0.0.1喔~