防火墙基本原理详解

df4ba34f9c084dbc96271743f116ef6b.jpg


 概要

 

防火墙是可信和不可信网络之间的一道屏障,通常用在LAN和WAN之间。它通常放置在转发路径中,目的是让所有数据包都必须由防火墙检查,然后根据策略来决定是丢弃或允许这些数据包通过。例如:

b57b86bfaa8d4667acd7edf16b33f3e8.png

 如上图,LAN有一台主机和一台交换机SW1。在右侧,有一台路由器R1连接到运营商的路由器ISP1。防火墙位于两者之间,这样就可以保证LAN的安全。路由器是可选的,主要是取决于所连的WAN。例如,如果您的 ISP 提供电缆,那么您可能有一个带有以太网连接的电缆调制解调器,也可以直接连接到您的防火墙。当它是无线连接时,您可能需要那里的路由器进行连接。如果您需要配置(高级)路由,如 BGP,您就需要路由器。大多数防火墙支持一些基本路由选项:静态路由、默认路由,有时还支持 RIP、OSPF 或 EIGRP 等路由协议。

我们在这里谈论硬件防火墙。还有软件防火墙,例如 Microsoft Windows 预装的防火墙。它具有与我们的硬件防火墙类似的功能。

 

1、状态过滤

防火墙,如路由器,可以使用访问控制列表来检查源、目地址/端口号。然而,大多数路由器不会在过滤上花太多时间……当它们收到数据包时,就检查数据包的源目信息是否与访问控制列表中的条目匹配,如果匹配,它们会允许或丢弃该数据包。无论他们收到一个数据包还是数千个数据包,每个数据包都会单独处理,不进行跟踪之前是否检查过的数据包,这称为无状态过滤。

与之相反的就是,有状态过滤。防火墙会跟踪所有入向和出向的连接。例如:

  • 局域网里有台电脑,作为邮箱客户端,通过互联网去访问邮箱服务器,邮箱客户端起初会进行TCP三次握手,经过防火墙,就知道它们的源目信息,防火墙会跟踪这些信息,当邮箱服务器要进行响应客户端的请求时,防火墙就会自动允许这部分的流量通过防火墙,最终到达客户端。

  • 一个 Web 服务器位于防火墙后面,它是一个繁忙的服务器,平均每秒从不同的 IP 地址接受 20 个新的 TCP 连接。防火墙会跟踪所有连接,一旦发现每秒请求超过 10 个新 TCP 连接的源 IP 地址,它将丢弃来自该源 IP 地址的所有流量,防止 DoS(拒绝服务)。

 

2、数据包检测

大多数防火墙支持进行数据包(深度)检查。简单的访问控制列表仅能检查源、目标地址/端口,即 OSI 模型的第 3 层和第 4 层。数据包深度检查意味着防火墙可以检查 OSI 模型的第 7 层。这就意味着防火墙查看应用程序数据甚至负载:

f9f427e4e48240789ed478a8f1db813f.png上面你看到网络(IP)和传输层(TCP)被标记为红色,应用层被标记为绿色。这个示例是来自捕获web浏览器请求页面的数据包。

 

3、安全区

默认情况下,Cisco 路由器将允许并转发它们收到的所有数据包,前提是需要匹配它们的路由表中的路由。如果你想进行限制,你必须配置一些ACL。如果设备有很多接口或很多条ACL需要配置,这会成为网工的噩梦。这是一个例子:

074be27a56d94aa58e412c62e6fd38fb.png

 上面的路由器有两个入站方向ACL来阻止来自主机的一些流量。此外,还有两个ACL,来防止来自 Internet 的流量进入我们的网络。我们还可以复用一些ACL,但记得将ACL应用到四个接口。

接下来有个更好的解决方案,防火墙可以结合安全区域来工作。这是一个例子:

967607da28e2453b9d32304edf03c6a9.png上面我们有两个安全区域:

  • inside:这是LAN区域。

  • outside:这是WAN区域        接口已分配到正确的安全区域。这些区域有两个简单的规则:

  • 允许从“高”安全级域到“低”安全级别的流量。

  • 拒绝从“低”安全级别到“高”安全级别的流量。

LAN是我们信任的网络,所以具有很高的安全级别。WAN 不受信任,因此它的安全级别较低。这意味着来自从LAN去往WAN的流量将被允许。从 WAN 到 LAN 的流量将被拒绝。由于防火墙是有状态的,它会跟踪传出连接并允许其返回的流量。

如果您想例外,也可以允许从 WAN 到 LAN 的流量,这就需要通过访问控制列表来完成了。

大多数公司将拥有一台或多台服务器,这些服务器大部分是需要从 Internet来访问。如邮件服务器。为了安全,我们没有将它们放在内部(LAN),而是放在称为DMZ(非军事区)的第三个区域。看看下面的图片:

36fad66ac14f4e6398cac5574779db85.pngDMZ 安全区域的安全级别介于 INSIDE 和 OUTSIDE 之间。这意味着:

  • 允许从 INSIDE 到 OUTSIDE 的流量。

  • 允许从 INSIDE 到 DMZ 的流量。

  • 允许从 DMZ 到 OUTSIDE 的流量。

  • 从 DMZ 到 INSIDE 的流量被拒绝。

  • 从外部到 DMZ 的流量被拒绝。

  • 从外部到内部的流量被拒绝。

为确保来自 OUTSIDE 的流量能够到达 DMZ 中的服务器,我们将使用一个访问列表,该列表只允许流量流向 DMZ 中服务器使用的 IP 地址(和端口号)。此设置非常安全,如果您在 DMZ 中的其中一台服务器遭到黑客攻击,您的 INSIDE 网络仍然是安全的。

 

4、总结

您现在已经了解了防火墙的基础知识。防火墙使用状态过滤来跟踪所有入站和出站连接。他们还能够(主要看防火墙型号)检查 OSI 模型的第 7 层、应用程序的有效负载。

防火墙还使用安全区域,允许来自高安全级别的流量进入较低安全级别。从低安全级别到高安全级别的流量将被拒绝,可以使用访问控制列表进行特例处理。

 

欢迎转发点赞收藏,感谢🙏

---END---

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【macOS 系列】如何在mac 邮件客户端配置QQ邮箱和第二个账号

文章目录 一、配置QQ邮箱二、添加新的账户 一、配置QQ邮箱 需要在QQ邮箱账户设置中开启: 开启时,会让你发短信到指定号码,然后就会弹出一个验证码 也就是添加邮箱的密码不是QQ密码,而是这个验证码,这个可以生成多个&…

【OpenGL】读取视频并渲染

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍读取视频并渲染。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#…

ELK实验部署过程

ELK集群部署环境准备 配置ELK日志分析系统 192.168.1.51 elk-node1 es、logstash、kibana 192.168.1.52 elk-node2 es、logstash 192.168.1.53 apache logstash (我这里是把虚拟机的配置全部都改为2核3G的) 2台linux 第1台:elk-nod…

【数据库原理】MyShop 商城数据库设计(SQL server)

MyShop 商城数据库设计 项目背景定义课程设计要求概念结构设计逻辑结构设计数据结构的描述用户信息数据结构的描述地址信息数据结构的描述商品类别数据结构的描述商品数据结构的描述购物车数据结构的描述订单数据结构的描述订单项数据结构的描述 物理结构设计用户表结构地址表结…

STM32——GPIO配置

文章目录 一、GPIO八种模式1. 输入2. 输出3. 如何选择GPIO的模式 二、库函数GPIO配置1. 配置代码2.参数设置 一、GPIO八种模式 GPIO的输入输出是对于STM32单片机来说的。以下仅为个人粗略笔记,内部电路分析可参考博客https://blog.csdn.net/k666499436/article/det…

计算机网络_ 1.3 网络核心(数据交换_电路交换_多路复用)

计算机网络_数据交换_电路交换_多路复用 多路复用频分多路复用FDM时分多路复用TDM波分多路复用WDM码分多路复用CDM 多路复用 多路复用(Multiplexing),简称复用,是通信技术的基本概念。 链路/网络资源(如带宽&#x…

【K8S系列】如何高效查看 k8s日志

序言 你只管努力,其他交给时间,时间会证明一切。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点 Kubernetes (k8s) 是一个容器编排平台&#x…

docker安装失败 应用程序无法启动,因为应用程序的并行配置不正确

问题描述 报错“应用程序无法启动,因为应用程序的并行配置不正确”。 配置:windows10 解决过程 网上的解决方案有三种: 启动windows服务Windows Modules Installer。运行sxstrace.exe。安装visual c相关依赖。下载visual studio installer…

1.6 OSI 七层参考模型

OSI 参考模型 OSI参考模型解释的通信过程OSI参考模型数据封装与通信过程物理层功能数据链路层功能网络层的功能传输层功能会话层功能表示层功能应用层功能 开放系统互连 (OSI)参考模型是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型目的是支持异构网络系统的互联…

Selenium--做任何你想做的事情

大家好,今天为大家介绍Selenium自动化浏览器。就是这样!你可以通过这种力量做任何你想做的事情。 “getDevTools() 方法返回新的 Chrome DevTools 对象,允许您使用 send() 方法发送针对 CDP 的内置 Selenium 命令。这些命令是包装方法&#x…

k8s Label 2

在 k8s 中,我们会轻轻松松的部署几十上百个微服务,这些微服务的版本,副本数的不同进而会带出更多的 pod 这么多的 pod ,如何才能高效的将他们组织起来的,如果组织不好便会让管理微服务变得混乱不堪,杂乱无…

C#(四十九)之关于string的一些函数

1&#xff1a;startswith 字符串以。。。开头 // startswith 字符串以。。。开头string[] strArr { "asd","azx","qwe","aser","asdfgh"};for (int i 0; i < strArr.Length; i){if(strArr[i].StartsWith("as&qu…

LiangGaRy-学习笔记-Day28

1、回顾知识 1.1、docker启动MySQL 安装docker #准备好二进制的包 [rootNode2 ~]# ls docker-20.10.9.tgz docker-20.10.9.tgz [rootNode2 ~]# #解压docker的二进制包 [rootNode2 ~]# tar -xf docker-20.10.9.tgz #把它移动到/usr/local/下 [rootNode2 ~]# mv docker /usr/…

logback-spring.xml详解

本文来写说下logback-spring.xml相关的知识与概念 文章目录 概述configuration元素定义上下文名称定义变量appender组件RollingFileAppender配置logger配置root配置ELK的配置输出logback状态数据异步输出日志代码中的日志格式本文小结 概述 对于xml日志文件的配置&#xff0c;大…

语义分割大模型RSPrompter论文阅读

论文链接 RSPrompter: Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model 开源代码链接 RSPrompter 论文阅读 摘要 Abstract—Leveraging vast training data (SA-1B), the foundation Segment Anything Model (SAM) propo…

遗传算法(GA)优化后RBF神经网络优化分析(Matlab代码实现)

目录 1 遗传算法 2 RBF神经网络 3 Matlab代码实现 4 结果 1 遗传算法 遗传算法是一种模拟自然界进化过程的优化算法。它通过模拟生物进化的遗传、交叉和变异等过程&#xff0c;来搜索最优解或近似最优解。 遗传算法的基本步骤如下&#xff1a; 初始化种群&#xff1a;随机生成…

SPSS读取纯文本文件

纯文本文件是通用的一种格式文件&#xff0c;根据纯文本文件中数据的排序方式&#xff0c;可以将其分为自由格式和固定格式。自由格式文本文件的数据项之间必须有分隔符&#xff0c;固定格式数据项之间不需要分隔符。 1.以自由格式读取数据 &#xff08;1&#xff09;选择“文…

自然语言处理从入门到应用——预训练模型总览:预训练模型的拓展

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 相关文章&#xff1a; 预训练模型总览&#xff1a;从宏观视角了解预训练模型 预训练模型总览&#xff1a;词嵌入的两大范式 预训练模型总览&#xff1a;两大任务类型 预训练模型总览&#xff1a;预训练模型的拓展 …

data和filter协议文件包含

实验目的 通过本实验&#xff0c;了解php封装伪协议&#xff0c;掌握filter协议和data协议的用法 实验环境 操作机&#xff1a;kali 靶机&#xff1a;Windows Server 2003 实验地址&#xff1a;http://靶机ip/exp/include2/filter/ http://靶机ip/exp/include/include3.php…

软件测试常用设计模式

设计模式的重要原则就是&#xff1a;高内聚、低耦合&#xff1b;通常程序结构中各模块的内聚程度越高&#xff0c;模块间的耦合程度就越低。 数据驱动测试&#xff1a;Data Driven Testing&#xff0c;简称DDT&#xff1b; 数据驱动指的是从数据文件&#xff08;如数据库、Ex…