网络攻防技术十三:网络防火墙
文章目录
- 一、网络防火墙概述
- 1、网络型防火墙(网络防火墙)
- 2、Web应用防火墙
- 3、数据库防火墙
- 4、主机防火墙(个人防火墙)
- 5、网络防火墙的功能
- 二、防火墙工作原理
- 1、无状态包过滤防火墙
- 2、有状态包过滤防火墙(状态检测/动态包过滤防火墙)
- 3、应用防火墙
- 三、防火墙体系结构
- 1、过滤路由器或屏蔽路由器结构
- 2、双穴主机或双宿主机结构
- 3、屏蔽主机或主机过滤结构
- 4、过滤子网或屏蔽子网结构
- 四、防火墙部署方式
- 1、透明模式(桥接模式、透明桥接模式)
- 2、网关模式(路由模式)
- 3、NAT模式
- 五、防火墙评价标准
- 六、防火墙的不足与发展趋势
一、网络防火墙概述
定义:对经过的数据流进行解析并实现访问控制及安全防护功能的网络安全产品。根据安全目的、实现原理不同将防火墙分为
网络型防火墙
、Web应用防火墙
、数据库防火墙
和主机型防火墙
等。
1、网络型防火墙(网络防火墙)
部署在
内部网络和外部网络的边界位置
,有单一主机防火墙
和路由器集成防火墙
两种。保护整个内网
。
2、Web应用防火墙
部署在
Web服务器前端
,对HTTP和HTTPS访问和响应分析,,具备Web应用的访问控制及安全防护功能。保护Web应用服务器
。
3、数据库防火墙
部署在
数据库前端
,具备数据库的访问控制及安全防护功能。
4、主机防火墙(个人防火墙)
提供
网络层
访问控制,应用程序访问限制
和攻击防护
功能的网络安全产品。
5、网络防火墙的功能
网络层控制:
访问控制
(包过滤)和流量管理
(带宽管理、会话管理)。
应用层管理:用户管控
、应用类型控制
、应用内容控制
。
攻击防护:识别并阻止特定网络攻击
的流量。
安全审计、告警与统计:监视内外网
所有的通信流量。
二、防火墙工作原理
1、无状态包过滤防火墙
概念:主要在网络层和传输层起作用,过滤规则是包过滤防火墙的核心,按序排列的过滤规则构成ACL。每条过滤规则都由匹配规则和防火墙操作两部分组成。包过滤防火墙相当于一个具有包过滤功能的路由器(也称筛选路由器)
正常工作所需满足6项基本要求:
① 包过滤设备必须存储包过滤规则;
② 当包到达端口时,分析IP、TCP或UDP报文头中的字段。
③ 包过滤规则的存储顺序与应用顺序相同;
④ 如果一条规则阻止包传输,此包便被丢弃;
⑤ 如果一条规则允许包传输,此包可正常通过;
⑥ 如果一个包不满足任何一条规则,则丢弃。
缺陷:
(1)依赖于对网络层和传输层包头首部信息的判定,不对负载进行检查。
(2)规则配置较为困难。
(3)支持的规则数量有限。
(4)IP欺骗,无用户认证,攻击者可能绕过包过滤防火墙实施攻击。
2、有状态包过滤防火墙(状态检测/动态包过滤防火墙)
优点:
克服了包过滤防火墙的局限性,能够根据协议、端口及源地址、目的地址的具体情况决定数据包是否可以通过。
提升了攻击者渗透防火墙进行网络攻击的难度,其安全特性是最好的:
缺点:
很多协议没有状态信息,如UDP和ICMP。
一些协议在通信过程中会动态建立子连接传输数据,如FTP,此时防火墙必须跟踪连接信息,才能确保子连接通过防火墙。
为了建立和管理连接状态表,有状态的包过滤防火墙需要付出高昂的处理开销。
状态检测防火墙的安全特性是最好的,但其配置非常复杂,会降低网络效率。
3、应用防火墙
以
代理服务器技术
为基础,作用在应用层
,在内网主机与外网主机之间进行信息交换。
优点:
由于代理直接和应用程序交互,它可以根据应用上下文进行决策和判定,而不仅仅依据IP地址和端口号。可以做出更为准确的判定。
应用代理可以被配置来识别尝试攻击应用程序安全漏洞的恶意流量,进而保护运行了不安全应用的系统。
缺点:
对每一类应用,都需要专门的代理
。
从性能上看,应用代理往往比包过滤防火墙性能要差
。
从价格上看,应用代理服务器比相应的包过滤防火墙更加昂贵。
从配置和管理复杂性上看,要针对应用服务类型逐一进行设置,管理的复杂性较高
。
三、防火墙体系结构
1、过滤路由器或屏蔽路由器结构
优点:硬件成本低、结构简单、易于部署
缺点:
(1)没有或有很简单的日志记录功能
(2)规则表随着应用的扩展会变得很大、复杂
(3)依靠一个单一的部件来保护网络系统
2、双穴主机或双宿主机结构
定义:用一台装有两块网卡的堡垒主机(称为双穴主机或双宿主主机)做防火墙。
优点:
双宿主主机网关优于屏蔽路由器的地方是堡垒主机的系统软件可用于维护系统日志、硬件拷贝日志或远程日志。
缺点:
一旦入侵者侵入堡垒主机并使其只具有路由功能(转发内外网数据包),则任何网上用户均可以随便访问内部网络
3、屏蔽主机或主机过滤结构
定义:一个包过滤路由器(或称为屏蔽路由器)连接外部网络,再通过一个堡垒主机与内部网络相连,通常在路由器上设立过滤规则,并使这个堡垒主机成为从外部网络惟一可直接到达的主机,确保内部网络不受未被授权的外部用户的攻击。
优点:
如果受保护网络是一个虚拟扩展的本地网,即没有子网和路由器,那么内网的变化不影响堡垒主机和屏蔽路由器的配置。
危险区域只限制在堡垒主机和屏蔽路由器。
缺点:
堡垒主机与其他主机在同一个子网,一旦包过滤路由器被攻破,整个内网和堡垒主机之间就再也没有任何阻挡。
一旦入侵者侵入堡垒主机并使其只具有路由功能,则任何网上用户均可以随便访问内部网络(与双穴主机结构弱点一样)。
4、过滤子网或屏蔽子网结构
定义:在外界网络和内部网络之间建立一 个双方都可以访问的独立的子网络,用两 台包过滤路由器将这一子网分别与内部网 络和外部网络分开。
优点:增加了外网攻击者实施攻击的难度,安全性高
缺点:管理和配置较为复杂,只有在两台包过滤防火墙和一台堡垒主机都配置完善的条件下,才能充分发挥安全防护的作用
四、防火墙部署方式
1、透明模式(桥接模式、透明桥接模式)
当防火墙处于“
透明
”模式时,防火墙只过滤
通过的数据包,但不会修改
数据包包头中的任何信息,适用于原网络中已部署好的路由器和交换机。
透明模式的防火墙部署在原有网络的路由器和交换机之间,或者部署在互联网和路由器之间,内网通过原有的路由器上网。
优点:
(1)无须改变原有网络规划和配置。
(2)当网络进行扩容时也无须重新规划网络地址。
缺点:
(1)灵活性不足,无法实现更多的功能,如路由、网络地址抓换等
2、网关模式(路由模式)
定义:防火墙所有网络接口都 处于不同的子网中,不仅要过滤通过的数据包 ,还需根据数据包中的IP地址执行路由功能。防火墙在不同安全区(可信区/不可信区/DMZ区) 间转发数据包时,一般不会改变IP包头中的源地 址和端口号(除非明确采用了NAT)
适用于内外网不在同一网段的情况, 防火墙一般部署在
内网
设置网关地址实现路 由器的功能,为不同网段进行路由转发。
优点:
(1)具备更高的安全性,在进行访问控制的同时实现了安全隔离,具备了一定的机密性。
3、NAT模式
不仅对通过的数据包进行
安全检查
,还需执行网络地址转换
。
NAT模式可以适用于所有网络环境,为被保护网络提供的安全保障能力也最强。
五、防火墙评价标准
性能指标
(1)连接速率:建立连接的速率
(2)并发连接数:反映防火墙对多个连接的访问控制能力和连接状态跟踪能力
(3)吞吐量:指在保证不丢失数据帧的情况下,设备能够达到的最大数据帧转发速率延迟。高性能的万兆产品,吞吐量至少达到80Gbit/s
(4)丢包率:指在网络状态稳定的情况下,应当被转发但由于防火墙设备缺少资源而没有转发、被防火墙丢弃的数据包在全部发送数据包中所占的比例。
(5)应用识别与分析能力:能够劫持多少种网络应用,其次是应用识别和控制的精细度.
(6)背靠背缓冲:指防火墙接收到以最小数据帧间隔传输的数据帧时,在不丢弃数据的情况下,能够处理的最大数据帧数目。体现了防火墙的缓冲容量。
(7)最大TCP连接建立速率:在所有TCP连接成功建立的前提下,防火墙能够达到的最大连接建立速率。
其他指标
防火墙产品的功能:可管理性:安全性能(防火墙自身的安全性主要体现在自身设计和管理两个方面。)
六、防火墙的不足与发展趋势
不足之处:
(1)防火墙的防护并不全面
(2)防火墙发挥的安全防护作用在很大程度上取决于防火墙配置是否正确、完善。
(3)防火墙不能防止病毒、木马等恶意代码的网络传输
(4)网络带宽化的进程加速,防火墙的处理能力难以与之适应
(5)防火墙不能防止内网用户的主动泄密
(6)一些利用系统漏洞或者网络协议漏洞进行的攻击,防火墙难以防范,同时防火墙本身也可能存在漏洞
未来防火墙技术的发展趋势:智能化、高性能、并行体系结构、多功能、专业化、防病毒、IPv6网络需求。
相关文章:

网络攻防技术十三:网络防火墙
文章目录 一、网络防火墙概述1、网络型防火墙(网络防火墙)2、Web应用防火墙3、数据库防火墙4、主机防火墙(个人防火墙)5、网络防火墙的功能 二、防火墙工作原理1、无状态包过滤防火墙2、有状态包过滤防火墙(状态检测/动…...

Express 集成Sequelize+Sqlite3 默认开启WAL 进程间通信 Conf 打包成可执行 exe 文件
代码:express-exe: 将Express开发的js打包成exe服务丢给客户端使用 实现目标 Express 集成 Sequelize 操作 Sqlite3 数据库; 启动 Sqlite3 时默认开启 WAL 模式,避免读写互锁,支持并发读; 利用 Conf 实现主进程与 Ex…...
CppCon 2015 学习:A C++14 Approach to Dates and Times
Big Picture — 日期库简介 扩展 标准库 这个库是对 C 标准库中 <chrono> 的自然延伸,专注于处理“日历”相关的功能(比如年月日、闰年、节假日等),而不仅仅是时间点和时长。极简设计 它是**单头文件(header-on…...
基于CNN的OFDM-IM信号检测系统设计与实现
基于CNN的OFDM-IM信号检测系统设计与实现 摘要 本文详细研究了基于卷积神经网络(CNN)的正交频分复用索引调制(OFDM-IM)信号检测方法。通过在不同信噪比(SNR)和信道条件下进行系统仿真,对比分析了CNN检测器与传统最大似然(ML)检测器的误码率(BER)性能和计算复杂度。实验结果表…...
macos常见且应该避免被覆盖的系统环境变量(避免用 USERNAME 作为你的自定义变量名)
文章目录 macos避免用 USERNAME 作为你的自定义变量名macos常见且应该避免被覆盖的系统环境变量 macos避免用 USERNAME 作为你的自定义变量名 问题: 你执行了:export USERNAME“admin” 然后执行:echo ${USERNAME} 输出却是:xxx …...

2024年认证杯SPSSPRO杯数学建模D题(第二阶段)AI绘画带来的挑战解题全过程文档及程序
2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现: 2023 年开年,ChatGPT 作为一款聊天型AI工具,成为了超越疫情的热门词条;而在AI的另一个分支——绘图领域,一款名为Midjourney(MJÿ…...
深入理解CSS常规流布局
引言 在网页设计中,理解元素如何排列和相互作用至关重要。CSS提供了三种主要的布局方式:常规流、浮动和定位。本文将重点探讨最基础也是最常用的常规流布局(Normal Flow),帮助开发者掌握页面布局的核心机制。 什么是…...

DOCKER使用记录
1、拉取镜像 直接使用docker pull <image>,大概率会出现下面的报错信息: (base) jetsonyahboom:~$ docker pull ubuntu:18.04 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while …...
MYSQL中常见的函数和使用
字符串函数 CONCAT(str1,str2,...,strN) :用于将多个字符串连接成一个字符串。例如,SELECT CONCAT(SQL, , 函数) ,结果为 “SQL 函数”。 LOWER(str) :将字符串中的所有字母转换为小写。例如,SELECT LOWER(MySQL Fun…...

【深度学习相关安装及配环境】Anaconda搭建虚拟环境并安装CUDA、cuDVV和对应版本的Pytorch,并在jupyter notebook上部署
目录 1. 查看自己电脑的cuda版本2.安装cuda关于环境变量的配置测试一下,安装完成 3.安装cuDVV环境变量的配置测试一下,安装完成 4.创建虚拟环境先安装镜像源下载3.11版本py 5.在虚拟环境下,下载pytorch6.验证是否安装成功7.在jupyter noteboo…...

web3-区块链基础:从区块添加机制到哈希加密与默克尔树结构
区块链基础:从区块添加机制到哈希加密与默克尔树结构 什么是区块链 抽象的回答: 区块链提供了一种让多个参与方在没有一个唯一可信方的情况下达成合作 若有可信第三方 > 不需要区块链 [金融系统中常常没有可信的参与方] 像股票市场,或者一个国家的…...

TCP小结
1. 核心特性 面向连接:通过三次握手建立连接,四次挥手终止连接,确保通信双方状态同步。 TCP连接建立的3次握手 抓包: client发出连接请求; server回应client请求,并且同步发送syn连接; clien…...
django ssh登录 并执行命令
在Django开发环境中,通常不推荐直接通过SSH登录到服务器并执行命令,因为这违背了Django的架构设计原则,即前端与后端分离。Django主要负责处理Web请求、逻辑处理和数据库交互,而不直接执行系统级命令。然而,在某些情况…...
unix/linux,sudo,其高级使用
掌握了sudo的基石,现在是时候向更高阶的技巧和应用进发了!sudo的强大远不止于简单的sudo <command>。它的高级用法能让你在复杂的系统管理和安全场景中游刃有余,如同经验丰富的物理学家巧妙运用各种定律解决棘手问题。 sudo 的高级使用技巧与场景 精细化命令控制与参…...

Python 打包指南:setup.py 与 pyproject.toml 的全面对比与实战
在 Python 开发中,创建可安装的包是分享代码的重要方式。本文将深入解析两种主流打包方法——setup.py 和 pyproject.toml,并通过一个实际项目示例,展示如何使用现代的 pyproject.toml 方法构建、测试和发布 Python 包。 一、setup.py 与 pyp…...
计算机视觉与深度学习 | 基于OpenCV的实时睡意检测系统
基于OpenCV的实时睡意检测系统 下面是一个完整的基于OpenCV的睡意检测系统实现,该系统使用眼睛纵横比(EAR)算法检测用户是否疲劳或瞌睡。 import cv2 import numpy as np import dlib from scipy.spatial import distance as dist import pygame import time# 初始化pygame用…...
python打卡day44@浙大疏锦行
知识点回顾: 预训练的概念常见的分类预训练模型图像预训练模型的发展史预训练的策略预训练代码实战:resnet18 作业: 尝试在cifar10对比如下其他的预训练模型,观察差异,尽可能和他人选择的不同尝试通过ctrl进入resnet的…...

性能优化 - 案例篇:缓存_Guava#LoadingCache设计
文章目录 Pre引言1. 缓存基本概念2. Guava 的 LoadingCache2.1 引入依赖与初始化2.2 手动 put 与自动加载(CacheLoader)2.2.1 示例代码 2.3 缓存移除与监听(invalidate removalListener) 3. 缓存回收策略3.1 基于容量的回收&…...
NiceGUI 是一个基于 Python 的现代 Web 应用框架
NiceGUI 是一个基于 Python 的现代 Web 应用框架,它允许开发者直接使用 Python 构建交互式 Web 界面,而无需编写前端代码。以下是 NiceGUI 的主要功能和特点: 核心功能 1.简单易用的 UI 组件 提供按钮、文本框、下拉菜单、滑块、图表等常见…...
生动形象理解CNN
好的!我们把卷积神经网络(CNN)想象成一个专门识别图像的“侦探小队”,用破案过程来生动解释它的工作原理: 🕵️♂️ 案件:识别一张“猫片” 侦探小队(CNN)的破案流程&am…...

python入门(1)
第一章 第一个python程序 1.1 print函数 print方法的作用 : 把想要输出的内容打印在屏幕上 print("Hello World") 1.2 输出中文 在Python 2.x版本中,默认的编码方式是ASCII编码方式,如果程序中用到了中文,直接输出结果很可能会…...

【PDF提取表格】如何提取发票内容文字并导出到Excel表格,并将发票用发票号改名,基于pdf电子发票的应用实现
应用场景 该应用主要用于企业财务部门或个人处理大量电子发票,实现以下功能: 自动从 PDF 电子发票中提取关键信息(如发票号码、日期、金额、销售方等)将提取的信息整理并导出到 Excel 表格,方便进行财务统计和报销使…...

Hugging Face 最新开源 SmolVLA 小模型入门教程(一)
系列文章目录 目录 系列文章目录 前言 一、引言 二、认识 SmolVLA! 三、如何使用SmolVLA? 3.1 安装 3.2 微调预训练模型 3.3 从头开始训练 四、方法 五、主要架构 5.1 视觉语言模型(VLM) 5.2 动作专家:流匹…...

封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发
封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发 零一 vscode1.1 下载 vscode1.2 下载插件1.3 安装 二 anaconda 32.1 下载2.2 新建虚拟环境1 新建快捷方式,启动base2 新建虚拟环境 3 配置Qt designer3.1 designer.exe和uic.exe3.2 设置插件,3.4 ui文件转为py文件 4使用4.1 …...

大话软工笔记—组合要素2之逻辑
1. 逻辑的概念 逻辑,指的是思维的规律和规则,是对思维过程的抽象。 结合逻辑的一般定义以及信息系统的设计方法,对逻辑的概念进行抽提、定义为三个核心内涵,即:规律、顺序、规则。 (1)规律&a…...
浅谈边缘计算
(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮࿰…...
宝塔专属清理区域,宝塔清理MySQL日志(高效释放空间)
1. 删除超过 365 天的积分变更记录 宝塔面板 → 数据库 → 选择数据库 → 点击 管理 进入 phpMyAdmin 后: 选择在用的数据库名 看到顶部的 SQL 点击 输入命令 然后点击执行 DELETE FROM pre_common_credit_log WHERE dateline < UNIX_TIMESTAMP(DATE_SUB(NO…...

7.Demo Js执行同步任务,微任务,宏任务的顺序(3)
一个包含 同步任务、微任务(Promise)、宏任务(setTimeout) 的例子,JS 是怎么调度这些任务的。 🎯 例子代码(建议复制到浏览器控制台运行) console.log(‘同步任务 1’); setTimeo…...

边缘计算网关赋能沸石转轮运行故障智能诊断的配置实例
一、项目背景 在环保行业,随着国家对大气污染治理要求的不断提高,VOCs废气处理成为了众多企业的重要任务。沸石转轮作为一种高效的VOCs治理设备,被广泛应用于石油化工、汽车制造、印刷包装等主流行业。这些行业生产规模大、废气排放量多&…...
机器学习之深入理解机器学习常见算法:原理、公式与应用
机器学习之深入理解机器学习常见算法:原理、公式与应用 机器学习是一门让计算机自动从数据中学习规律的技术体系。常见的机器学习算法可以分为监督学习、无监督学习和深度学习三大类。本文将系统介绍每类中具有代表性的算法,并深入剖析其核心原理与数学基础。 一、监督学习(…...