0x0 WHY-为什么需要防火墙

  • 因为公网不安全,为了保证内网的安全性,需要将内网与公网隔离,所以需要防火墙

0x1 HOW-防火墙的分类以及如何实现防护

0x1.1 防火墙的分类

  1. 包过滤防火墙:工作在3、4层
  2. 状态防火墙:工作在3、4、5层
  3. NAT防火墙:工作在3、4层
  4. 应用网关防火墙:工作在 3、4、5、7层
  5. 基于主机(服务器和个人)的防火墙:工作在 3、4、7层
  6. 混合/硬件专用平台防火墙:工作在 2、3、4、5、7层 如:PIX、ASA等

0x1.2 各类防火墙如何实现防护

包过滤防火墙:通过ACL来识别数据,从而实现防护

  • 优点
    1. 速度块、性能高
    2. 检查IP、TCP、UDP
  • 缺点
    1. 不能根据状态信息进行控制
    2. 前后报文无关
    3. 不可处理网络层以上的信息
    4. 不支持连接认证、PAP认证

状态检测防火墙:根据通信和应用程序状态确定是否允许包的通行,使用的是会话表

  • 优点
    1. 知晓连接状态 比包过滤强一点
  • 缺点
    1. 能检测应用层协议内容,如URL过
    2. 能阻止应用层攻击,不能连接认证
    3. 是所有的协议都有状态:UDP ICMP
    4. 能支持多连接或多通道连接如FTP
  • 流是什么?
    • 单方向的概念、根据数据包中携带的三元组或者五元组标识数据包的方向
    • 三元组指的是源IP、源端口、协议
  • 会话是什么
    • 双向的概念、一个会话通常关联两个方向的流。通过会话的任何一方的流特征都可以确定该会话
  • 状态检测防火墙的需求
    • 根据通信和程序状态确定是否可以放通
    • 识别数据流是 返回 还是 首发 的数据流
    • 可以跟踪状态,根据TCP报文中的字段 SYN
  • 原理
    • 先查状态表,没有匹配的状态、根据ACL规则进行匹配、匹配上了写进状态表

应用网关防火墙:通常称为代理防火墙,一般使用软件来完成;使用代理表

  • 优点:
    1. 支持连接身份认证,能够检测应用层数据,例如上网认证:http的重定向
  • 缺点:
    1. 用软件处理,消耗系统资源;
    2. 仅支持TCP应用;
    3. 可能需要额外客户端
  • 原理:
    1. 首先截取用户初始化连接请求并发送给用户一个认证信息的请求;
    2. 认证通过后允许流量通过;
    3. 存储合法用户信息代理表;
    4. 对应用协议以及数据进行分析检测
  • ALG技术:使用ALG技术来跟踪多连接的协议
    • 因为FTP的数据连接使用的端口号是随机的,无法匹配上ACL规则,也无法写进会话表
    • 动态跟踪传输数据的端口,把这个对应关系写进代理表