linux防火墙实现技术比较(1)

80酷酷网    80kuku.com

  

  一 前言

  此文着重阐述linux下的防火墙的不同实现之间的区别,以ipchains, iptables, checkpoint FW1为例。

  二 基本概念

  2.0

  在进入正题之前,我将花少许篇幅阐述一些基本概念。尽管防火墙的术语这些年基本上没有太大的变化,但是如果你以前只看过90年代初的一些文献的话,有些概念仍然会让你混淆。此处只列出一些最实用的,它们不是准确的定义,我只是尽可能的让它们便于理解而已。

  2.1 包过滤:

  防火墙的一类。80年代便有论文来描述这种系统。传统的包过滤功能在路由器上常可看到,而专门的防火墙系统一般在此之上加了功能的扩展,如状态检测等。它通过检查单个包的地址,协议,端口等信息来决定是否允许此数据包通过。

  2.2 代理:

  防火墙的一类。工作在应用层,特点是两次连接(browser与proxy之间,proxy与web server之间)。如果对原理尚有疑惑,建议用sniffer抓一下包。代理不在此文的讨论范围之内。

  2.3 状态检测:

  又称动态包过滤,是在传统包过滤上的功能扩展,最早由checkpoint提出。传统的包过滤在遇到利用动态端口的协议时会发生困难,如ftp。你事先无法知道哪些端口需要打开,而如果采用原始的静态包过滤,又希望用到的此服务的话,就需要实现将所有可能用到的端口打开,而这往往是个非常大的范围,会给安全带来不必要的隐患。而状态检测通过检查应用程序信息(如ftp的PORT和PASS命令),来判断此端口是否允许需要临时打开,而当传输结束时,端口又马上恢复为关闭状态。

  2.4 DMZ非军事化区:

  为了配置管理方便,内部网中需要向外提供服务的服务器往往放在一个单独的网段,这个网段便是非军事化区。防火墙一般配备三块网卡,在配置时一般分别分别连接内部网,internet和DMZ。

  2.5

  由于防火墙地理位置的优越(往往处于网络的关键出口上),防火墙一般附加了NAT,地址伪装和VPN等功能,这些不在本文的讨论范围。

  三 检测点

  3.0 综述

  包过滤需要检查IP包,因此它工作在网络层,截获IP包,并与用户定义的规则做比较。

  3.1 ipchains

  摘自【3】

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

  | ACCEPT/ lo interface |

  v REDIRECT _______ |

  --> C --> S --> ______ --> D --> ~~~~~~~~ -->|forward|----> _______ -->

  h a |input | e {Routing } |Chain | |output |ACCEPT



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: