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

news2024/12/21 6:25:34

一、防火墙概述

防火墙是一种装置,它是由软件/硬件设备组合而成,通常处于企业的内部局域网与 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

完成IP到端口映射

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2263115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口测试-Fidder及jmeter使用

一、接口测试的基础 1.接口的含义 也叫做API,是一组定义、程序及协议的集合,提供访问一组例程的能力,无需访问源码获理解内部工作细节 2.接口的分类 代码内部的接口,程序模块间的接口,对于程序接口测试,需…

postman设置cookie

postman发送请求的时候,如何顺带cookie? 示例: Cookie: locale_areazh; contryzh_cn;

Java-31 深入浅出 Spring - IoC 基础 启动IoC XML与注解结合的方式 配置改造 applicationContext.xml

点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatis&#xff…

jmeter连接mysql

查询mysql数据库版本 SELECT VERSION(); 下载jmeter mysql 驱动jar包,版本低于mysql版本,放在jmeter的lib 路径下 MySQL :: Download MySQL Connector/J (Archived Versions) 添加JDBC Connection Configuration 填写 variable name 及数据库信息 注意…

计算机网络基础(2):网络安全/ 网络通信介质

1. 网络安全威胁 网络安全:目的就是要让网络入侵者进不了网络系统,及时强行攻入网络,也拿不走信息,改不了数据,看不懂信息。 事发后能审查追踪到破坏者,让破坏者跑不掉。 网络威胁来自多方面&#xff1a…

数据分析实战—IMDB电影数据分析

1.实战内容 1.加载数据到movies_df,输出前5行,输出movies_df.info(),movies_df.describe() # (1)加载数据集,输出前5行 #导入库 import pandas as pd import numpy as np import matplotlib import matplotlib.pyplo…

windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网

一、应用场景说明 当我们的一台windows服务器中毒,变成别人肉鸡,不断向外请示非法网站或攻击其它服务器。 要彻底清除相关木马或病毒往往需要的时间比较长,比较有效的方法是禁止服务器主动向外发包除了网站端口和远程程序除外。 其实这就是一…

线性代数基础与应用:基底 (Basis) 与现金流及单期贷款模型(中英双语)

具体请参考:https://web.stanford.edu/~boyd/vmls/ 下面的例子来源于这本书。 线性代数基础与应用:基底 (Basis) 与现金流及单期贷款模型 在线性代数中,基底(Basis)是一个重要的概念,广泛应用于信号处理、…

微信小程序的消息头增加的字段不能有下滑线,字段大写字母自动转换消息字母

微信小程序的消息头增加的字段不能有下滑线,字段大写字母自动转换消息字母。这个是微信小程序的坑。 正式环境: 微信小程序的消息头增加了一个字段device_id,结果node.js打印出来的字段没有该字段。 [2024-12-20T09:45:54.476] [DEBUG] app - ctx.head…

【Java项目】基于SpringBoot的【旅游管理系统 】

【Java项目】基于SpringBoot的【旅游管理系统 】 技术简介:本系统使用JAVA语言开发,采用B/S架构、Spring Boot框架、MYSQL数据库进行开发设计。 系统简介:(1)管理员功能:可以管理个人中心、用户管理、景区分…

游戏引擎学习第55天

仓库: https://gitee.com/mrxiao_com/2d_game 介绍 今天的主题是让世界存储真正实现稀疏化,即便当前效率可能并不高。我们计划花一些时间处理这个问题,并探讨相关的成本。稀疏化世界存储是接下来的重要步骤,为此需要逐步实施。 修复 SetCa…

每日十题八股-2024年12月19日

1.Bean注入和xml注入最终得到了相同的效果,它们在底层是怎样做的? 2.Spring给我们提供了很多扩展点,这些有了解吗? 3.MVC分层介绍一下? 4.了解SpringMVC的处理流程吗? 5.Handlermapping 和 handleradapter有…

Linux限制root 用户的远程登录(安全要求)

前言:现在基本用户主机都不允许使用root来操作,所以本文通过创建新用户,并限制root用户的ssh来解决这个问题 1. 创建新账户 aingo 首先,使用 root 账户登录系统。 sudo useradd aingo设置 aingo 账户密码: sudo pa…

mysql的事务和存储引擎+备份

mysql的事务和存储引擎备份 一. mysql的事务1.1 mysgl支持事务四种隔离级别1.2 事务控制语句1.3 行锁和死锁1.3.1 行锁1.3.2 死锁1.3.3 如何避免死锁的发生 二. msyql的备份和还原以及日志管理2.1 数据库备份的分类2.2 备份策略2.2.1 物理冷备份(全量)2.…

raid 状态查看 storcli64

场景 当磁盘报错的时候使用该命令排查 fdisk -l /dev/sdb fdisk: cannot open /dev/sdb: Input/output error进一步使用 smartctl 排查 smartctl -a /dev/sdb 输出 smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-144-generic] (local build) Copyright (C) 2002-19, B…

[搜广推]王树森推荐系统——双塔模型

内容概览 矩阵补充模型 矩阵补充模型输入用户ID 和 物品ID,利用embedding把 用户ID 和 物品ID 映射成向量,输出向量的内积(一个实数),内积越大说明用户对这个物品越感兴趣 详见[搜广推]王树森推荐系统——矩阵补充&a…

96 vSystem

vSystem系统 1 技术背景 网络虚拟化旨在构建出一套与网络底层物理拓扑相互独立的逻辑网络环境,提供给不同需求的用户使用。基于这种思想,诞生出了 VLAN 技术和 VPN 技术。近年来, 随着以 VMM(Virtual Machine Monitor&#xff0c…

低代码软件搭建自学的第一天——熟悉PyQt

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 学习计划第 1 步:环境搭建1.1 安装 Python1.2 安装 PyQt安装命令:验证安装: 第 2 步:PyQt 基础知识2.1 创建第一个窗…

【mac 终端美化】oh my zsh

快捷的mac终端美化方法。 以下是效果图,比较朴素,但是相比默认方案会好看一些,也能明显查看输入的命令,不会和输出混在一起。 下载主题 访问网址:https://iterm2colorschemes.com/,下载网页的压缩包并解…

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备 一、前提条件 确保路由器硬件支持: OpenWrt 路由器需要足够的存储空间和 CPU 性能来运行 Tailscale。确保设备架构支持 Tailscale 二进制文件,例…