信息安全基础知识笔记02 防火墙转发原理和初步配置
信息安全基础知识笔记02防火墙转发原理和初步配置
在数据通信过程中,由于网络中的不安全因素将会导致信息泄密、信息不完整,信息不可用等问题,因此在部署网络时需要用到防火墙设备。
本笔记主要介绍华为防火墙的转发原理(包过滤技术,状态检测机制),防火墙区域概念以及初步的防火墙配置。
包过滤技术
实现包过滤的核心技术是访问控制列表。对需要转发的数据包,先获取包头信息,然后和访问控制列表设定的规则进行比较,根据比较的结果对数据包进行转发或者丢弃。
包过滤作为一种网络安全保护机制,主要用于对网络中各种不同的流量是否转发做一个最基本的控制。
传统的包过滤防火墙对于需要转发的报文,会先获取报文头信息,包括报文的源IP地址、目的IP地址、IP层所承载的上层协议的协议号、源端口号和目的端口号(上一节笔记提到的五元组)等,然后和预先设定的过滤规则进行匹配,并根据匹配结果对报文采取转发或丢弃处理。
包过滤防火墙的转发机制是逐包匹配包过滤规则并检查,所以转发效率低下。
目前防火墙基本使用状态检查机制,将只对一个连接的首包进行包过滤检查,如果这个首包能够通过包过滤规则的检查,并建立会话的话,后续报文将不再继续通过包过滤机制检测,而是直接通过会话表进行转发。
防火墙区域概念
防火墙安全区域,一般简称为区域(Zone)。在防火墙的实现过程中,安全策略是基于安全区域而实施的。防火墙的每一个接口都需要加入到一个安全区域中,在同一安全区域内部发生的数据流动是不存在安全风险的,不需要实施任何安全策略;只有当不同的安全区域之间发生数据流动时,才会触发设备的安全检查,并实施相应的安全策略。
在防火墙中,同一个接口所连网络的所有网络设备一定位于同一安全区域中,而一个安全区域可以包含多个接口所连网络。
(1)防火墙缺省区域
缺省情况下,防火墙拥有四个安全区域:
① untrust区域(不信任域)
低级安全区域,安全优先级为5
通常用来定义Internet等不安全的网络,用于网络入口线的接入。
② dmz区域(隔离域,非军事化区)
中级安全区域,安全优先级为50
通常用来定义内部服务器所在网络
有时候企业的服务器有允许外部访问的需求,如Web服务器,E-mail服务器等。但是由于这类服务器暴露在外网下,存在被攻击渗透的风险,那么就不能将其与企业内网服务器放在同一个区域中。于是网络管理员会将这类服务器单独接在DMZ区的端口上,这个区域不仅实现了与外部网络的通信,还阻断了攻击者攻击内网用户设备的意图。
DMZ可以理解为一个不同于外网或内网的特殊网络区域,DMZ内通常放置一些不含机密信息的公用服务器,比如Web、Mail、FTP等。这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私人信息等,即使DMZ中服务器受到破坏,也不会对内网中的机密信息造成影响。
③ trust区域(信任域)
高级安全区域,安全优先级为85
通常用来定义内部用户所在的网络,也可以理解为应该是防护最严密的地区。
④ local区域(指防火墙本地)
顶级安全区域,安全优先级为100
local就是防火墙本身的区域,比如ping指令等网际控制协议的回复,需要local域的权限
凡是由防火墙主动发出的报文均可认为是从Local区域中发出。
凡是需要防火墙响应并处理(而不是转发)的报文均可认为是由Local区域接收。
Tips:一般管理员还会手动创建一个management区域(管理域),专门用于连接远程控制防火墙的管理设备。
除了console控制接口对设备进行配置,如果防火墙设备可以通过web界面配置的话,需要一根双绞线连接到管理接口,键入用户名和密码进行配置。
(2)安全区域的流入流出方向
报文从低级别的安全区域向高级别的安全区域流动时为入方向(Inbound),报文从高级别的安全区域向低级别的安全区域流动时为出方向(Outbound)。
Tips:参考链接
本文为CSDN博主「诸神之眼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42196196/article/details/83018737
(3)实验演示
如下图所示。防火墙FW1为eNSP的模拟设备。型号为USG5500,使用的是旧版的配置命令集。另外两台终端设备PC 1和PC 2分别被分到Untrust和Trust区域中,IP地址配置信息在图中已经列出。 Tips:目前华为大部分防火墙已经使用新版的配置命令集,对应eNSP中的型号为USG6000V的模拟设备。这里推荐两种配置命令都要了解并掌握。这样可以更好的操作华为系列不同的新旧型号的防火墙。
对处于内网的PC1,通常将连接其的接口分配到Trust区域,表示信任度最高的区域。对处于外网(Internet)的PC2,通常将连接其的接口分配到Untrust区域,表示信任度最低的区域。
首先我们可以通过命令查看防火墙默认的区域间安全访问策略
命令:display firewall packet-filter default all
可以清楚知道,除了防火墙本地(local域)可以对某些区域的outbound或inbound方向允许数据通过以外,其他区域之间的互访默认都是被禁止的。
① 将端口加入到对应的安全区域中。根据上图拓扑的信息,我们将防火墙的GE0/0/1接口加入到Trust区域中,将GE0/0/2接口加入到Untrust区域中。
首先配置IP地址。
命令:add interface gX/X/X
进入Trust区域配置界面,使用命令将端口加入到Trust区域中
然后Untrust区域配置界面,使用命令将端口加入到Untrust区域中。
命令:display zone interface
可以查看目前接口加入到区域的情况。默认情况下,防火墙的G0/0/0口属于Trust区域。
② 配置区域间互访的安全策略
首先,我们可以从上图查看防火墙的默认安全访问策略中得知,Trust区域到Untrust区域无论Inbound还是Outbound方向都是被禁止的。
可以通过ping来验证:
由于防火墙的安全访问策略,PC1不能访问PC2。
所以我们需要为其区域互访配置策略的放通。
命令:firewall packet-filter default permit interzone trust untrust direction outbound
对命令的逐个分解解析:
A. permit :表示允许,可以在两个区域中放行流量
B. trust untrust :表示要配置的哪两个区域,区域的输入顺序不固定,此处写untrust trust也是可以的。
C. outbound:表示配置的流量方向,从区域优先级高的到优先级低的方向为Outbound,反之为Inbound。
配置这条策略后,打开了内网PC1到外网PC2的安全访问数据通道。再次测试两台PC的联通性。
发现可以正常通信了,那么如果测试从外网的PC2是否可以ping通内网的PC1呢?
答案是否定的,因为只配置了从Trust区域到Untrust区域的Outbound方向的放行,没有配置Inbound方向的放行,所以PC2不能访问成功。
Tips:小知识
在配置设备时,由于对设备进行了更改,有时会频繁弹出终端的监控信息,致使配置过程被打断。所以可以用以下给出的方法将这些突然弹出的提示暂时关闭掉。
命令:undo terminal monitor
这种方式只能暂时关闭终端的监控信息,防火墙一旦重启或者退出全局配置模式,原本的配置又回来了。所以我们还可以在全局模式中使用以下命令永久关闭弹出监控信息:
命令:undo info-center enable
这里只是简单的介绍了一下防火墙,更详细的配置步骤将会在下一节笔记中给出。
防火墙安全策略
防火墙的基本作用是保护特定网络免受“不信任”的网络的攻击,但是同时还必须允许两个网络之间可以进行合法的通信。安全策略的作用就是对通过防火墙的数据流进行检验,符合安全策略的合法数据流才能通过防火墙。
通过防火墙安全策略可以控制内网访问外网的权限、控制内网不同安全级别的子网间的访问权限等。同时也能够对设备本身的访问进行控制,例如限制哪些IP地址可以通过Telnet和Web等方式登录设备,控制网管服务器、NTP服务器等与设备的互访等。
防火墙安全策略定义数据流在防火墙上的处理规则,防火墙根据规则对数据流进行处理。因此,防火墙安全策略的核心作用是:根据定义的规则对经过防火墙的流量进行筛选,由关键字确定筛选出的流量如何进行下一步操作。
在防火墙应用中,防火墙安全策略是对经过防火墙的数据流进行网络安全访问的基本手段,决定了后续的应用数据流是否被处理。NGFW会对收到的流量进行检测,检测出流量的属性,包括:源安全区域、目的安全区域、源地址/地区、目的地址/地区、用户、服务(源端口、目的端口、协议类型)、应用和时间段。
防火墙域间转发
早期包过滤防火墙采取的是“逐包检测”机制,即对设备收到的所有报文都根据包过滤规则每次都进行检查以决定是否对该报文放行。这种机制严重影响了设备转发效率,使包过滤防火墙成为网络中的转发瓶颈。
于是越来越多的防火墙产品采用了“状态检测”机制来进行包过滤。“状态检测”机制以流量为单位来对报文进行检测和转发,即对一条流量的第一个报文(首包)进行包过滤规则检查,并将判断结果作为该条流量的“状态”记录下来。对于该流量的后续报文都直接根据这个“状态”来判断是转发(或进行内容安全检测)还是丢弃。这个“状态”就是我们平常所述的会话表项。这种机制迅速提升了防火墙产品的检测速率和转发效率,已经成为目前主流的包过滤机制。
防火墙一般是检查IP报文中的五个元素,又称为“五元组”,即源IP地址和目的IP地址,源端口号和目的端口号,协议类型。通过判断IP数据报文的五元组,就可以判断一条数据流相同的IP数据报文。下一代防火墙除了检测五元组,还会检测报文的用户、应用和时间段等。
其中TCP协议的数据报文,一般情况下在三次握手阶段除了基于五元组外,还会计算及检查其它字段。三次握手建立成功后,就通过会话表中的五元组对设备收到后续报文进行匹配检测,以确定是否允许此报文通过。
状态检测机制
状态检测机制开启状态下,只有首包通过设备才能建立会话表项,后续包直接匹配会话表项进行转发。
状态检测机制关闭状态下,即使首包没有经过设备,后续包只要通过设备也可以生成会话表项。
① 对于TCP报文
开启状态检测机制时,首包(SYN报文)建立会话表项。对除SYN报文外的其他报文,如果没有对应会话表项(设备没有收到SYN报文或者会话表项已老化),则予以丢弃,也不会建立会话表项。
关闭状态检测机制时,任何格式的报文在没有对应会话表项的情况下,只要通过各项安全机制的检查,都可以为其建立会话表项。
② 对于UDP报文
UDP是基于无连接的通信,任何UDP格式的报文在没有对应会话表项的情况下,只要通过各项安全机制的检查,都可以为其建立会话表项。
③ 对于ICMP报文
开启状态检测机制时,没有对应会话的ICMP应答报文将被丢弃。
关闭状态检测机制时,没有对应会话的应答报文以首包形式处理
到此,本节介绍防火墙的转发原理以及区域的概念的笔记就结束了,笔记中只是初步的介绍了一下防火墙的配置实验演示,下一节笔记将会深入介绍如何搭建防火墙拓扑,以及使用命令行和Web界面来对防火墙进行配置。