📖 防火墙访问控制与入侵检测系统
🎯 课程摘要:本节介绍防火墙(firewall)的访问控制技术——包括包过滤防火墙与状态检测防火墙、应用层网关两大实现方式,以及防火墙的网络部署拓扑(含 DMZ 非军事区)。由于防火墙无法阻止所有入侵,引入入侵检测系统(IDS)作为第二道防线,对比基于特征与基于异常两种检测方式,并分析漏报率与误报率的权衡。
📝 详细笔记
1. 为什么需要防火墙
尽管网络各层安全机制可提供保密性、报文完整性、实体鉴别和不可否认性等基本安全服务,但仍无法应对以下安全问题:
- 非法用户利用系统漏洞进行未授权登录
- 授权用户非法获取更高级别的权限
- 通过网络传播病毒、蠕虫和特洛伊木马
- 阻止合法用户正常使用服务的拒绝服务攻击
解决思路:
- 第一道防线:使用防火墙严格控制出入网络边界的分组,禁止不必要的通信,减少入侵发生
- 第二道防线:使用入侵检测系统(IDS)对进入网络的分组进行深度检测与分析,发现疑似入侵行为并报警
2. 防火墙基本概念
- 防火墙(firewall) 属于一种访问控制技术,具体实现为一种可编程的特殊路由器
- 将单位的内部网络与其他网络(一般指因特网)进行安全隔离
- 根据访问控制策略,某些分组允许通过,某些分组被禁止通过
- 访问控制策略由使用单位根据自身安全需要自行制定
3. 防火墙的两种实现技术
3.1 包过滤防火墙(分组过滤路由器)
- 根据所配置的分组过滤规则,对出入内部网络的分组执行转发或丢弃
- 过滤规则采用的参数来自分组的网际层和运输层首部中的某些字段值:
- 网际层:源 IP 地址、目的 IP 地址
- 运输层:源端口、目的端口
- 协议类型等
举例:若配置一条将"目的端口号为 21 的分组进行阻拦"的过滤规则,则内网用户将无法从因特网中的所有 FTP 服务器下载文件(FTP 控制连接使用 TCP 端口 21)。
访问控制列表(ACL):
- 分组过滤规则以 ACL 的形式存储在路由器中
- 网络管理人员可通过命令行或图形界面配置 ACL 规则
ACL 示例:
| 规则 | 作用 |
|---|---|
| 规则 1、2 | 使内网主机可访问因特网中的各种 Web 服务器 |
| 规则 3、4 | 使因特网主机可访问内网中 IP 为 192.168.1.252 的电子邮件服务器 |
| 规则 5 | 禁止因特网中 IP 为 211.67.230.1 的主机访问内网中的任何主机 |
无状态 vs 有状态过滤:
| 类型 | 说明 |
|---|---|
| 无状态过滤 | 独立处理每一个分组,不跟踪连接状态 |
| 有状态过滤 | 跟踪每个连接或会话的通信状态,根据状态信息决定是否转发分组 |
包过滤防火墙的优缺点:
| 优点 | 缺点 |
|---|---|
| 简单高效 | 不能对应用层数据进行过滤 |
| 对用户透明(用户感觉不到其存在) | 不支持应用层用户鉴别 |
3.2 应用层网关(代理服务器)
- 又称代理服务器,可实现应用层数据的过滤和高层用户鉴别
- 用户通过应用网关访问资源时,应用网关可要求身份鉴别,再根据用户身份做出访问控制
举例:邮件网关收到邮件时,除了检查邮件地址,还会检查内容是否包含禁用的敏感词,最终决定邮件是否能通过。
应用层网关的优缺点:
| 优点 | 缺点 |
|---|---|
| 支持应用层数据过滤 | 每种网络应用都需要专用的应用网关 |
| 支持应用层用户鉴别 | 应用层处理和转发报文负担较重 |
| — | 对应用程序不透明,用户需在客户端指明代理服务器地址 |
3.3 两种技术结合使用
通常可将包过滤路由器和应用网关结合使用,构成包含一个应用网关和两个包过滤路由器的结构,通过两个局域网连接起来。
DMZ(非军事区) 部署拓扑:
DMZ 要点:对外提供服务的服务器(如 Web、邮件服务器)部署在 DMZ 中,既能让外部访问,又不暴露内部网络。两个包过滤路由器分别过滤外部到 DMZ、DMZ 到内网的流量。
4. 网络防火墙 vs 个人防火墙
| 对比项 | 网络防火墙 | 个人防火墙 |
|---|---|---|
| 保护范围 | 整个内部网络 | 单台计算机 |
| 配置者 | 网络管理员 | 用户自行配置 |
| 复杂度 | 复杂 | 较简单,一般无需管理员配置 |
| 形态 | 可编程路由器/专用设备 | 安装在用户计算机中的应用程序 |
5. 防火墙的局限性
- 配置依赖性:防火墙的安全防护作用在很大程度上取决于配置是否正确和完善
- 恶意代码查杀有限:对病毒、木马等查杀能力非常有限;查杀开销大,提高查杀力度会降低处理速度和网络带宽
- 漏洞攻击无法防范:攻击者可通过过滤规则允许的端口对服务器漏洞进行攻击;即使使用应用网关,也必须能识别该特定漏洞才能阻断
- 技术自身不足:包过滤路由器不能防止 IP 地址和端口号欺骗;应用软件自身可能有漏洞而被渗透攻击
6. 入侵检测系统(IDS)
6.1 基本概念
- 防火墙不可能阻止所有入侵行为,IDS 作为第二道防线
- 在入侵已经开始但还未造成危害(或造成更大危害)之前,及时检测到入侵并尽快阻止
- IDS 对出入网络的分组执行深度检查,发现可疑分组时向网络管理员发出警报或进行阻断
- 由于 IDS 误报率较高,一般不建议对可疑分组进行自动阻断
- IDS 能检测多种网络攻击:端口扫描、拒绝服务攻击、网络映射、恶意代码、系统漏洞入侵
6.2 IDS 的两种类型
| 类型 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 基于特征的 IDS | 维护已知各类攻击标志性特征的数据库,检测到与某种攻击特征匹配的分组时判断为入侵 | 检测准确,误报率低 | 只能检测已知攻击,对未知攻击无法防范;特征需由安全专家提供并定制 |
| 基于异常的 IDS | 观察正常网络流量,学习其统计特性和规律,检测到流量统计规律不符合正常情况时判断可能发生入侵 | 可检测未知攻击 | 区分正常流量与异常流量非常困难;误报率较高 |
当前很多研究致力于将机器学习方法应用于入侵检测,以减少对网络安全专家的依赖。
6.3 漏报率与误报率
- 漏报率高:只能检测到少量入侵,给人以安全的假象
- 降低漏报率:可通过调整参数或阈值实现,但会同时增大误报率
- 误报率高:导致大量虚假警报,甚至因虚假警报太多而对警报视而不见
⚠️ 重点/考点:漏报率与误报率之间存在权衡关系——降低漏报率必然增大误报率,反之亦然。
6.4 防火墙 vs IDS 对比
| 对比项 | 防火墙(firewall) | 入侵检测系统(IDS) |
|---|---|---|
| 定位 | 第一道防线 | 第二道防线 |
| 机制 | 访问控制,过滤出入分组 | 深度检测,分析入侵行为 |
| 动作 | 转发/丢弃分组 | 报警(一般不自动阻断) |
| 局限 | 无法阻止所有入侵 | 误报率较高 |
| 关系 | 互补配合 | 互补配合 |
💡 核心总结
- 防火墙是访问控制技术,通过包过滤路由器(网络/运输层过滤)和应用层网关(应用层过滤+用户鉴别)两种方式实现,两者常结合使用并部署 DMZ
- 包过滤防火墙简单高效但对用户透明,无法过滤应用层数据;应用层网关能过滤应用层数据但对应用程序不透明
- 防火墙有四大局限:配置依赖、恶意代码查杀有限、漏洞攻击难防范、自身技术不足(IP/端口欺骗)
- IDS 作为第二道防线,分为基于特征(只能检测已知攻击)和基于异常(可检测未知攻击但误报率高)两种
- 漏报率与误报率此消彼长,需根据实际需求权衡
❓ 课后思考 / 经典考题
- 包过滤防火墙和无状态/有状态过滤的区别是什么?有状态过滤如何提高安全性?
- 应用层网关(代理服务器)与包过滤路由器各自的优缺点是什么?为何常结合使用?
- DMZ 非军事区的作用是什么?对外服务器为何部署在 DMZ 而非内网?
- 基于特征的 IDS 和基于异常的 IDS 各有什么优缺点?为什么说基于特征的 IDS 无法防范未知攻击?
- IDS 的漏报率和误报率之间有何关系?为什么一般不建议 IDS 对可疑分组自动阻断?