网络安全概论——防火墙原理与设计

news/2024/12/22 9:43:17/

一、防火墙概述

防火墙是一种装置,它是由软件/硬件设备组合而成,通常处于企业的内部局域网与 Internet 之间,限制 Internet 用户对内部网络的访问以及管理内部用户访问 Internet 的权限。换言之,一个防火墙在一个被认为是安全和可信的内部网络和一个被认为是不那么安全和可信的外部网络(通常是 Internet)之间提供 一个封锁工具。如果没有防火墙,则整个内部网络的安全性完全依赖于每个主机, 因此,所有的主机都必须达到一致的高度安全水平, 这在实际操作时非常困难。 而防火墙被设计为只运行专用的访问控制软件的设备,没有其他的服务,因此也 就意味着相对少一些缺陷和安全漏洞,这就使得安全管理变得更为方便,易于控 制,也会使内部网络更加安全。 防火墙所遵循的原则是在保证网络畅通的情况下,尽可能保证内部网络的安 全。它是种被动的技术,是一种静态安全部件。

1、防火墙设计的要求

(对防御内部的攻击无用):

  1. 所有进出网络的数据都要通过防火墙(但不一定要过滤)
  2. 只允许经过授权的数据流通过防火墙
  3. 防火墙自身对入侵是免疫的

2、防火墙提供的四种控制机制

  1. 服务控制
  2. 方向控制
  3. 用户控制
  4. 行为控制

3、防火墙的几个基本功能

  • (1)隔离不同的网络,限制安全问题的扩散,对安全集中管理,简化了安全管理的复杂程度。
  • (2) 防火墙可以方便地记录网络上的各种非法活动,监视网络的安全性,遇到紧急情况报警。
  • (3)防火墙可以作为部署 NAT 的地点,利用 NAT 技术,将有限的 IP 地址动态或静 态地与内部的 IP 地址对应起来,用来缓解地址空间短缺的问题或者隐藏内部网络的结构。
  • (4)防火墙是审计和记录 Internet 使用费用的一个最佳地点。
  • (5)防火墙也可以作为 IPSec 的平台。
  • (6)内容控制功能。根据数据内容进行控制,比如防火墙可以从电子邮件中过滤 掉垃圾邮件,可以过滤掉内部用户访问外部服务的图片信息。只有代理服务器和先进的过滤才能实现。

二、防火墙分类

一般来说,防火墙工作于OSI模型的层次越高,其检查数据包中的信息就越多,因此防火墙所消耗的处理器工作周期就越长;防火墙检查的数据包越靠近OSI模型的上层,该防火墙结构所提供的安全保护等级就越高,因为在高层上能够获得更多的信息用于安全决策。

OSI七层模型记忆口诀:物数网传会表应

0、包过滤防火墙

包过滤防火墙也称分组过滤路由器,又叫网络层防火墙,因为它是工作在网络层。 路由器便是一个网络层防火墙,因为包过滤是路由器的固有属性。它一般是通过 检查单个包的地址、协议、端口等信息来决定是否允许此数据包通过,有静态和 动态两种过滤方式。 这种防火墙可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。 如果没有一条规则能符合,防火墙就会使用默认规则(丢弃该包)。在制定数据包过滤规则时,一定要注意数据包是双向的

1、静态包过滤防火墙

工作于网络

对于静态包过滤防火墙来说,决定接收还是拒绝一个数据包,取决于对数据包中IP头和协议头等特定域的检查和判定。

对数据包的某些特定域进行检查,这些特定域包括:源地址、目的地址、应用或协议、源端口号、目的端口号

在每个包过滤器上,安全管理员要根据企业的安全策略定义一个表单,这个表单也被称为访问控制规则库。该规则库包含许多规则,用来指示防火墙应该拒绝还是接受该数据包。

优缺点:对网络性能有较小的影响,成本低;安全性较低,缺少状态感知能力,容易遭受IP欺骗攻击,创建访问控制规则比较困难。

静态包过滤防火墙主要实现如下三个功能:

  • 接受每个到达的数据包。
  • 对数据包采用过滤规则,对数据包的IP头和传输字段内容进行检查。如果数据包的头信息与一组规则匹配,则根据该规则确定是转发还是丢弃该数据包。
  • 如果没有规则与数据包头信息匹配,则对数据包施加默认规则。

2、动态包过滤防火墙

连接建立以后的数据包不需要检查

优缺点:对网络性能有较小的影响,具有状态感知能力,性能显著提升;安全性低,容易遭受IP欺骗攻击,难于创建规则(必须考虑规则的先后顺序)

对数据包的某些特定域进行检查,这些特定域包括:源地址、目的地址、应用或协议、源端口号、目的端口号

3、电路级网关

工作于会话层,在许多方面,电路级网关仅仅是包过滤防护墙的一种扩展,它除了进行基本的包过滤检查之外,还要增加对连接建立过程中的握手信息及序列号合法性的验证。

在打开一条通过防火墙的连接或电路之前,电路级网关要检查和确认TCP及UDP协议会话。因此,电路级网关所检查的数据比静态包过滤防火墙或动态包过滤防火墙所检查的数据更多,安全性也更高。

对数据包的某些特定域进行检查,这些特定域包括:源地址、目的地址、应用或协议、源端口号、目的端口号、握手信息及序列号

优点:

  1. 网络性能有一定影响,比包过滤性能低,但优于应用代理防火墙。
  2. 切断了外部网络和防火墙后服务器的直接连接。
  3. 安全性高。

缺点:

  1. 无法抵御应用层入侵。
  2. 当程序和资源增加时,电路及网关的许多代码需要修改。

4、应用级网关

工作于应用层,只能对特定服务的数据流进行过滤,应用级网关必须为特定的应用服务编写特定的代理程序。

与电路级网关一样,应用级网关截获进出网络的数据包,运行代理程序来回复制华为传递通过网关的信息,起着代理服务器的作用。它可以避免内网中的可信服务器或客户机遇外网中某个不可信主机之间的直接连接。

主要工作在应用层,又称为应用层防火墙。它检查进出的数据包,通过自身复制 传递数据,防止在受信主机与非受信主机间直接建立联系。应用层网关能够理解 应用层上的协议,能够做复杂的访问控制,并做精细的注册和审核。 基本工作过程是:当客户机需要使用服务器上的数据时,首先将数据请求发给代 理服务器,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器 将数据传输给客户机。常用的应用层网关已有相应的代理服务软件,如 HTTP、 SMTP、 FTP、 Telnet 等,但是对于新开发的应用,尚没有相应的 代理服务,它们将通过网络层防火墙和一般的代理服务。 应用层网关有较好的访问控制能力,是目前最安全的防火墙技术。能够提供内容 过滤、用户认证、页面缓存和 NAT 等功能。但实现麻烦,有的应用层网关缺乏“透 明度”。应用层网关每一种协议需要相应的代理软件,使用时工作量大,效率明 显不如网络层防火墙。

优点:

  1. 在已知安全模型中安全性高
  2. 强大的认证功能
  3. 强大的日志功能
  4. 规则创建简单

缺点:

  1. 灵活性差
  2. 配置繁琐
  3. 性能低

应用级网关电路级网关切断了数据的端到端流动

5、状态检测防火墙

状态检测防火墙工作于OSI模型的所有7个层次上,所以在理论上具有很高的安全性,但是现有的大多数状态检测防火墙只工作于网络上,因此其安全性与包过滤防火墙相当。

在所有7层上进行过滤

优点:

  1. 有更高的安全性,能够抵御协议细节攻击
  2. 没有打破客户/服务器模式
  3. 提供集成的动态包过滤功能

缺点:

  1. 单线程设计,性能不高,无法高并发
  2. 没有打破客户/服务器结构会产生不可接受的安全风险

6、切换代理

实际上是动态包过滤器和一个电路级代理的结合。

前三次握手时是电路级网关,然后再切换到动态包过滤的工作模式下。因此,切换代理首先工作于OSI的会话层,即第5层;当连接完成后,再切换到动态包过滤模式,即工作于OSI的第3层网络

7、空气隙防火墙

也称做安全网闸,在内网和外网之间实现了真正的物理隔离

网络地址转换NAT">三、网络地址转换NAT

完成IP到端口映射

NAT按照实现方式分类:静态网络地址转换,动态网络地址转换,端口地址换换

按照数据流向分类:源地址转换,目的地址转换

所有输入数据包的目的地址=所有输出数据包的源地址=路由器的外部地址


http://www.ppmy.cn/news/1557162.html

相关文章

怎么给git动图扣除背景?

环境: Wn10 专业版 python 问题描述: 怎么给git动图扣除背景? 解决方案: 要将一个 GIF 动图的尺寸改为 50x50 并且把黑色背景改成透明,您可以使用 Python 的 Pillow 库。Pillow 支持处理静态图像和动画 GIF。下面…

【考前预习】4.计算机网络—网络层

往期推荐 【考前预习】3.计算机网络—数据链路层-CSDN博客 【考前预习】2.计算机网络—物理层-CSDN博客 【考前预习】1.计算机网络概述-CSDN博客 目录 1.网络层概述 2.网络层提供的两种服务 3.分类编址的IPV4 4.无分类编址的IPV4—CIDR 5.IPV4地址应用规划 5.1使用定长子…

C++学习路程-7-C++标准库

C标准库概述 C标准库是C语言的一部分,提供了一系列的类、函数和模板,旨在简化编程过程,提高代码的可读性和可维护性。它的主要组成部分包括输入/输出库、容器库、算法库、字符串处理库、时间和日期库、多线程库和文件输入输出库等。 1. 输入…

使用ioredis在Node.js中操作Redis数据结构的详细指南

使用ioredis在Node.js中操作Redis数据结构的详细指南 一. 使用ioredis操作Redis数据结构的详细知识点讲解 在Node.js中,ioredis是一个强大且易于使用的Redis客户端库,它提供了对Redis数据库的直接操作。本文将通过一系列代码示例,详细解释如…

Flutter 多个弹窗关闭指定弹窗

前言 大家都知道Flutter的页面是堆栈式管理,通常关闭页面是最后进入的最先关闭,通过pop进行一个退栈操作。 但是我碰到一个问题,有时需要在同一页面上显示多个弹窗。如果此时需要关闭指定的某一个弹窗,那退栈操作明显不合适了&a…

网络安全防范

实践内容 学习总结 PDR,$$P^2$$DR安全模型。 防火墙(Firewall): 网络访问控制机制,布置在网际间通信的唯一通道上。 不足:无法防护内部威胁,无法阻止非网络传播形式的病毒,安全策略…

GitHub企业版:AWS CodeCommit迁移的最佳路径与技术优势

此前,亚马逊网路服务(AWS)宣布,自2024年7月25日起,AWS CodeCommit不再接受新客户。虽然现有客户可以继续使用该服务,且其安全性、可用性和性能将得到维护,但AWS将不再推出新功能或接受新用户。 …

MySQL 8.0 新特性详解

MySQL 8.0 引入了许多重要的功能和改进,这些特性显著提升了数据库的性能、可用性和开发体验。以下是 MySQL 8.0 的主要新特性及其详细解析: 降序索引支持 MySQL 8.0 支持降序索引,而之前版本即使语法支持,实际仍为升序。通过降序…