嗯,今天早上事情不多,我们接着聊。昨天可能讲得稍微深入了一点,不好,我下面还是尽量讲浅一点。关键是,我写这个主题有个原则,想尽量给大家讲清楚道理,尽量让大家知其然还要知其所以然。
原因是这样的,我希望这个实验计划能是一个具有实用价值的,普通工薪阶层家庭自己就能获得的一个家庭化信息解决方案,得花钱不多,技术门槛不高才行。但同时,我的方案也得让人相信,这是可行的,是安全的。
我猜测啊,有朋友可能会看到这个主题,然后照方子抓药,专业的网管啊,IT行内人士,应该问题不大,但是也可能有不是IT专业的人也想弄,可能以后会遇到一点问题,还是需要一点自己的判断能力,因此,讲点原理有好处。说点经验值吧,家庭用户在遇到计算机这类比较复杂设备出现故障,损坏的时候,一般处理的办法并不多,大多数都是找客服一修了之。
但是呢,这并不绝对,虽然不多,但只要具有一些简单的知识,其实自己还是可以操作的,比如最简单的替换法,就是通过逐步替换某些设备和元器件,板卡,逐步判定损坏的地方,然后做换件处理,这是家庭里面常用的,这其实在我们单位上也经常用。
这个简单判断呢,我的理解就是需要懂一点原理,只要来龙去脉,才能做,至于原理的实现,板卡、程序具体工作细节,家庭用户一般就不必了解这么细了,只要知道哪个坏了换哪个就好了。不要认为客服可以包打一切,尤其是很多DIY的电脑,服务更是谈不上,动不动就抱着电脑打车去电脑城其实成本很高的,自己学点基础,做个简单判断,找到损坏的板卡,然后去电脑城买一块,不抱电脑,也就不用打的,多省事儿,还省钱,大家说是不是?
好,我们接着讲,昨天我哩哩啦啦讲了一大堆,其实备有有个隐含意思,就是家庭信息安全。我相信每个家庭都有隐私的,如果一个家庭信息中心不能保证安全性,恐怕意义就不大了,再方便,也没人敢用。所以,我从一开始就认为,不解决安全问题,这个方案估计有点不靠谱,我自己都不敢用,呵呵。嗯,网络设备,一定会和网络打交道,这个网络安全非常重要,其实大家说的最多的黑客什么的,我倒没太担心。太大路货了,也没什么技术含量,一般家庭的信息价值不大,别看你视为隐私,搁到商业上看,充其量是个炒作题材而已,所以高端黑客估计也懒得做这些事儿。
防范成本也低,百多块钱买套正版杀毒,估计就足以了,我不是买金山毒霸了嘛。别看杀毒软件大家你骂我我骂你,其实技术都差不多,一个时代的技术水平都有个平均线,只要做这一行,都差不多了,没有质的区别。所以不必担心,闭着眼睛选一套好了。再说入侵防范,一个傻瓜式的小路由器其实足以,比任何防火墙都好用,随便你什么手段,我不开端口映射服务,我看你怎么办,呵呵,我气死你人说我攻克你的小路由器密码,自己登陆来开端口映射,嗯,现在的小型家用路由器都有个优点,WAN端口禁止Admin登陆,就是说,要想维护,必须从内网的计算机登陆,从公网是没有办法登陆的,这就足够啦。买的时候问一下,让客服帮你设置一下就好了。
所以,我关注的安全重点主要就是两点,敏感信息在网上传递的报文安全,以及家里小服务器的登陆安全。报文安全需要vpn,就是隧道技术。嗯,要不要做点科普呢?还是简单讲一点吧。传统的网络传输,用的是socket,简单点呢,大家把它也理解成一个洞好了。当我们计算机和其他计算机建立连接,其实就是把本机一个socket和对方一个socket连接起来,构成一个洞。我们从洞这边丢东西进去,就从那边出来了,那边丢的也会从这边冒出来,就这么简单。
但是这样不安全啊,这个东西丢进去,咋说呢,和快递公司似的,接收的快递员会传给运输员,可能还要航空托运,到地方之后呢,有当地的快递员收获,再转交给接收方,大概这么个道理。这就带来一个问题,就是我们的这个东东如果不包装一下,裸奔,这要是普通东西还好办,这要是一摞子钞票就麻烦了,难保中间不会有人顺手牵羊啊,就算不顺手牵羊,起码沿途所有人都知道,你送了一摞子钞票给别人,你很有钱,这是不是就是隐私暴露了?所以我们习惯性的,一般要在钞票上面加个信封,我封上你看不见,这是个办法,但是呢,也有些好奇心比较重的人,比如说美国的中央情报局啊之类的,他们有一些办法,可以把信封打开,看看,甚至换掉,再封回去,接收方看不出来,你也不知道,呵呵。
所以大家就开始想办法,一般呢,业界已经有很多成熟的信封算法,加密强度很高,有的甚至搞到让美国人自己都没办法,这种信封保护性就比较安全。后来呢,大家觉得这样太麻烦了,所以,比如说我们家,和我朋友家,我们专门安排一个人,负责封信封,发信,或者收信,拆信封,大家只管把要送的东西给他,从他手里接东西好了。
嗯,大家发现点什么没有?原来我们发信收信,是直接和快递员打交道,现在多了一层,有个收发专员在负责这件事,但是对我们来说,收发专员选择什么信封,我们不关心,我们只知道,找他和找快递员一样方便,甚至更安全,就好了。这样看来呢,其实收发专员也变成了一个洞,东西丢进去,钻出来,和原来的socket洞一样方便,只是,他会把东西包装好再送,这个洞里面的东西别人看不见,好比一个隧道一样,这就是vpn隧道技术。
不过我前面说了,vpn如果用传统模型,很贵的,家庭一般负担不起,没有实战意义,所以,最好呢,应该把P2P技术和vpn技术结合到一起来玩,就比较好玩了。
一开始我不知道有这种产品的,我准备自己来的。不过,那段时间我正在找DDNS方案,在花生壳网站上闲逛,无意中看见向日葵,就进去学习了一下,嗯,不错,正是我要用的。嗯,还是批评花生壳一下,这个向日葵其实是个很好用的东西,但是它宣传力度不够,文档写得也太专业了,知道的用户恐怕不多,会用的更少。算了,我来给你写宣传文档吧,呵呵,你的东西好用,我自然要给你免费宣传。嗯,不好用就批评,选别家,我是典型的用脚投票。呵呵。
windows的远程桌面其实并不是一个很新的概念,很古老的时候,我记得是90年代,Norton写的pcAnyWhere就是干这个的,唉,其实这种卖卖我也干过,98年的时候我用VB练习socket开发,就写了一段程序,可以把另外一台计算机的磁盘目录列出来,然后删除,修改什么的,基本上是一回事。
到02年的时候,我做多媒体语音教室,教师机可以遥控学生机桌面,指导操作,基本上把这个远程桌面都实现了的,加个钩子,鼠标键盘都搞定,还有实时语音流,呵呵。
后来成熟了,VNC都成了标准了,也成了开源库,阿猫阿狗都可以写个产品出来,灰鸽子什么的不说了,基本上都是开源库上偷一点,改一改,再做点隐蔽工作,基本上就好了,没什么技术含量的。
但是,所有这些都没有解决跨越公网传输的问题,我记得当年有个木马写得那叫一个笨,看好啊,每天,嗯,定时,向某个公网服务器发包,查询今后一天的计划任务,然后按任务执行,发包的时候,居然调用了一个通用控件,更绝的是,那个控件是个盗版,每次运行就自动弹出一个对话框,说请买正版。
那个虚拟机我留了好长一段时间,呵呵,每次无聊了就饶有兴致地调出来,看它自己YY,然后看着屏幕上的对话框逐渐增多,最后虚拟机挂死了事。呵呵。为啥,那个宿主计算机也在某个内网,受控的这台计算机呢,没法直接通讯,所以编程序的人就设定二者在某个被攻陷的公网服务器上交互数据。说来也真可怜,那会的黑客难啊。注意一个细节,这类远程控制软件一般都有两个版本,server端和client端,但实际上用起来的时候,和大家理解的是反着的,server端,往往就是受感染的计算机,或者说受控端,client端反而是控制端,就是黑客的计算机,它可以下命令,让server端做事情,当然,也可以看到所有的磁盘文件。
所以我玩向日葵的时候,习惯性地就去找这两个版本,没想到和我想的不一样,它其实只有客户端,没有server端,有一个,很假,基本没什么用,客户端就够用了。我也就是发现了它这个特性,才开始思考,它底层到底是什么机制,我记得学P2P的时候听过一句话,在P2P的世界里面,没有主从差别。嗯,差不多,我可以断定它底层用了P2P机制,那么穿越网关应该问题不大。说起来容易,用起来还是蛮难的,我一月份的时候好几天都干到凌晨4点,在测试它的各项特性。最后结果还比较满意。
向日葵简单说就是同时使用了P2P和vpn技术的一个免费远程访问解决方案。在向日葵的世界里,最重要的是葵码,我开始最纠结就是这个,因为不知道它真实的含义,最后才搞明白,其实就是在它那个vpn的世界里面的虚拟网卡的MAC地址,唉,费了我半天劲。每个花生壳通行证,可以开通向日葵,然后可以注册最多88个计算机,每个计算机服务器会自动生成一个葵码,就是说,这个虚拟的局域网里面最多可以放88台计算机,可以啦,一个家庭连虚拟机算上,哪有88台。别以为虚拟机不要钱,那个要吃内存的,8G内存能运行多少个,大家自己算算。
一般说来可以部署两种网络,就是集散网和对等网,大家自便。集散网呢,就是指定一个专用服务器,所有计算机只能和这个服务器通信,对等网就放开了,大家随便聊。下载一个向日葵客户端,以葵码登陆,葵码自己去网站注册计算机申请。然后系统就会多一个虚拟网卡,这个网卡呢,会被自动分配一个静态IP地址,确实是静态的,只要葵码不变,就不会改,看见没,静态IP问题解决了,而且是免费的。应该是172.24.55这个网段的。
之后,大家就该干嘛干嘛了。
在这个虚拟网络里面,没有路由器,没有防火墙,没有网关,彼此可以任意通信,远程登录啊,svn源代码传输啊,随便。嗯,而且别人看不见。
这些报文都被底层协议栈层层包裹加密,到目的地再解密,最要命的是,它底层根本就是无连接的UDP协议,随意路由,在互联网的任何一个路由节点都不太可能看见连续的数据流,全在乱跑。够安全了吧,呵呵。
无视防火墙和网关,只要配置别太BT,基本上都可以随意穿越,我们单位的网络是用的赛门铁克公司的整体解决方案,每天开机必须输入用户名和密码才能上网,不过,向日葵不受这个影响,每次开机我发现,我这边密码还没有输入呢,也就是还没有获得上网授权的时候,向日葵那边已经兴高采烈地告诉我,通了,可以连接家中服务器了。呵呵,够方便。
当然不是没有代价的,层层加密,多重路由的结果就是速度偏慢哈,我测了一下,大概只有10来k的速度,传送源代码和远程桌面可以,大流量的比如电影不行。嗯,也不绝对,我曾经在茶馆里面,用我的电信手指头+epc做3G上网,然后点播小服务器上的评书,听了一下午,没感觉有什么抖动啊,卡住的现象,放音频流应该问题不大。
算是基本够用吧。呵呵,这就是我为自己的私有云计划搭配的高安全性信息传输解决方案。嗯,可能有些朋友会说,花生壳不是亏死了,其实不太亏,P2P的原理我说过的,其实它的服务器就负责两台计算机开始连接握手那点流量,并不多,成本很低。嗯,所以我在想,一旦实验成熟,准备实现公网某些服务的时候,还是给花生壳交点钱吧,呵呵,它为我服务了,该获得报酬的。
这个故事有下文的。
在今年初的部门会议上,最后,我说送大家一点小礼物,就是把这个方案介绍给同事们,当时领导们眼睛都亮了。我们贵州,还有其他一些地方,都有维护业务,以前由于这些设备没有上网,每次都要派人去出差,成本很高。有了这个方案,我们随后进行了部署,现在基本上已经不用出差了,每次办公室计算机直接远程登录就好了,这节约了不少出差费的,呵呵。玩能玩出钱来。还有就是今年在新疆,我在修改代码,我小弟在西安修改代码,我们就利用家里的svn做代码同步,发版,很方便。这个故事后面还要讲。
嗯,差不多,先这样吧。预知后事如何,且听下回分解。(文/肖舸)