传统防火墙概述
0x0 WHY-为什么需要防火墙
- 因为公网不安全,为了保证内网的安全性,需要将内网与公网隔离,所以需要防火墙
0x1 HOW-防火墙的分类以及如何实现防护
0x1.1 防火墙的分类
- 包过滤防火墙:工作在3、4层
- 状态防火墙:工作在3、4、5层
- NAT防火墙:工作在3、4层
- 应用网关防火墙:工作在 3、4、5、7层
- 基于主机(服务器和个人)的防火墙:工作在 3、4、7层
- 混合/硬件专用平台防火墙:工作在 2、3、4、5、7层 如:PIX、ASA等
0x1.2 各类防火墙如何实现防护
包过滤防火墙:通过ACL来识别数据,从而实现防护
- 优点
- 速度块、性能高
- 检查IP、TCP、UDP
- 缺点
- 不能根据状态信息进行控制
- 前后报文无关
- 不可处理网络层以上的信息
- 不支持连接认证、PAP认证
状态检测防火墙:根据通信和应用程序状态确定是否允许包的通行,使用的是会话表
- 优点
- 知晓连接状态 比包过滤强一点
- 缺点
- 能检测应用层协议内容,如URL过
- 能阻止应用层攻击,不能连接认证
- 是所有的协议都有状态:UDP ICMP
- 能支持多连接或多通道连接如FTP
- 流是什么?
- 单方向的概念、根据数据包中携带的三元组或者五元组标识数据包的方向
- 三元组指的是源IP、源端口、协议
- 会话是什么
- 双向的概念、一个会话通常关联两个方向的流。通过会话的任何一方的流特征都可以确定该会话
- 状态检测防火墙的需求
- 根据通信和程序状态确定是否可以放通
- 识别数据流是 返回 还是 首发 的数据流
- 可以跟踪状态,根据TCP报文中的字段 SYN
- 原理
- 先查状态表,没有匹配的状态、根据ACL规则进行匹配、匹配上了写进状态表
应用网关防火墙:通常称为代理防火墙,一般使用软件来完成;使用代理表
- 优点:
- 支持连接身份认证,能够检测应用层数据,例如上网认证:http的重定向
- 缺点:
- 用软件处理,消耗系统资源;
- 仅支持TCP应用;
- 可能需要额外客户端
- 原理:
- 首先截取用户初始化连接请求并发送给用户一个认证信息的请求;
- 认证通过后允许流量通过;
- 存储合法用户信息代理表;
- 对应用协议以及数据进行分析检测
- ALG技术:使用ALG技术来跟踪多连接的协议
- 因为FTP的数据连接使用的端口号是随机的,无法匹配上ACL规则,也无法写进会话表
- 动态跟踪传输数据的端口,把这个对应关系写进代理表