当前位置: 首页 > news >正文

防火墙笔记

  1. 什么是防火墙
    在计算机网络中是指设置在可信任的内部网络和不可信任的外部网络之间的屏障,通过强化边界控制保障内容安全,同时不妨碍内部对外部的访问。

20世纪80年代,最早的防火墙几乎与路由器同时出现,第一代防火墙主要基于包过滤(Packet filter)技术,是依附于路由器的包过滤功能实现的防火墙;随着网络安全重要性和性能要求的提高,防火墙渐渐发展为一个独立结构的、有专门功能的设备。

1989年,贝尔实验室最早推出了第二代防火墙,即电路层防火墙。

20世纪90年代初,开始推出第三代防火墙,即应用层防火墙(或者叫做代理防火墙)。

1992年,USC信息科学院开发出了基于动态包过滤(Dynamic packet filter)技术的,后来演变为目前所说的状态监视(Stateful inspection)技术。基于此技术,1994年,市面上出现了第四代防火墙,

1998年,NAI公司推出了一种自适应代理(Adaptive proxy)技术,并在其产品Gauntlet Firewall for NT中得以实现,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防火墙。

  1. 防火墙的作用
    强化网络安全策略:具有不同信任的互连网络
    防止网络故障蔓延
    对网络访问进行监控审核和报警
    提供流量控制(带宽管理)和计费
    利用IPSec实现VPN
    实现MAC与IP地址的绑定
  2. 防火墙的局限性
    防火墙存在被绕过的可能
    无法抵御内部威胁
    不能防止对开放端口(服务)的攻击
    防火墙可以阻断攻击,但无法消除攻击源
    防火墙自身也可能会受到攻击
  3. 防火墙的种类
    4.1 技术原理区分
    4.1.1 包过滤型防火墙
    最简单最快的防火墙,也是任何防火墙系统的基础。它可以检查的每个IP数据包,按过滤规则 允许或拒绝。

能够查看的信息包括:

源IP,目的IP
TCP/UDP 端口号
承载协议
即网络层和传输层的数据报文。

可能受到的攻击:

​ IP地址欺骗:信任一个假地址

4.1.2 代理防火墙
整个网络环境中,充当一个代理的角色。

工作过程:

用户的请求发送给代理防火墙。
代理防火墙验证请求为合法后,向网络应用服务器发送请求。
网络应用服务器处理后,将响应信息返回给代理防火墙,再发送给用户。
4.1.3 状态检测防火墙
状态检测型防火墙扩展了包过滤防火墙,跟踪每个TCP连接的状态,将属于同一个连接的所有包作为一个整体的数据流看待。

即 隶属于同一个会话的数据包,会更快流过设备,而不是每次都匹配过滤规则。

相比较包过滤防火墙,降低传输时间,提高处理效率。

4.1.4 地址转换防火墙
附有网络地址转换(NAT)功能的防火墙,或网络地址端口转换(NAPT)。

4.2 实现形态区分
4.2.1 软件防火墙
4.2.2 硬件防火墙
4.3 部署位置区分
4.3.1 边界防火墙
4.3.2 个人防火墙
4.3.3 混合防火墙
5. 防火墙的工作模式
三种工作模式:

5.1 路由模式
防火墙以第三层对外连接(接口具有IP地址)

5.2 透明模式
防火墙以第二层对外连接(接口无IP地址)

5.3 混合模式
防火墙既有 工作在路由模式的接口,也有工作在透明模式的接口。

  1. 防火墙的部署
    根据使用场景,选择部署防火墙系统。例如,小型网络环境的路由设备或其他主机中,加入防火墙的功能,从而节省成本;大型网络系统中,有分布式防火墙和防火墙集群。

6.1 屏蔽路由器和屏蔽主机
屏蔽路由器:具有数据包过滤功能的路由器
屏蔽主机:具有数据包过滤功能的主机
二者都可以部署为简单的防火墙,通过配置完成防火墙的功能。

6.2 双穴主机或双宿主机
双穴主机:有两个网络接口的计算机系统,一个连接内网,一个连接外网。
6.3 堡垒主机
堡垒主机(Bastion Host):网络上一种配置了安全防范措施的计算机。

6.4 屏蔽子网防火墙
屏蔽子网防火墙:在被保护网络和Internet之间设置了独立的子网作为防火墙。典型例DMZ。

DMZ一般是两台防火墙之间的区域,

  1. 防火墙的性能指标
    7.1 指标量
    吞吐量:不丢包的情况下能够达到的最大速率。影响网络性能的重要指标之一。
    延时:防火墙设备处理数据包的速度,从接受bit流到输出bit流的时间段。影响网络性能的重要指标之一。
    丢包率:在连续负载的情况下,由于防火墙设备资源不足导致数据包丢失的百分比。影响稳定性可靠性。
    背靠背:体现防火墙对突发数据的处理能力。
    最大并发连接数
    最大并发连接建立速率
    最大策略数
    平均无故障间隔时间
    支持的最大用户数

相关文章:

防火墙笔记

什么是防火墙 在计算机网络中是指设置在可信任的内部网络和不可信任的外部网络之间的屏障,通过强化边界控制保障内容安全,同时不妨碍内部对外部的访问。 20世纪80年代,最早的防火墙几乎与路由器同时出现,第一代防火墙主要基于包过…...

使用代码下载开源的大模型文件示例以及中文微调llama资源汇总:

一、下载示例 from huggingface_hub import snapshot_downloadrepo_id "THUDM/chatglm2-6b" local_dir ./chatglm2-6b/ cache_dir local_dir "/cache" while True:try:snapshot_download(cache_dircache_dir,local_dirlocal_dir,repo_idrepo_id,loca…...

Wav2vec2 论文阅读看到的一些问题

Wav2vec2 论文阅读看到的一些问题 这里只是简单的思考一下论文的一些问题,不是论文解读。 Q1. 为什么wav2vec依旧需要Transformer来做推理,而不直接使用VQ生成的内容? A1. Transformer在更长的序列上有更好的编码效果,例如论文也写…...

爬虫学习记录(持续更新)

一、问题记录 1.使用webdriver报错AttributeError: str object has no attribute capabilities 解决:目前使用的selenium版本是4.11.2,可以不必设置driver.exe的路径,selenium可以自己处理浏览器和驱动程序,因此,使用…...

libevent源码学习1---创建event

libevent源码学习1—创建event Libevent是一个用于开发可扩展性网络服务器的基于事件驱动(event-driven)模型的非阻塞网络库。安装请参考ubuntu下载安装libevent event_base 使用 libevent 函数之前需要分配一个或者多个 event_base 结构体。每个 event_base 结构体持有一个…...

Python类的设计

Python类的设计 # 定义一个闹钟类 class Clock:__cureen_keyNone # 私有成员不能改变和使用def __init__(self, id, price): # 类对象是立即自动执行self.id idself.price pricedef ring(self):import winsound # 内置声音方法winsound.Beep(2000,3000)clock1 Clock(…...

微信小程序的项目解构

视频链接 黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)_哔哩哔哩_bilibili 接口文档 https://www.escook.cn/docs-uni-shop/mds/1.start.html 1:微信小程序宿主环境 1:常见的宿…...

【Archaius技术专题】「Netflix原生态」动态化配置服务之微服务配置组件变色龙

前提介绍 如果要设计开发一套微服务基础架构,参数化配置是一个非常重要的点,而Netflix也开源了一个叫变色龙Archaius的配置中心客户端,而且Archaius可以说是比其他客户端具备更多生产级特性,也更灵活。*在NetflixOSS微服务技术栈…...

python条件分支和循环语句

python中没有{}的写法,一般时通过缩进的方式来确定分支和循环需要执行的代码块。 if 需要判断的条件表达式:条件成立时的动作 elif 需要判断的条件表达式:条件成立时的动作 else:动作for 变量 in 迭代对象:动作 示例: while 退出条件:动作...

工具推荐:Wireshark网络协议分析工具(对比tcpdump)

文章首发地址 Wireshark是一款开源的网络协议分析工具,可以捕获网络数据包并对其进行详细的分析和解释。下面是Wireshark的详细介绍: Wireshark 工作原理 Wireshark通过捕获网络接口上的数据包,将其转换为可读的格式,并在界面…...

[OnWork.Tools]系列 04-快捷启动

简介 主要功能是将常用的软件拖动到软件中,实现快速点击启动,结合软件设置中的设置的快捷键,可以快速呼出对应的面板,使用快捷键快速启动应用 拖拽内容 拖拽快捷方式到面板,双击快速打开 拖拽文件方式到面板,双击快速打开 拖拽文件夹到面板双击快速打开 拖拽项目调整顺序 右…...

如何将项目挂后台运行?【nohup和tmux】

挂后台运行,防止霸屏。 线上的程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息。 一.nohup--挂后台运行的命令 //nohup--英文全称no hang up,可以后台运行指定命令 //hello.log是指将日志输出到hello.log文件 …...

什么是进程、线程、协程

什么是进程? 我们都知道计算机的核心是CPU,它承担了所有的计算任务;而操作系统是计算机的管理者,它负责任务的调度、资源的分配和管理,统领整个计算机硬件;应用程序则是具有某种功能的程序,程序…...

Python爬虫——selenium_访问元素信息

from selenium import webdriver# 创建浏览器对象 path files/chromedriver.exe browser webdriver.Chrome(path)# 访问地址 url https://www.baidu.com browser.get(url)input browser.find_element_by_id(su)获取元素属性 .get_attribute(class)print(input.get_attribu…...

Linux 文件基本属性

Linux 文件基本属性 Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。 为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在 Linux 中我…...

CSS 盒模型是什么?它包含哪些属性?标准盒模型/怪异盒模型

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 盒模型⭐ 标准盒模型⭐ 怪异盒模型⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感…...

VB+SQL光盘信息管理系统设计与实现

摘 要 我的毕业设计课题为“光盘管理系统”,该系统完成光盘相关信息的输入、保存和维护、是按照方便用户、容易操作、确保数据一致完整的原则进行设计。这次毕业设计的开发工具是Visual Basic 6.0,操作平台是Windows2000 Professional中文版,选用的数据库后台是SQL server2…...

MySQL5.7数据库、Navicat Premium1.6可视化工具安装教程【详细教程】

文章目录 一、MySQL、Navicat、注册机地址二、安装(一)、MySQL安装(二)、Navicat Premium安装(三)、集活Navicat Premium 三、遇到的问题1、Are you sure your navicat has not beenpatched/modified befor…...

JVM 调优实例

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ JVM提供了多种垃圾回收器,可以根据应用程序的需求选择最适合的垃圾回收器。例如,如果应用程序需要更快的响应时间,可以选择并行垃圾回收…...

Python numpy中的correlate相关性详解

看代码看见这个方法,记录一下,这个是人家官网的链接np.correlate 云里雾里的,其实就是两个数组点乘,不同模式就是错位点乘,直接看代码 a是原本的数组,v就是滤波器,对应相乘 import numpy as …...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

django filter 统计数量 按属性去重

在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

基于Springboot+Vue的办公管理系统

角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...