感谢生活--vlink虚拟链路的实现及原理

来源:互联网 发布:linux系统是什么意思 编辑:程序博客网 时间:2024/04/29 10:55

春天到了,春暖花开。开场白只能用这种平淡如水的话来做引了,犹如这惨淡的安全市场。不过唯一快乐是即将为人之父,这篇流水账也算送给我未来宝宝的礼物吧。因为很久没来写了。

 

先解释下什么是VLINK,即虚拟链路。这个名称让人更晕。我是这样理解的,在我们的交换内网中使用VLAN划分出一个又一个的隔离组,这样每一个隔离组我会认为是一个虚拟链路,那这个虚拟里链路跟我们的软件有什么关系。这个是一个概念的挑战。在传统的VLAN划分中,这个行政权限是由交换机来做的,普通用户之间的通信交互会被限制在这个范围之内,无论你是破坏还是破坏。现在那我们要在一台傻瓜交换下面用主机来划分VLAN,来划分一个虚拟链路。这个概念也可以说成协议控制。或许它是我们虚拟机中的网络隔离的方案的突破口。

 

每次写东西都是N多废话,步入正题,也懒的写描述了,直接拷贝过来原来写的东西,如有问题欢迎拍砖。

 

//在目前使用TCP/IP协议的内部网络,总存在的着目前解决方案无法去解决的安全问题,是因为我们的安全意识不够,或是防护不到位给本身安全性不高的内部网络带来复杂的安全问题。

    在市场目前的方案中,对基础协议总是首先认为他是安全的,往往忽视了基础协议的安全性和重要性。例如一个简单的ARP问题,让内网管理员花费大量的时间和精力去解决,部署各种防护设置,但安全问题总堆叠着安全问题层出不穷。

   在涉密网络或其他一些使用TCP/IP协议的网络,为了防止网络的随便接入、外联、对内攻击、身份认证、等多种安全问题复合交叉在一起的时候,往往只拿出单一的问题方案去想解决所有问题,在实际的环境中效果并不是很明显,并不能从根本上解决问题。

   本方案是从协议底层入手,从链路层到应用层协议,对原有的协议做了修改增强本身的安全问题,并从协议分析的角度对网络中的协议做深度分析,去发现或尝试去解决一些问题。

 

 

虚拟链路隔离,从名字上能够看出是从链路层进行协议控制,完成计算机隔离的目的。这只是网络隔离和各种安全问题处理的核心思想,从协议底层入手。

VLAN是交换机对主机区域逻辑隔离的一个概念,在这里提出来,并不是说去利用交换划分VLAN,而是利用虚拟链路实现与交换机类型的功能,并比交换机灵活易用。

例如:在一个傻瓜交换上实现对财务计算机与其他计算机的隔离,传统的做法是利用防火墙对IP进行访问控制,这只是在协议高层做的一些防护,底层的安全性并没有防护,如果被黑客发现机器的物理地址,可以从交换机截取数据,进行SNIFFER 或修改。怎么让黑客发现不到财务的物理MAC,对原有的网络协议进行修改,加固了底层协议认证的方式。

可以比喻成大家都在一个房间里面,你说中文我说英文,大家相互听不懂对方语言,自然也无法进行沟通。在这里是对ARP协议进行了增强。来实现虚拟VLAN

 

虚拟链路隔离的主要原理是对原有TCP/IP协议栈中的ARP协议进行了修改,加固了他的安全性的同时,修改原有特性并逐步替换成私有协议。

我们先从ARP协议的功能开始介绍,他是TCP/IP网络模型链路层发现的主要协议,主要功能把IP地址转换成物理地址,然后利用物理地址在局域网中进行通讯。但是ARP由于多年前TCP/IP设计者在完全可信网络中,对安全性考虑不足,在身份认证和主机发现的功能过于简单,造成了目前不安全的因素。

我们不同于传统的区域隔离方案的地方就是对ARP协议的变形来实现我们的虚拟链路隔离,上面功能描述部分已经进行了简单的描述,就是说控制了ARP协议就控制了上层的通讯建立,在大部分的TCP/IP网络中,建立连接还是需要ARP协议进行前期沟通,点对点协议除外。

现在把技术部分详细的描述下。

下图例是ARP协议格式模型,帧类型固定0806.

 

 

 

图例:1 

在传统的ARP协议中,ARP帧类型是永不变的无论在那种TCP/IP模型中永远都是标示着0806,我们把帧类型换掉,这样对方机器收到此协议并不能解析,无法进行链路信息交换,链路层信息无法交换,对上层协议无法提供服务,通讯无法建立。我们在这个帧类型变形的方式上增加强认证增加了组信息密钥、用户信息标示、校验等消息。

下图例是私有ARP协议格式模型。

图例:2

图例2中帧类型可以定义65535种帧类型,如果对ARP内容进行加密,可以设置固定帧类型。(需要排除些特定类型)

组信息密钥是用来标示用户是否所属于一个用户组,这个密钥是动态分配或用户根据组划分设置固定值。

身份信息是用户用来做身份认证的信息,相当于用户自己设定的私钥,如果不想与其他机器通讯设定一个身份信息(也就是用户密码)。

时间戳是为了防止一些恶意用户获取到未加密的协议后进行数据重放,进行的时间标示。

协议校验是对协议完整性做检查,用来判断是否被修改。

由于没有硬件方案,经过变形或加密过的协议无法与网关、网络打印机等设备进行通信,目前采用了一种妥协的方案,在与网关和设定设

目前程序实现了以上方案的少部分功能,针对ARP协议私有化过程中,只是对帧类型做了修改,如下图所示,

 

图例:3

现在可以用来完成基本的链路隔离,对外交换机缺陷攻击防护,在与网关通讯方面,目前只能手工绑定网关信息,可以通过ICMP协议完成网关MAC地址信息的刷新。

 

软件使用:

WIN7下需要管理员权限进行安装。

装完毕后计算机与网络断开无法与任何机器通讯,因为无法取网关地址,需要打开ArpClient.exe点击停止,开始---运行---CMD—ARP –A 把网关的IPMAC手工添加网关绑定栏,然后设定链路组ID,然后点击开始,如果需要和其他机器进行通讯点击停止功能便可以与其他机器进行通讯。

网关绑定信息会给写入到Config.ini文件中,如果没有更换网络,下次使用软件直接打开点击开始。

备的通讯协议是不进行转换。

 

---------------------------

以上说了这么多废话,核心的一点就是修改了ARP的协议类型,来做一些有意义的事情,具体哪些事情有意义,来做个小白试试吧。http://download.csdn.net/source/3225746下载地址。此软件是与朝中老兄所写,不知他有开放代码的意愿没。

 

如有转载保留原始链接----2011.4.26 00:50 --苦茶!!

原创粉丝点击