防火墙笔记
- 什么是防火墙
在计算机网络中是指设置在可信任的内部网络和不可信任的外部网络之间的屏障,通过强化边界控制保障内容安全,同时不妨碍内部对外部的访问。
20世纪80年代,最早的防火墙几乎与路由器同时出现,第一代防火墙主要基于包过滤(Packet filter)技术,是依附于路由器的包过滤功能实现的防火墙;随着网络安全重要性和性能要求的提高,防火墙渐渐发展为一个独立结构的、有专门功能的设备。
1989年,贝尔实验室最早推出了第二代防火墙,即电路层防火墙。
20世纪90年代初,开始推出第三代防火墙,即应用层防火墙(或者叫做代理防火墙)。
1992年,USC信息科学院开发出了基于动态包过滤(Dynamic packet filter)技术的,后来演变为目前所说的状态监视(Stateful inspection)技术。基于此技术,1994年,市面上出现了第四代防火墙,
1998年,NAI公司推出了一种自适应代理(Adaptive proxy)技术,并在其产品Gauntlet Firewall for NT中得以实现,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防火墙。
- 防火墙的作用
强化网络安全策略:具有不同信任的互连网络
防止网络故障蔓延
对网络访问进行监控审核和报警
提供流量控制(带宽管理)和计费
利用IPSec实现VPN
实现MAC与IP地址的绑定 - 防火墙的局限性
防火墙存在被绕过的可能
无法抵御内部威胁
不能防止对开放端口(服务)的攻击
防火墙可以阻断攻击,但无法消除攻击源
防火墙自身也可能会受到攻击 - 防火墙的种类
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 混合模式
防火墙既有 工作在路由模式的接口,也有工作在透明模式的接口。
- 防火墙的部署
根据使用场景,选择部署防火墙系统。例如,小型网络环境的路由设备或其他主机中,加入防火墙的功能,从而节省成本;大型网络系统中,有分布式防火墙和防火墙集群。
6.1 屏蔽路由器和屏蔽主机
屏蔽路由器:具有数据包过滤功能的路由器
屏蔽主机:具有数据包过滤功能的主机
二者都可以部署为简单的防火墙,通过配置完成防火墙的功能。
6.2 双穴主机或双宿主机
双穴主机:有两个网络接口的计算机系统,一个连接内网,一个连接外网。
6.3 堡垒主机
堡垒主机(Bastion Host):网络上一种配置了安全防范措施的计算机。
6.4 屏蔽子网防火墙
屏蔽子网防火墙:在被保护网络和Internet之间设置了独立的子网作为防火墙。典型例DMZ。
DMZ一般是两台防火墙之间的区域,
- 防火墙的性能指标
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 …...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...