防火墙对各种数据的基本过滤模式
1. 概述
内容过滤已经是目前各种防火墙所具备的基本功能,本文总结各种防火墙的内容过滤模式。
内容过滤主要是针对TCP、UDP协议的上层协议的内容信息来处理的。
内容过滤是针对明文进行的,或者是伪明文,如base64编码、压缩等,加密信息如SSL、SSH等是不可能进行内容过滤的。
2. HTTP协议(TCP80)
HTTP协议是应用最为广泛的协议,相对来说针对HTTP的内容过滤模式也最多。
2.1 URL过滤
URL过滤是HTTP过滤的基本模式,URL过滤可包括URL白名单、黑名单、关键字等,还可以进一步与其他服务器配合进行URL过滤,如CheckPoint的UFP协议,WebSense提供URL的数据库和分类。
2.2 HTTP数据类型过滤
HTTP数据类型可根据URL定义的文件类型;
上传或下载的文件类型;
HTTP头字段Content-Type定义的类型;
HTML语言定义的类型,如IMG、APPLET、SCRIPT等进行过滤。
2.3 HTTP头(header)字段过滤
HTTP定义了很多头字段用于描述HTTP信息,可以针对各种类型的头字段进行过滤。
2.4 HTTP命令类型过滤
HTTP命令包括GET、PUT、POST等,通过命令过滤可限制用户使用HTTP某些功能。
2.5 HTTP内容关键字过滤
对所有HTTP协议任何数据中的关键字进行过滤
3. FTP协议(TCP21)
3.1 上传下载文件类型过滤
针对FTP的GET和PUT命令执行的文件类型进行过滤
3.2 FTP命令过滤
针对FTP的命令进行过滤,以阻止执行某些命令,FTP协议命令和FTP客户端界面的命令是两码事,FTP命令集在RFC959、2228、2640中定义。
3.3 FTP命令通道内容关键字过滤
针对FTP命令通道内的任何数据中的关键字进行过滤。
3.4 FTP数据通道关键字过滤
针对FTP数据通道任何数据的关键字进行过滤。
4. SMTP协议(TCP25)
SMTP协议可过滤的内容也比较多
4.1 SMTP协议头字段过滤
和HTTP一样,SMTP也通过很多头字段来描述要传输的内容,针对各种类型的头字段进行过滤,可以包括过滤如Subject, To, From, Cc等的关键字信息。
4.2 邮件长度过滤
限制发送的邮件长度。
4.3 邮件内容关键字过滤
针对邮件数据中的关键字进行过滤,现在的SMTP传输双字节语言和二进制数据都是编码的,需要进行解码后过滤。
4.4 邮件附件过滤
针对邮件附件的类型、内容关键字进行过滤。
5. IMAP(TCP143)/POP3(TCP110)过滤
虽然都属于邮件,但POP3的过滤方式比SMTP要少,毕竟邮件已经到达目的邮箱中,不要只能自己删除。
5.1 邮件内容关键字过滤
针对邮件数据中的关键字进行过滤,现在的SMTP传输双字节语言和二进制数据都是编码的,需要进行解码后过滤。
5.2 附件文件类型过滤
针对邮件附件类型进行过滤,对于危险类型的附件进行警告并阻止其自动运行。
6. DNS协议(TCP/UDP53)
DNS过滤其实是最强的限制方式,使域名解析失败,这样不论是HTTP还是TELNET、FTP等,任何协议都无法使用。
6.1 域名过滤
根据域名信息的白名单、黑名单、关键字进行过滤
6.2 DNS地址NAT
是解决内网服务器和内部机器在同一网段时通过域名访问服务器的问题,也属于内容过滤处理范畴
7. TELNET过滤(TCP23)
TELNET一般只进行关键字过滤
8. 其他协议
其他类型协议的内容过滤相对比较少,基本就是对协议内容的关键字过滤。
9. 协议合法性检测和阈下通道检测
主要是检查协议通道内是数据是否是符合RFC标准的数据,防止其他协议使用该端口进行通信。
10. 病毒过滤
网络病毒可以通过任何一种网络协议进行传播,所以将其单独列出。
有的防火墙自己带了病毒库,可以在转发数据的同时进行搜索;一般是和病毒服务器进行互动,把数据传给病毒服务器,由病毒服务器扫描后将结果返回。无论何种形式,病毒检测都是最慢最费资源的处理过程,病毒扫描速度大致可以自己试,如果10M带宽,每秒数据1.25兆字节,用单机杀毒工具扫一个1.25兆的文件看看要多少时间。不过通常病毒库中只包括网络病毒,不包括单机类病毒,这样可以减少扫描时间。
11. 总结
内容过滤实质还是关键字过滤,就看是检测哪种类型的关键字了,内容过滤的速度取决于关键字模式的查找速度。内容过滤的关键就在于发现异常模式而切断连接,至于连接的切断模式也有各种方式,最好是能让用户知道是为什么被切断的。