最近比较无聊 ,于是就有了想写日记的想法。本人准备写一个安全系列的专题,本人也是菜鸟,如有不足之处,请大家多多关照。好了,废话不多说了,我们一起开始吧。
防火墙定义:是一种用来加强网络之间访问控制的特殊的网络互连设备。它的核心思想是在一个不安全的网际环境中构造出一个相对安全的子网环境。
按照层次来分,防火墙可以工作在链路层,网络层和应用层上。
从软硬来分,防火墙可以分为软件防火墙(如Microsoft公司的ISA防火墙,CheckPoint公司的防火墙),硬件防火墙即模拟pc架构,通常为一台嵌入式的主机,如Cisco的pix防火墙,芯片级防火墙(如netscreen公司的高端防火墙)。
从实现技术来分,防火墙可以分为包过滤型防火墙(如路由器上的ACL,本人认为这也是理解防火墙的基础),代理型防火墙(如Microsoft公司的ISA防火墙),状态检测型防火墙----这也是现代的硬件防火墙一般都具有的功能。
现在我们来简单说明一下它的原理吧。
数据包过滤技术是一种简单的高效的安全控制技术,是防火墙发展初期普遍采用的技术。它工作在网络层,在网络层上对数据包进行检测,与应用层无关。依据系统内设置的过滤规则通常为ACL---access control list 对数据流中数据包头的参数或他们的组合进行检查,已确定是否允许数据包进入内部网络
包过滤一般要检查如下参数 源ip地址
                                                  目标ip地址
             协议类型(在ip包头中有一个字段指出他上层应用的是那种协议---如果不懂等下我们在后面再分析)
                                                 tcp或UDP的源端口
                                                 tcp或UDP的目标端口等等
刚才我在上面说了协议类型,在此我们在详细说明一下,大家都知道数据在传输时是经过层层封装的,当数据到达网络层的时候,我们怎么知道它上面用的是那种协议呢 比如说tcp、UDP、ospf等,这就要靠ip包头中的协议字段来说明它上面到底是用什么协议,比如说tcp在ip协议字段中就对应为6,UDP在ip协议字段中就对应为17 ,icmp在ip协议字段中就对应为1,那么如何知道这些协议字段到底是多少呢?我们用Sniffer工具抓包来分析一下就知道了
 
                                         
 那么大家就可以很清楚的看到icmp在ip字段的协议号为1,而且它也明确说明了是icmp,下面我们来看看tcp和UDP
      
                 
 
其中我们也可以看到protocol字段指出tcp为6 ,下载我们再来看看UDP的情况,我们来抓个rip(路由信息协议)的包来看看,因为他是用UDP  520来进行承载的。
 
 
说明UDP的protocol值的确为17,同时我们也看到了rip的组播地址为224.0.0.9
数据包过滤优点:由于它工作在网络层,只是简单的根据源ip目标ip,端口号等来进行检测,因此它的工作效率比较高,同时由于它工作在网络层,检测不到应用层的东西,加入***将***用http来进行封装的话,这时包过滤技术就不能检测出来了。
代理型防火墙:如Microsoft公司的ISA防火墙,它工作在应用层,能够进行更加深层次的过滤,因此***将***用http来进行封装的话,它也能够检测出来,但是他也有缺点,由于它是一款软件防火墙,速度自然比不了硬件防火墙,它安装在操作系统之上,那他就要依靠操作系统本身的稳定,假如操作系统本身就不稳定,那么ISA也就没有什么太大的作用了,其次,内部的客户机要想访问外网,必须通过ISA的代理,也就是说它会有两道的tcp连接,从客户机------ISA,从ISA----目标主机,所以说它的速度会比较慢。
状态检测型防火墙:是在动态包过滤的基础上增加了状态检测机制形成的。与普通的包过滤相比,要多做一件事,那就是对外出的数据包做一个标记。
状态检测型防火墙优点:由于它在对外出的数据包做标记,并保存在状态表中,这样对于后续的数据包,假如是同一个流中的数据,那么它就会依据状态表直接放过后续的数据,而不需要在检测它的ACL表,这样就大大的提高了它的处理速度,它的检测模块会对网络通信的 各层检测,看清楚了 是个层,因此它是前面两种防火墙的完美结合。
总结:防火墙是网络安全的第一道门,但它是被动的设备,不可能抵御各种***,于是就产生了防火墙的 联动技术,如IDS,网络版杀毒软件。这些我们下次再讲。