草庐IT

华为防火墙简单介绍

小时候不乖的 2025-05-27 原文

防火墙

防火墙分类

第一代防火墙:包过滤防火墙

属于第一代防火墙技术,在没有专用防火墙设备时,一般由路由器实现该功能。将网络上传送数据包的IP首部以及 TCP/UDP首部,获取发送源的 IP地址和端口号,以及目的地的IP地址和端口号,并将这些信息作为过滤条件,决定是否将该分组转发至目的地网络分组过滤的执行需要设置访问控制列表。访问控制列表也可以称为安全策略(简称策略)或安全规则(简称规则)。类似于进站检票的做法,符合要求(车票和身份证无误)才能进站,每个人都需要检查,多于进进出出,团队出行的情况非常不友好,效率低,安全性不高。

包过滤防火墙的缺点

  1. 随着ACL 复杂度和长度的增加,其过滤性能呈指数下降趋势;
  2. 静态的ACL 规则难以适应动态的安全要求;
  3. 包过滤不检查会话状态也不分析数据,这很容易让黑客蒙混过关。
    攻击者可以使用假冒地址进行欺骗,通过把自己主机IP地址设成一个合法主机IP地址,就能很轻易
    地通过报文过滤器。

第二代防火墙:代理防火墙

  1. 第二代防火墙,不再根据IP首部和 TCP首部进行过滤,而是在传输层上进行连接中继(第四层代理),具体通过 SOCKS协议实现。

原理是:代理检查来自用户的请求,用户通过安全策略检查后,该防火墙将代表外部用户与真正的服务器建立连接,转发外部用户请求,并将真正服务器返回的响应回送给外部用户。

代理防火墙能够完全控制网络信息的交换,控制会话过程,具有较高的安全性。其缺点主要表现在:软件实现限制了处理速度,易于遭受拒绝服务攻击;需要针对每一种协议开发应用层代理,开发周期长,而且升级很困难。

第三代防火墙:状态防火墙

1994年CheckPoint公司发布了第一台基于状态检测技术的防火墙,不再是单包检查,以会话为单位通过动态分析报文的状态来决定对报文采取的动作,不需要为每个应用程序都进行代理,处理速度快而且安全性高。状态检测防火墙被称为第三代防火墙。通信中的包实际上并不是孤立的,更多的情况下包是可以用会话来分类,比如访问百度,开始是三次握手,然后请求内容并回应,最后4次断开,这些包是有上下文联系的属于一个会话。

基本原理简述如下:

  1. 状态检测防火墙使用各种会话表来追踪激活的TCP(Transmission Control Protocol)会话和UDP(User Datagram Protocol)伪会话,由访问控制列表决定建立哪些会话,数据包只有与会话相关联时才会被转发。其中UDP伪会话是在处理UDP协议包时为该UDP数据流建立虚拟连接(UDP是面对无连接的协议),以对UDP 连接过程进行状态监控的会话。

  2. 状态检测防火墙在网络层截获数据包,然后从各应用层提取出安全策略所需要的状态信息,并保存到会话表中,通过分析这些会话表和与该数据包有关的后续连接请求来做出恰当决定。

检测TCP的连接状态阻挡来路不明的分组,使用状态分组检测能够有效抵抗下面这些类型的攻击:

  1. 伪装IP地址或者端口,发送附带TCP的 RST或 FIN标志位的分组,随意中止正常通信的攻击

  2. 在允许通信的范围内发送附带TCP 的 ACK标志位的分组,从而入侵内部网络

  3. 在FTP通信时,无论是否建立控制连接,都会创建数据连接进而入侵内部网络

第四代防火墙:UTM防火墙

第三代防火墙出现之后网络安全迎来了百花齐放的时代,陆续出现了各种各样针对不同场景的安全设备:

  • 入侵检测系统(IDS)
    根据部署位置监控到的流量进行攻击事件监控,属于一个事后呈现的系统,相当于网络上的监控摄像头,传统防火墙只能基于规则执行“是”或“否”的策略,IDS主要是为了帮助管理员清晰的了解到网络环境中发生了什么事情
  • 入侵防御系统(IPS)
    根据已知的安全威胁生成对应的过滤器(规则),对于识别为流量的阻断,对于未识别的放通。IDS只能对网络环境进行检测,但却无法进行防御,IPS主要是针对已知威胁进行防御。
  • 防病毒网关(AV)
    防止病毒文件通过外网络进入到内网环境
  • Web应用防火墙(WAF
    防止基于应用层的攻击影响Web应用系统以上的各种专用安全设备的出现极大的丰富了安全防御的手段,但是也造成了新的问题

第五代防火墙:下一代防火墙

2008年Palo Alto Networks 公司发布了下一代防火墙(Next-Generation Firewall),解决了多个功能同时运行时性能下降的问题。同时,下一代防火墙还可以基于用户、应用和内容来进行管控。2009年Gartner(一家IT咨询公司) 对下一代防火墙进行了定义,明确下一代防火墙应具备的功能特性。Gartner把NGFW看做不同信任级别的网络之间的一个线速(wire-speed)实时防护设备,能够对流量执行深度检测,并阻断攻击。Gartner认为,NGFW必须具备以下能力:
1. 传统防火墙的功能
NGFW是新环境下传统防火墙的替代产品,必须前向兼容传统防火墙的基本功能,包括包过滤、协议状
态检测、NAT、VPN等。
2. IPS 与防火墙的深度集成
NGFW要支持IPS功能,且实现与防火墙功能的深度融合,实现1+1>2的效果。Gartner特别强调IPS与防火墙的“集成”而不仅仅是“联动”。例如,防火墙应根据IPS检测到的恶意流量自动更新下发安全策略,而不需要管理员的介入。换言之,集成IPS的防火墙将更加智能。Gartner现,NGFW产品和独立IPS产品的市场正在融合,尤其是在企业边界的部署场景下,NGFW正在吸收独立IPS产品的市场。
3. 应用感知与全栈可视化
具备应用感知能力,并能够基于应用实施精细化的安全管控策略和层次化的带宽管理手段,是NGFW引进的最重要的能力。传统的状态检测防火墙工作在二到四层,不会对报文的载荷进行检查。NGFW能对七层检测,可以清楚地呈现网络中的具体业务,并实行管控。
4. 利用防火墙以外的信息,增强管控能力
防火墙能够利用其他IT系统提供的用户信息、位置信息、漏洞和网络资源信息等,帮助改进和优化安全策略。例如,通过集成用户认证系统,实现基于用户的安全策略,以应对移动办公场景下,IP地址变化带来的管控难题。防火墙的安全区域防火墙中有一个重要的概念安全区域,将防火墙上物理或者逻辑接口分配到不同的安全区域中,防火墙通过安全区域来划分网络,同一个区域内报文可以通信,但是跨区域的流量必须策略允许才行。

华为防火墙的默认区域

华为防火墙默认预定义了四个固定的安全区域,分别为:

  • Trust: 该区域内网络的受信任程度高,通常用来定义内部用户所在的网络。

  • Untrust: 该区域代表的是不受信任的网络,通常用来定义Internet 等不安全的网络。

  • DMZ(Demilitarized非军事区): 该区域内网络的受信任程度中等,通常用来定义内部服务器(公司OA系统,ERP系统等)所在的网络。

  • Local: 防火墙上提供了Local 区域,代表防火墙本身。比如防火墙主动发起的报文(我们在防火墙执行ping测试)以及抵达防火墙自身的报文(我们要网管防火墙telnet、ssh、http、https)。

注意:默认的安全区域无需创建,也不能删除,同时安全级别也不能重新配置。USG防火墙最多支持32个安全区域。

Local 区域中不能添加任何接口,但防火墙上所有接口本身都隐含属于Local 区域。也就是说,报文通过接口去往某个网络时,目的安全区域是该接口所在的安全区域;报文通过接口到达防火墙本身时,目的安全区域是Local 区域。

华为防火墙介绍

安全级别

在华为防火墙上,每个安全区域都有一个唯一的安全级别,用1~100的数字表示,数字越大,则代表该区域内的网络越可信。对于默认的安全区域,它们的安全级别是固定的:Local区域的安全级别是100,Trust区域的安全级别是85,DMZ区域的安全级别是50,Untrust区域的安全级别是5。
报文在安全区域之间流动的方向报文在两个安全区域之间流动时,我们规定:报文从低级别的安全区域向高级别的安全区域流动时为入方向(Inbound),报文从由高级别的安全区域向低级别的安全区域流动时为出方向(Outbound)。
报文在两个方向上流动时,将会触发不同的安全检查。下图标明了Local区域、Trust区域、DMZ区域和Untrust区域间的方向。

操作

firewall zone trust                      #进入区域
set priority 80                          #设置区域的优先级
add interface GigabitEthernet0/0/0       #给区域添加接口
firewall zone name server                #自定义安全区域

安全策略

安全策略主要包含下列配置内容:
策略匹配条件:源安全域,目的安全域,源地址,目的地址,用户,服务,应 用,时间段。

策略动作:允许,禁止。

内容安全profile:(可选,策略动作为允许的时候执行)反病毒,入侵防御,URL过滤,文件过滤,内容过滤,应用行为控制,邮件过滤

防火墙的会话表

  1. 会话表项
    会话是状态检测防火墙的基础,每一个通过防火墙的数据流都会在防火墙上建立一个会话表项,以五元组(源/目的IP地址、源/目的端口、协议号)为Key值,通过建立动态的会话表提供域间转发数据流更高的安全性。

会话表包括五个元素:

  • 源IP地址
  • 源端口
  • 目的IP地址
  • 目的端口
  • 协议号
  1. 会话表与状态检测
    状态检测防火墙使用基于连接状态的检测机制,将通信双方之间交互的属于同一连接的所有报文都作为整体的数据流来对待。当防火墙安全策略允许报文通过时,将会建立如下的会话表传统包过滤防火墙中,为了使由内网PC主动访问外网资源的回应报文也顺利通过防火墙,还需要再配置一条反向规则。当使用状态检测防火墙时,报文成功被防火墙转发后,设备会生成一个五元组的会话表。让我们来了解一下会话表中包含了哪些内容。

在一个完整的会话表中,如果使用了verbose参数,将会看到更完整的信息:

  • Zone:表示报文在安全区域之间流动的方向,图中的信息表示报文是从Trust区域流向
    Untrust区域。
  • TTL:表示该条会话的老化时间,这个时间到期后,这条会话也将会被清除。Left:表示该条
    会话剩余的生存时间。
  • Output-interface:表示报文的出接口,报文从这个接口发出。
  • Nexthop:表示报文去往的下一跳的IP地址,本网络拓扑中是Web服务器的IP地址。
  • MAC:表示报文去往的下一跳的MAC地址,本网络拓扑中是Web服务器的MAC地址。
[USG6000]display firewall session table verbose
Current total sessions: 1
http VPN:public --> public
Zone: local--> trust Remote TTL: 00:00:20 Left: 00:00:08
Output-interface: GigabitEthernet0/0/2 Nexthop: 10.1.1.1 MAC: 00-e0-4c-88-3a-32
<-- packets:6 bytes:390 --> packets:8 bytes:340
10.1.1.1:43981-->10.1.1.10:43981

有关华为防火墙简单介绍的更多相关文章

  1. ruby - 简单获取法拉第超时 - 2

    有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url

  2. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  3. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  4. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  5. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  6. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  7. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  8. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  9. Qt Designer的简单使用 - 2

    在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用C++代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了。用C++代码编写图形界面的问题就是不直观,因此Qt项目开发了专门的可视化图形界面编辑器——QtDesigner(Qt设计师)。通过QtDesigner就可以很方便地创建图形界面文件*.ui,然后将ui文件应用到源代码里面,做到“所见即所得”,大大方便了图形界面的设计。本节就演示一下QtDesigner的简单使用,学习拖拽控件和设置控件属性,并将ui文件应用到Qt程序代码里。使用QtDesigner设计界面在开始菜单中找到「Q

  10. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

随机推荐