目录
一、 防火墙概念与分类
路由器与交换机的本质是转发,防火墙的本质是控制和防护。
防火墙这一具体设备,通常用于两个网络之间的隔离
。那么,用通信语言来定义,防火墙主要用于保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为。因其隔离、防守的属性,灵活应用于网络边界、子网隔离等位置,具体如企业网络出口、大型网络内部子网隔离、数据中心边界等。
分类
软件型防火墙
个人防火墙
个人防火墙运行于个人计算机上,用于监控个人计算机与外部网络之间的通信信息
在
Windows
操作系统中集成了
Windows
防火墙。一般拥有杀毒软件产品的厂商会以综合安全软件套件的
个人防火墙
网关型防火墙
在计算机网络的网关中设置类似防火墙设备的功能,从而对网络中通信流量进行策略控制,这种类型的防火墙即为网关型防火墙。
网关型防火墙分为两类,一类是在
Windows
、
Linux
等通用操作系统上安装并运行
FireWall-1
软件的软件型网关防火墙,一类是使用专用设备的硬件型网关防火墙。
个人防火墙主要监控所有到达个人计算机的通信流量,而网关型防火墙则需要监控来自多数不特定终端设备的通信流量,并在它们通过网关时实施策略控制。
硬件型防火墙
硬件型防火墙是指通过硬件设备实现的防火墙,外形同路由器形状类似,但网络接口类型一般只支持以太网。
二、防火强的技术类型
代理服务器
代理服务器是应用网关型防火墙的一种。
什么是代理
例如,
HTTP
代理对应的网关在从用户
(
客户端
)
处收到
HTTP
通信请求后,自身将代替客户端
HTTP服务器发送HTTP通信请求。从客户端的角度来看,网关即其通信终端。由此,在客户端与网关,网关与HTTP服务器之间分别生成两个会话如果像这样网关成为客户端的代理,由代理和真正的服务器之间进行通信的话,就会实现以下情况。
![](https://i-blog.csdnimg.cn/blog_migrate/a2b99238df8f3b74b52b4a664f1c84da.png)
由于网关是会话的起点,因此可以对互联网上的外部服务器隐藏客户端的IP地址。
三、防火墙的接口模式
四、防火墙的安全区域
在每一个被防火墙分割的网络内部中,所有的计算机之间是被认为
“
可信任的
”
,它们之间的通信不受防火墙的干涉。而在各个被防火墙分割的网络之间,必须按照防火墙规定的“
策略
”
进行访问。
安全区域(
Security Zone
):它是一个或多个接口的集合,是防火墙区别于路由器的主要特性。防火墙通过安全区域来划分网络、标识报文流动的“
路线”,当报文在不同的安全区域之间流动时,才会触发安全检查。
![](https://i-blog.csdnimg.cn/blog_migrate/7c6c8d35820149f551d10363a1326b1a.png)
1.Trust区域
网络的受信任程度高;通常用来定义内部用户所在的网络。
2.DMZ区域
网络的受信任程度中等;通常用来定义内部服务器所在的网络。
3.Untrust区域
网络的受信任程度低;通常用来定义Internet等不安全的网络。
4.Local区域
防火墙上提供的
Local
区域,代表防火墙本身。凡是由防火墙主动发出的报文均可认为是从
Local
区域中发出,凡是需要防火墙响应并处理(而不是转发)的报文均可认为是由Local
区域接收。
Local
区域中不能添加任何接口,但防火墙上所有业务接口本身都属于Local
区域。由于
Local
区域的特殊性,在很多需要设备本身进行报文收发的应用中,需要开放对端所在安全区域与Local
区域之间的安全策略。例如Telnet登录、网页登录、接入
SNMP
网管等。
安全区域的受信任程度与优先级 ![](https://i-blog.csdnimg.cn/blog_migrate/d511b46794411b25d44932cdf2f02fbe.png)
安全区域都有一个唯一的优先级,用1至100的数字表示,数字越大,则代表该区域内的网络越可信。
五、 安全策略
防火墙的基本作用是对进出网络的访问行为进行控制,保护特定网络免受
“
不信任
”
网络的攻击,但
同时还必须允许两个网络之间可以进行合法的通信。防火墙一般通过安全策略实现以上功能。
安全策略是由匹配条件(五元组、用户、时间段等)和动作组成的控制规则,防火墙收到流量后, 对流量的属性(五元组、用户、时间段等)进行识别,并将流量的属性与安全策略的匹配条件进行
匹配。
防火墙最基本的设计原则一般是没有明确允许的流量默认都会被禁止,这样能够确保防火墙一旦接入网络就能保护网络的安全。如果想要允许某流量通过,可以创建安全策略。一般针对不同的业务流量,设备上会配置多条安全策略。
![](https://i-blog.csdnimg.cn/blog_migrate/d072dfc3570f87a8ac1d51f452001d5c.png)
六、 状态检查详解
1.状态检测机制
状态检测防火墙使用基于连接状态的检测机制,将通信双方之间交互的属于同一连接的所有报文都作为整个数据流来对待。在状态检测防火墙看来,同一个数据流内的报文不再是孤立的个体,而是存在联系的。
状态检测机制开启状态下,只有
首包
通过设备才能建立会话表项,后续包直接匹配会话表项进行转发。
![](https://i-blog.csdnimg.cn/blog_migrate/daf5614144910539b644a2b659d6d053.png)
2.会话机制
防火墙会将属于同一连接的所有报文作为一个整体的数据流(会话)来对待。会话表是用来记录
TCP
、 UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。
![](https://i-blog.csdnimg.cn/blog_migrate/f8c9ea0a9be0eae3c36dcccffb872fa1.png)
3.会话表项中的五元组信息
会话是通信双方的连接在防火墙上的具体体现,代表两者的连接状态,一条会话就表示通信双方的
一个连接。
通过会话中的五元组信息可以唯一确定通信双方的一条连接;
防火墙将要删除会话的时间称为会话的老化时间;
一条会话表示通信双方的一个连接,多条会话的集合叫做会话表。
![](https://i-blog.csdnimg.cn/blog_migrate/e888f4e7f3473af484a460e8664b03b7.png)
防火墙为各种协议设定了
会话老化机制
。当一条会话在老化时间内没有被任何报文匹配,则会被从会话表中删除。这种机制可以避免防火墙的设备资源被大量无用、陈旧的会话表项消耗。但是对于某些特殊业务中,一条会话的两个连续报文可能间隔时间很长。
七、 FTP协议
FTP协议是一个典型的多通道协议,在其工作过程中,FTP Client 和FTP Server 之间将会建立两条连接:控制连接和数据连接。控制连接用来传输FTP 指令和参数,其中就包括建立数据连接所需要的信息;数据连接用来获取目录及传输数据。数据连接使用的端口号是在控制连接中临时协商的。
1.不同的传输模式:
ASCII
模式:传输文本文件(
TXT
、
LOG
、
CFG
)时会对文本内容进行编码方式转换,提高传输效
率。当传输网络设备的配置文件、日志文件时推荐使用该模式。
Binary
(二进制)模式:非文本文件(
cc
、
BIN
、
EXE
、
PNG
),如图片、可执行程序等,以二进
制直接传输原始文件内容。当传输网络设备的版本文件时推荐使用该模式。这些文件无需转换格式
即可传输。
2.工作方式
FTP存在两种工作方式:主动模式(PORT)和被动模式(PASV)。
主动模式:
被动模式:
多于多通道协议比如
FTP
、
VOIP
等协议,通道是随机协商出的,防火墙不能设置策略也无法形成会话表 (按照目前所学)。
解决办法,
使用ASPF技术,查看协商端口号并动态建立server-map表放过协商通道的数据。
3.ASPF技术
ASPF
(
Application Specific Packet Filter
,针对应用层的包过滤)也叫基于状态的报文过滤,
ASPF
功能可以自动检测某些报文的应用层信息并根据应用层信息放开相应的访问规则,
开启
ASPF
功能后,
FW
通过检测协商报文的应用层携带的地址和端口信息,自动生成相应的Server-map
表,用于放行后续建立数据通道的报文,相当于自动创建了一条精细的“
安全策略
”
。
通过检测协商报文的应用层携带的地址和端口信息,自动生成相应的
Server-map
表,当数据通道的首包经过防火墙时,防火墙根据Server-map
生成一条
session
,用于放行后续数据通道的报文,相当于自动创建了一条精细的“
安全策略
”
。对于特定应用协议的所有连接,每一个连接状态信息都将被ASPF维护并用于动态的决定数据包是否被允许通过防火墙或丢弃。
![](https://i-blog.csdnimg.cn/blog_migrate/0a89dabc456edd4e2238ef9d5917bd94.png)
Server-map表是通过ASPF功能自动生成的精细安全策略,是防火墙上的“隐形通道”。
4.Server-map表与会话表的关系![](https://i-blog.csdnimg.cn/blog_migrate/6ab416ca4e3db6c28aae6036ffc3a3db.png)
STUN
类型协议与
server-map
表
转发
QQ/MSN
等
STUN
(
Simple Traversal of UDP over NATs
,
NAT
的
UDP简单穿越)类型会生成的三元组Server-map表项。
![](https://i-blog.csdnimg.cn/blog_migrate/d324229c99ba3eb58f5c46c6ad6b8e60.png)
要实现
QQ2
在外网主动向
QQ1
内网的语音或者视频连接,也需要防火墙对该应用采用
ASPF
的方式处理。
监听协商端口。
MSN
等用户连接服务器时,设备会记录下用户的
IP
地址和端口信息,并动态生成
STUN
类型的
Server-map。这个
Server-map
表项中仅包含三元组信息,即通信一方的
IP
地址,端口号和协议号。这样其他用户可以直接通过该IP
和端口与该用户进行通信。只要有相关的流量存在,
STUN
动态的
Server-map
就将一直存在。在所有相关流量结束后,Server-map
表开始老化。
八、端口识别
端口识别是把非标准协议端口映射成可识别的应用协议端口 。
1.
配置基本ACL
[NGFW]acl 2000
[NGFW-acl-basic-2000]rule permit source 20.0.0.1 0
2.
配置端口识别(或端口映射)
[NGFW]port-mapping FTP port 31 acl 2000