HCIA-Security -- 防火墙安全策略

article/2025/11/5 22:27:18
  • 防火墙安全基本原理
    • 安全区域
    • 安全策略
    • 状态检测和会话机制
    • ASPF技术
  • 防火墙在网络安全中的应用场景

一、防火墙安全基本原理

        防火墙不仅只是一个“入口的屏障”,而应该是多个网络的接入控制点。所有进出内网的数据流都应该首先经过防火墙,形成一个信息进出的关口。
        防火墙作为企业网络的重要组成部分,连接着企业网络管理层网络、市场部网络与服务器网络。防火墙一般部署在企业网络出口,与Internet连接。因此防火墙一般部署在不同区域之间用于网络的控制。(路由器用于数据转发,防火墙用于数据的控制)

1.1、安全区域

        安全区域( Security Zone)︰它是一个或多个接口的集合,是防火墙区别于路由器的主要特性。防火墙通过安全区域来划分网络、标识报文流动的“路线”,当报文在不同的安全区域之间流动时,才会触发安全检查。

        在每一个被防火墙分割的网络内部中,所有的计算机之间是被认为“可信任的”,它们之间的通信不受防火墙的干涉。而在各个被防火墙分割的网络之间,必须按照防火墙规定的“策略”进行访问。

 华为防火墙产品默认提供了Trust、DMZ和Untrust三个可配置的安全区域。
 Trust区域
        网络的受信任程度高;
        通常用来定义内部用户所在的网络。

DMZ区域
        网络的受信任程度中等;
        通常用来定义内部服务器所在的网络。

Untrust区域
        网络的受信任程度低;
        通常用来定义Internet等不安全的网络。

Local安全区域(防火墙本身自带的安全区域,不可配置)
1、 防火墙上提供的Local区域,代表防火墙本身凡是由防火墙主动发出的报文均可认为是从Local区域中发出,凡是需要防火墙响应并处理(而不是转发)的报文均可认为是由Local区域接收。
2、Local区域中不能添加任何接口,但防火墙上所有业务接口本身都属于Local区域。
3、由于Local区域的特殊性,在很多需要设备本身进行报文收发的应用中,需要开放对端所在安全区域与Local区域之间的安全策略。例如Telnet登录、网页登录、接入SNMP网管等。

         不同的网络受信任程度不同,在防火墙上用安全区域表示网络后,在华为防火墙上,每个安全区域都有一个唯一的优先级,用1至100的数字表示,数字越大,则代表该区域内的网络越可信。
        默认安全区域受信任程度:Local >Trust > DMZ> Untrust;
        用户可以根据实际组网需要,自行创建安全区域并定义其优先级。

1.2、安全策略 -- 域间通信

同一域之内的数据通信防火墙是默认是安全,不同域之间的通信需要靠防火墙的安全策略进行访问控制。

        防火墙的基本作用是对进出网络的访问行为进行控制,保护特定网络免受“不信任”网络的攻击,但同时还必须允许两个网络之间可以进行合法的通信。防火墙一般通过安全策略实现以上功能。
        安全策略是由匹配条件(五元组、用户、时间段等)和动作组成的控制规则,防火墙收到流量后对流量的属性(五元组、用户、时间段等)进行识别,并将流量的属性与安全策略的匹配条件进行匹配。

安全策略是由匹配条件(例如五元组、用户、时间段等)和动作组成的控制规则,防火墙收到流量后,对流量的属性(五元组、用户、时间段等)进行识别,并将流量的属性与安全策略的匹配条件进行匹配。如果所有条件都匹配,则此流量成功匹配安全策略。流量匹配安全策略后,设备将会执行安全策略的动作:
        如果动作为“允许”,且没有配置内容安全检测,则允许流量通过
        如果动作为“允许”,且配置了内容安全检测,则根据内容安全检测的结论来判断是否对流量进行放行;
        如果动作为“禁止”,则禁止流量通过。

特点:

任意两个安全区域都构成一个安全域间( Interzone )并具有单独的安全域间视图;
安全域间的数据流动具有方向性,包括入方向( lnbound )和出方向( Outbound )。

安全策略的匹配过程:

1、防火墙最基本的设计原则一般是没有明确允许的流量默认都会被禁止,这样能够确保防火墙一旦接入网络就能保护网络的安全。
2、如果想要允许某流量通过,可以创建安全策略。一般针对不同的业务流量,设备上会配置多条安全策略。

 同一安全区域内的流量和不同安全区域间的流量受缺省安全策略控制的情况分别为:
        对于不同安全区域间的流量(包括但不限于从防火墙发出的流量、防火墙接收
的流量、不同安全区域间传输的流量),受缺省安全策略控制;
        对于同一安全区域内的流量,默认不受缺省安全策略控制,缺省转发动作为允许。如果希望同域流量受缺省安全策略控制,则需要开启缺省安全策略控制同一安全区域内流量的开关。开启后,缺省安全策略的配置将对同一安全区域内的流量生效,包括缺省安全策略的动作、日志记录功能等。
        缺省安全策略可以修改默认动作、日志记录功能(包括策略命中日志、会话日志和流量日志)。

安全策略配置举例:

配置思路: 划分安全区域、配置接口、配置安全策略、保存和提交。

配置过程中对于安全策略的配置,需要先精确配置后宽泛配置。

常用的配置命令如下:

1.3、状态检测和会话机制

状态检测:        

        状态检测防火墙使用基于连接状态的检测机制,将通信双方之间交互的属于同一连接的所有报文都作为整个数据流来对待。在状态检测防火墙看来,同一个数据流内的报文不再是孤立的个体,而是存在联系的。

        状态检测机制开启状态下,只有首包通过设备才能建立会话表项,后续包直接匹配会话表项进行转发。

        状态检测机制关闭状态下,即使首包没有经过设备,后续包只要通过设备也可以生成会话表项。
        在报文来回路径不一致的组网环境中,防火墙可能只会收到通信过程中的后续报文。在这种情况下,为了保证业务正常,就需要关闭防火墙的状态检测功能。当关闭状态检测功能后,可以通过后续报文建立会话,保证业务的正常运行。

会话机制:

        防火墙会将属于同一连接的所有报文作为一个整体的数据流(会话)来对待。会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。

         防火墙采用了基于“状态”的报文控制机制:只对首包或者少量报文进行检测就确定一条连接的状态,大量报文直接根据所属连接的状态进行控制。这种状态检测机制迅速提高了防火墙的检测和转发效率。会话表就是为了记录连接的状态而存在的。设备在转发TCP、UDP和ICMP报文时都需要查询会话表,来判断该报文所属的连接并采取相应的处理措施。

 会话表项的五元组:       

        会话是通信双方的连接在防火墙上的具体体现,代表两者的连接状态,一条会话就表示通信双方的一个连接。

        通过会话中的五元组信息可以唯一确定通信双方的一条连接;
        防火墙将要删除会话的时间称为会话的老化时间;
        一条会话表示通信双方的一个连接,多条会话的集合叫做会话表。

         防火墙为各种协议设定了会话老化机制。当一条会话在老化时间内没有被任何报文匹配,则会被从会话表中删除。这种机制可以避免防火墙的设备资源被大量无用、陈旧的会话表项消耗。但是对于某些特殊业务中,一条会话的两个连续报文可能间隔时间很长。例如:
        用户通过FTP下载大文件,需要间隔很长时间才会在控制通道继续发送控制报文;
        用户需要查询数据库服务器上的数据,这些查询操作的时间间隔远大于TCP的会话老化时间。
        在以上的场景中,如果会话表项被删除,则对应的业务就会中断。长连接((LongLink)机制可以给部分连接设定超长的老化时间,有效解决这个问题。

1.4、ASPF技术

ASPF技术产生背景
1、在TCP/IP模型中,应用层提供常见的网络应用服务,如Telnet、HTTP、FTP等协议。而应用层协议根据占用的端口数量可以分为单通道应用层协议与多通道应用层协议。
        单通道应用层协议:通信过程中只需占用一个端口的协议。例如: Telnet只需占用23端口,HTTP只需占用80端口;。

        多通道应用层协议:通信过程中需占用两个或两个以上端口的协议。例如:FTP被动模式下需要占用21号端口以及一个随机端口。
2、传统包过滤防火墙针对多通道应用层协议访问控制的不足:
        传统的包过滤防火墙只能实现简单的访问控制;
        传统的包过滤防火墙只能阻止一些使用固定端口的单通道协议的应用数据。

        多通道协议的应用需要先在控制通道中协商后续数据通道的地址和端口,然后根据协商结果建立数据通道连接。由于数据通道的地址和端口是动态协商的,管理员无法预知,因此无法制定完善精确的安全策略。为了保证数据通道的顺利建立,只能放开所有端口,这样显然会给服务器或客户端带来被攻击的风险。

ASPF ( Application Specific Packet Filter)是针对应用层的包过滤。
        通过检测协商报文的应用层携带的地址和端口信息,自动生成相应的Server-map表,当数据通道的首包经过防火墙时,防火墙根据Server-map生成一条session,用于放行后续数据通道的报文,相当于自动创建了一条精细的“安全策略”。对于特定应用协议的所有连接,每一个连接状态信息都将被ASPF维护并用于动态的决定数据包是否被允许通过防火墙或丢弃。

 FTP主动模式下应用ASPF

        Server-map表是通过ASPF功能自动生成的精细安全策略,是防火墙上的“隐形通道”。

         FTP主动模式下,客户端使用随机端口xxxx向服务器的21端口发起连接请求建立控制通道,然后使用PORT命令协商两者建立数据通道的端口号,协商得出的端口是yyyy,然后服务器主动向客户端的yyy端口发起连接请求,建立数据通道。数据通道建立成功后再进行数据传输。

        在配置安全策略时,如果只配置了允许客户端访问服务器的21端口的安全策略,即控制连接能成功建立。但是当服务器访问客户端yyyy端口的报文到达防火墙后,对于防火墙来说,这个报文不是前一条连接的后续报文,而是代表着一条新的连接。要想使这个报文顺利到达FTP客户端,防火墙上就必须配置了安全策略允许其通过,如果没有配置服务器到客户端这个方向上的安全策略,该报文无法通过防火墙,导致数据通道建立失败。结果是用户能访问服务器,但无法请求数据。

        由于PORT命令的应用层信息中携带了客户端的IP地址和向服务器随机开放的端口防火墙通过分析PORT命令的应用层信息,提前预测到后续报文的行为方式,根据应用层信息中的IP和端口创建Server-map表。服务器向客户端发起数据连接的报文到达防火墙后命中该Server-map表项,不再受安全策略的控制。

Server-map表与会话表的关系
Server-map表与会话表的关系如下:
        1、Server-map表记录了应用层数据中的关键信息,报文命中该表后,不再受安全策略的控制;
       2、 会话表是通信双方连接状态的具体体现;
       3、Server-map表不是当前的连接信息,而是防火墙对当前连接分析后得到的即将到来报文的预测。


防火墙接收报文的处理过程:
        1、防火墙收到报文先检查是否命中会话表;。

        2、如果没有命中则检查是否命中Server-map表;。

        3、命中Server-map表的报文不受安全策略控制;
        4、防火墙最后为命中Server-map表的数据创建会话表。

Server-map表配置举例:

配置ASPF:  firewall interzone trust dmz

                      detect ftp

自动生成server-map.

 

二、防火墙在网络安全中的应用场景

2.1、防火墙在校园出口安全方案中的应用场景

·校园网从网络层到应用层的各个层面都面临着不同的安全威胁:
        1、网络边界防护

        2、内容安全防护
·如图所示,防火墙作为安全网关部署在校园网出口

        1、提供内、外网互访的安全隔离和防护。例如︰提供传统的基于IP地址的安全策略制定和网络访问控制;

        2、同时提供基于用户的访问控制和行为溯源。

2.2、防火墙在云计算网络中的应用

随着云计算的迅猛发展,企业可以便捷地接入云计算网络,获取服务器、存储、应用等资源,减少构建IT基础设施的投资成本,大大加快了信息化进程。

        如图所示,云计算网络中部署防火墙可以实现:
                1、不同的外网企业用户访问虚拟机时,相互之间不能影响,业务隔离;
·                2、外网企业用户能够通过公网地址访问企业内部虚拟机和Portal系统;
·                3、提高业务可靠性,不能因为一台设备出现故障而导致业务中断。


http://chatgpt.dhexx.cn/article/qSQK1e6j.shtml

相关文章

防火墙策略

定义与原理: 防火墙的基本作用是保护特定网络免受“不信任”的网络的攻击,但是同时还必须允许两个网络之间可以 进行合法的通信。 安全策略是控制设备对流量转发以及对流量进行内容安全一体化检测的策略,作用就是对通过防火墙的 数据流进行检…

kaggle数据集下载

一、首先需要安装kaggle winR→cmd→pip install kaggle 问题:安装到哪来?都说在c盘。可是我找不到,可能因为之前担心c负荷更改路径了,再安装一下发现已经安装成功,且给出了安装路径。 二、注册 (1387条消息) 最新k…

ImageNet 数据集下载与处理(亲测 实用有效无坑版)

下载 通常下载方式有两种, 官网下载和第三方网站上传的资源下载。这里推荐第三方下载,因为官网可能会存在注册麻烦,网页卡顿的情况。 第三方下载方式如下: 里面包含几乎所有常用的ImageNet的数据集以及标注文件。 https://pan.ba…

ImageNet ISLVRC2012数据集下载和使用

最近要在imagenet数据集上做实验,以前只知道这个数据集很大,但是没用过,这次亲自下载然后按照训练集和验证集划分好了,记录一下。 主要参考了这个 https://zhuanlan.zhihu.com/p/370799616 目录 1. 数据集下载2. 数据集处理2.1 训…

coco2017数据集下载(百度网盘)

今天,想要下载coco2017的数据集,奈何官网下载速度太慢,下载过程可谓坎坷,为了让有需求的人少走弯路,这里提供我的百度云链接,大家可自行下载,文件中包括的内容如下: 百度云链接&…

kaggle数据集的下载

感谢阅读本文,喜欢请收藏点赞 准备工作1.安装kaggle库2.注册登录kaggle账户3.kaggle.json的下载与使用4.下载数据集 文件保存路径 准备工作 1.安装kaggle库 2.注册登录kaggle账户 点我跳转 (没有帐户的有很多) 3.kaggle.json的下载与使用 …

KITTI数据集下载链接

1、简介 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D…

ImageNet数据集 下载

文章目录 1. ImageNet 说明2. ILSVRC2012 说明3. ImageNet下载方式4. ImageNet数据组织与使用 1. ImageNet 说明 ImageNet官网:http://image-net.org/ ImageNet 由斯坦福李飞飞教授带领创建,ImageNet 本身有2万多个的类别,超过 1400 万张图…

机器学习数据集下载

几个常用的数据集下载网站: 1. kaggle数据集 网址:Find Open Datasets and Machine Learning Projects | KaggleDownload Open Datasets on 1000s of Projects Share Projects on One Platform. Explore Popular Topics Like Government, Sports, Med…

深度学习常用数据集介绍与下载(附网盘链接)

摘要 这篇博文总结了博主收集的深度学习常用的数据集,包含常用的分类、目标检测及人脸识别任务,对每个数据集给出了简要介绍、官网下载网站以及公众号获取的关键字。因为有的数据集较大,官网的下载速度可能比较慢,为了方便大家管…

ScanNet数据集下载

文章目录 前言1.数据集介绍2.数据集获取3.导出数据集 前言 笔者CV小白选手获取ScanNet数据集是真的闹心,好在最后获取成功啦!这里将这两天获取数据集的详细过程记录一下,希望能够帮助到更多人,一起学习进步!(o(&#…

kaggle数据集下载步骤

原文链接:https://blog.csdn.net/lxw234lxw/article/details/102968754 本文以APTOS 2019 Blindness Detection竞赛数据库为例,详解下载步骤。 目录 一、安装kaggle库 二、注册kaggle账号 三、找到需要下载的数据集,并接受规则。 四、下载jso…

公开数据集下载地址

这里写目录标题 一、目标检测,分割数据集1.COCO 数据集COCO2014COCO2017 2.PASCAL VOC数据集voc2007数据集:voc 2012数据集: 二、自动驾驶数据集1. BDD100K 数据集2.Nuscenes 一、目标检测,分割数据集 1.COCO 数据集 COCO是一个…

Java 18 正式发布

Oracle 正式推出Java 18,这是世界排名第一的编程语言和开发平台的最新版本。Java 18 (Oracle JDK 18) 提供了数以千计的性能、稳定性和安全性改进,包括对平台的九项增强,这将进一步提高开发人员的工作效率。 最新的 Java 开发工具包 (JDK) 提…

10种受欢迎的前后端相关开发工具

该篇博客翻译自Best Developer Tools for 2021。 1 GitKraken Git Client 连接Git服务器的GUI客户端,支持Windows、 Mac和Linux操作系统。如果你在使用Git时没有使用GitKraken,每天都会感到麻烦。从此刻起,GitKraken直观的UI帮你执行简单或复…

盘点——iOS应用开发常用工具

针对 iOS 平台的应用开发工作,通常都需要借助 IDE、 SDK 等开发工具以提升开发效率。iOS 平台的应用开发生态环境,正随着更多优秀开发者的加入,而变得越来越完善。那么,对于 iOS 应用开发者来说,该如何选出合适的 IDE 或 SDK 工具呢? 不论是 iOS 应用开发公司,还是个人…

Java语言入门概述

一、Java语言入门 一)Java语言概述 1、计算机的发展,软件开发介绍 概述: 软件:即一系列按照特定的顺序组织的计算机数据和指令的集合、软件分为系统软件和应用软件。 系统软件:系统软件就是指控制和协调计算机及外…

Java 后端开发必读的 6 本书!

以下内容来自公众号逆锋起笔,关注每日干货及时送达 如果你是一个小白,你打算自学JAVA,你如果想找到一份月薪1万的JAVA开发工程师的工作。那么很简单,你只需要花1个月的时间,学完我推荐的这6本书,再结合一些…

Ant、 Maven 、 Gradle—Java构建工具比较

根据相关报告,大多数Java开发人员使用Maven作为他们的主要构建工具,在67%的受访者中。排名第二和第三的分别是20%的Gradle和11%的Ant。 这三个构建工具一直排在Java开发人员的前三个构建工具中。在本文中,我们比较了Maven、Gradle和Ant&#…

利用JConsole工具监控java程序内存和JVM

项目部署成功后时间过不多久内存就撑爆了,所以需要检测工具来监控项目内存情况。 项目内存爆满 docker容器直接挂掉。启动命令上也加上了内存溢出生成dump日志。 -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/logs/dump.log 解决问题思路大致有两种 &#x…