防火墙技术及应用(一)

1、什么是防火墙

  防火墙就是一组能够实现安全策略,能够对进出的通信流或者信息流进行控制的一种设备。它可以是装配多张网卡的通用计算机,也可能是通用的物理设备。
   防火墙(Firewall)是用一个或一组网络设备(计算机系统或路由器等),在两个或多个网络间加强访问控制,以保护一个网络不受来自另一个网络攻击的安全技术。 防火墙作为外部网络数据进入内部网络数据的唯一出入口,能根据企业的访问控制策略(允许通过、拒绝通过等),对出入网络 的信息流进行控制,防止外部网络攻击,保证内部网络安全。

防火墙在通信设备中的位置
在这里插入图片描述
  防火墙就是建立在内部与外部网络之间,对内外的通信进行访问控制。

防火墙的特征
  作为安全组件的防火墙的特征包括:

  • 所有进出网络的网络通信都应该通过防火墙。 即所有受保护的通信信息都应该经过防火墙。
  • 所有穿过防火墙进入内部网络的网络通信都经过了安全策略的确认和授权。通过访问控制,能够阻断外部网络对内部网络的访问。
  • 理论上说,防火墙是穿不透的,即违反防火墙安全策略的网络通信无法进入内部网络。

防火墙的功能
  由软件和硬件组成的防火墙一般来说应具有以下功能:

  • 防火墙是一个访问控制机构 ,即通过预先设计好的访问控制策略来决定某些网络是否能够访问。
  • 防火墙是一个审计机构 ,即需要对所有通过防火墙的网络进行日志记录,以便于日后审查。
  • 防火墙屏蔽机构 ,即可以防止外部偷窥者窥探网络内部结构,屏蔽了内部的网的拓扑结构。
  • 防火墙是一个多功能的安全机构 ,可以将多种功能施加在防火墙上。

防火墙的不足

  • 不能防范恶意的内部攻击者
  • 防火墙不能防范不通过它的网络通信
  • 防火墙不能防御全部的威胁 ,即只能防范部分的网络攻击。
  • 防火墙不能防范病毒 ,虽然有的防火墙集成了防病毒的功能,但是又增加了防火墙的计算压力。

防火墙在网络隔离中的作用

  • 通过过滤不安全的服务而降低风险,能够通过访问控制策略过滤非法的访问,提高内部网络安全性。
  • 保护网络免受基于路由的攻击 能够限制恶意的访问。
  • 强化网络安全策略 。
  • 对网络存取和访问进行监控审计 ,具有日志记录功能。
  • 利用防火墙对内部网络的划分,实现内部网重点或敏感网段的隔离。

2、防火墙中的包过滤技术

概念
  包过滤技术,是工作在TCP/IP协议的网络层,也叫分组过滤,它是根据数据
IP包头信息对网络流量进行处理的一种访问控制技术。即通过包头信息来制定过滤的规则,当这些包到达以后,就根据这些规则来判定这些包是放弃还是接收。

包过滤规则
  分组过滤是一种访问控制机制,它控制哪些数据包可以进出网络而哪些数据包应被网络拒绝。

  • 分组过滤技术可以处理网络层的数据包
      因此依据源IP地址、目标IP地址、源端口、目标端口、包类型等IP包头信息,允许或拒绝IP包通过

过滤规则表

组序号 动作 源IP 目的IP 源端口 目的端口 协议类型
1 允许 10.1.1.* * * * TCP
2 允许 * 10.1.1.2 >1023 80 TCP
3 允许 * 10.1.1.3 >1023 53 UDP
4 禁止 任意 任意 任意 任意 任意

  允许:允许包通过防火墙
  禁止:禁止包通过防火墙

例如:
  第一条规则表示从源IP为10.1.1.*的网络中到任意一个IP地址都可以通过防火墙。
  第二条规则表示,从任意一个主机到达10.1.1.2且源端口号大于1023,目的端口为80的TCP数据包可以通过防火墙。
  最后一条表示凡是没有受到规则约束的消息都会被防火墙所抛弃。

包过滤的过程
在这里插入图片描述
  所有未经授权的防火墙数据流量到达包过滤防火墙的时候,由于规则的限制会被抛弃,而经过授权的用户流量则可以通过防火墙。

制定包过滤规则应注意的问题

  • 最常用的规则放在前面,可以减少查询开销
  • 按从最特殊的规则到最一般的规则的顺序创建 便于规则的创立者或者用户明白规则表的含义
  • 配置过滤规则必须注意协议的双向性,即有些协议可以从外部向内部访问,也可以从内部向外部访问。
  • “往内”与“往外”的含义,第一个指的是外网数据到达内网,第二个指的是内网数据到达外网。
  • 规则表通常都有一条默认规则 ,往往在最后,比如说“如果之前的的规则都不通过,最后一条该如何处理这个访问”

包过滤技术的优缺点
(1)包过滤技术的优点

  • 包过滤技术的优点在于简单、易于使用,实现成本低。
  • 处理开销小,因为包过滤规则只处理IP包,因此对使用该技术的防火墙系统的性能影响不大。

(2)分组过滤技术的缺点

  • 当过滤规则较多时,对过滤规则表的管理和维护较为麻烦
  • 无法识别入侵
  • 无法识别恶意代码
  • 易遭受IP地址欺骗

3、状态监测技术

  上面介绍过,包过滤技术虽然较简单,但是安全性能比较低。
  状态检测技术是指除了根据IP包的信息以外还要根据协议数据历史信息(状态信息)来实现包过滤功能的访问控制技术。
  状态检测技术也叫状态包过滤技术,顾名思义,状态检测既要根据IP包头信息也要根据协议的状态信息来制定过滤规则。

状态的含义
  在TCP/IP协议中,状态是指协议过去执行的历史信息。
  例如,对于TCP而言,要进行数据通信,必须建立三次握手,包含了三种状态信息,即SYN,ACK,SYNACK消息,这三种消息具有时间和顺序的关系,首先,三次握手的发起者,先向对方发送一条SYN消息,随后就会受到一条ACK消息,最后会发送一条SYNACK消息。我们可以对这种具有先后顺序的消息记录下来,就形成了TCP的三次握手的状态信息。
  因此对于使用TCP进行数据传输的应用来说,TCP的三次握手所建立的连接信息就是其状态。在TCP/IP协议族中,有些协议是有状态的协议(如TCP协议等),有些协议是无状态协议(如UDP协议等)。
  状态检测技术是工作在传输层,即它要处理传输层的数据包,所以状态包过滤除考虑IP头信息外,还将结合协议的状态来制定过滤规则 。

有哪些状态信息?
(1)网络通信信息

  • 所有TCP/IP协议的当前信息

(2)网络通信状态

  • 以前的网络通信信息
      例如,同样对于FTP而言,可以记录FTP请求的服务器地址和端口、客户端地址和为此次FTP临时打开的端口

(3)应用状态

  • 应用程序的信息
       例如,已经通过防火墙认证的用户可以通过防火墙访问其他授权的服务

(4)操作信息
  例如,已经通过防火墙认证的用户可以通过防火墙访问其他授权的服务构造更加复杂、更灵活、实用性强的策略规则

状态如何记录和保存
  协议的状态需要记录和保存以便查询,以便于提高查询的效率,我们可以:

  • 根据连接的状态来存储,连接是完成的一次回话。
  • 一般采用连接状态表来存放状态信息。连接状态表,就是存放协议历史信息的信息表。

如何获得无状态协议的状态信息
  无连接协议的状态信息对于无连接的应用(如UDP协议),状态检测技术通过虚连接的方法来建立其状态信息。

  • 虚连接:为保存协议的状态信息而虚构的网络连接。
      例如,对于基于UDP应用的安全需求,状态检测技术通过在UDP通信之上保持一个虚拟连接,保存通过防火墙的每一个虚连接的状态信息,允许穿过防火墙的UDP请求包被记录。
      当UDP包在相反方向上通过时,则可以依据连接状态表确定该UDP包是否被授权的,若已被授权,则通过,否则拒绝。 典型的状态信息包括超时检测、是否有以前的UDP数据包通过等。

连接状态表

源地址 目的地址 协议 源端口 目的端口 超时(秒) 码字位
10.1.1.20 202.115.14.181 TCP 2341 80 6 ACK
10.1.1.34 202.115.14.181 TCP 32141 80 1.5
202.115.2.1 10.22.11.46 UDP 33222 21

  如第一条信息,我们可以知道源IP为10.1.1.20的主机,曾经与目的地址为202.115.14.181的主机进行过一次TCP的通信。

状态过滤规则表
  有了连接状态表,我们就可以根据连接状态来制作连接状态过滤规则表。

序号 行为 规则
1 允许 该TCP数据包是先前连接的一部分
2 允许 该UDP协议先前有从内部网络到外部网络的数据包
3 拒绝 HTTP访问外部网络的端口是80且内部主机的IP地址是 192.168.1.1
4 拒绝 FTP中包含put命令
5 拒绝 其他所用网络通信

状态包过滤技术的优缺点

(1)状态检测技术的优点

  • 安全性好
  • 灵活性强
  • 扩展性好
  • 应用范围广

(2)状态检测技术的缺点

  • 计算开销大,因为需要对状态信息进行记录和查询
  • 处理速度慢
  • 规则管理复杂
发布了75 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/fu_yunjian/article/details/104976085