当前位置: 首页 > 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 …...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...