防火墙概念
在两个网络之间实现访问控制地一组软件或硬件系统。主要功能是屏蔽和允许指定的数据通信。依赖一组访问控制策略,由访问控制策略决定通讯的合法性。
用处:
管理控制网络流通数据流
- 数据包检测
- 连接状态
- 状态包检测
作为中间媒介阻塞不安全的服务和协议
- 通过隔离外部网络来保护本地主机
- 避免直接与外接互动
保护资源,强化网络安全策略。将所有安全软件配置在防火墙上。采取某些手段如Finger来屏蔽透露内部细节的服务。
报告和记录事件,对网络存取和访问进行监控审计。
防火墙的种类
第一代:包过滤(网络级防火墙)
工作在网络层以下,基于路由器本身的分组过滤功能,检索流经数据包包头信息,决定对数据包的动作。
第二代: 状态过滤(状态检测防火墙)
工作在网络层,采用状态检测的技术,是包过滤技术的拓展。使用一个检查引擎或数据包并抽取与应用层状态相关的信息,以此决定是否接收该连接。
第三代: 应用层过滤(应用层网关)
应用层代理防火墙。应用层网关代理服务器有效伪装成因特网上的真实服务器,并对请求做出评估,决定允许或者拒绝。
应用层网关能够理解应用级上的协议,完成较为复杂的访问控制。每一种协议需要相应的代理软件,效率不如网络级防火墙。
第四代:基于安全操作系统的防火墙
托管防火墙
三种托管防火墙的方式:
- Bastion Host 堡垒主机。具备三层过滤和代理控制的功能。主要用于处理安全事件。
- Host-Based Firewall。严格过滤数据流。
- Personal Firewall。 例子Windows 防火墙。
包过滤防火墙
最基本的防火墙,通常工作在OSI的三层及以下。可控内容包括报文的源地址,报文的目标地址,服务类型,以及第二层数据链路层可控的MAC地址。
包过滤技术允许符合安全过滤规则的数据包通过。同时执行预先定义的操作,记录过滤信息,发送报警信息。
过滤分析:
分析数据包包头字段。包括IP PORT,TCP。。。
一个访问控制列表,每一条记录定义了对符合记录条件的数据包所要执行的动作。
优点:
- 高速,只对包头进行检查
- 对用户透明
缺点:
无法根据数据内容进行过滤
提供简单的日志信息
ACL配置困难
端口暴露在外网,安全风险
状态检测防火墙
- 状态检测技术主要在传输层和网络层工作。
- 动态过滤规则存储在连接状态表中,并由防火墙维护。
- 对表中记录设置超时参数。
- 只对连接的初始报文进行检查。
优点:
- 只对初始报文进行检查,后续报文不做检查,可以快速通过
- 可以区分连接的发起方和接收方,通过状态分析阻断更多的复杂攻击行为,以及分析打开相应的端口。
缺点:
- 主要工作在网络层和传输层,对报文的数据部分检查很少,安全性低。
- 对初始报文内容检测相对增多,对防火墙的响应速度提出了更高的要求。
应用层网关Proxy(ALG)
应用层网关防火墙也叫应用层代理,负责内部网络和外部网络之间的通讯。网络连接通过中介来实现,设定符合预定的访问控制规则,所以恶意侵害无法伤害被保护的真实网络设备。
提供一些复杂的访问控制:
- 认证机制
- 内容过滤
- 成熟的日志记录
优点:
- 提供高速缓存
- 屏蔽内联网络
- 连接基于服务
- 代理服务建立在应用层
- 规则简单
缺点:
- 专用
- 延迟
- 用户不透明
- 不完全支持所有协议
- 对特定操作系统有依赖性
- 速度较慢。