入门防火墙基本原理,小白一看就懂!
2023-6-16 08:4:0 Author: Docker中文社区(查看原文) 阅读量:45 收藏

来源:blog.csdn.net/nan1996jiang/article

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

如上图,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 层。这就意味着防火墙查看应用程序数据甚至负载:

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

3、安全区

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

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

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

上面我们有两个安全区域:

  • inside:这是LAN区域。

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

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

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

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

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

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

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

  • 允许从 INSIDE 到 OUTSIDE 的流量。
  • 允许从 INSIDE 到 DMZ 的流量。
  • 允许从 DMZ 到 OUTSIDE 的流量。
  • 从 DMZ 到 INSIDE 的流量被拒绝。
  • 从外部到 DMZ 的流量被拒绝。
  • 从外部到内部的流量被拒绝。

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

4、总结

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

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

推荐阅读 点击标题可跳转

《Docker是什么?》

《Kubernetes是什么?》

《Kubernetes和Docker到底有啥关系?》

《教你如何快捷的查询选择网络仓库镜像tag》

《Docker镜像进阶:了解其背后的技术原理》

《教你如何修改运行中的容器端口映射》

《k8s学习笔记:介绍&上手》

《k8s学习笔记:缩扩容&更新》

《Docker 基础用法和命令帮助》

《在K8S上搭建Redis集群》

《灰度部署、滚动部署、蓝绿部署》

《PM2实践指南》

《Docker垃圾清理》

《Kubernetes(k8s)底层网络原理刨析》

《容器环境下Node.js的内存管理》

《MySQL 快速创建千万级测试数据》

《Linux 与 Unix 到底有什么不同?》

《浅谈几种常见 RAID 的异同》

《Git 笔记-程序员都要掌握的 Git》

《老司机必须懂的MySQL规范》

《Docker中Image、Container与Volume的迁移》

《漫画|如何用Kubernetes搞定CICD》

《写给前端的Docker实战教程》

《Linux 操作系统知识地图2.0,我看行》

《16个概念带你入门 Kubernetes》

《程序员因接外包坐牢456天,长文叙述心酸真实经历》

《IT 行业老鸟,有话对你说》

《HTTPS 为什么是安全的?说一下他的底层实现原理?


免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!



文章来源: http://mp.weixin.qq.com/s?__biz=MzI1NzI5NDM4Mw==&mid=2247495315&idx=1&sn=2281491b1044ff8ff333c3b3a8902feb&chksm=ea1b07d3dd6c8ec50e61feff4ab2cde84afab2eed2e2b75b18a4f1ffc6f9e91717654f2df5a1#rd
如有侵权请联系:admin#unsafe.sh