当前位置: 首页 > news >正文

网络安全原理与实践学习笔记——设计DMZ

DMZ设计思路

       虽然不同网络设备中可用的安全特性在抵御网络攻击中起到了重要的作用,但事实上对网络攻击做好的防御方法之一是网络的安全拓扑设计。关注安全的网络拓扑设计对阻止网络攻击大有帮助,并且能使不同设备的安全特性得到最有效的使用。

       在现代网络安全设计中用到的最关键的思想之一是用去隔离开网络上的不同区域。置于不同区的设备具有不同的安全需求,而区基于这些需求提供保护。

创建区域的基本策略如下:

  • 具有最大安全需求(私有网络)的设备在网络的最安全区中。通常这个区只允许很少或者不允许来自公共网络和其他网络的访问。访问通常使用防火墙或者其他安全部件控制,比如安全远程访问(SRA)。这个区中经常需要有严格的认证和授权。
  • 仅需在内部访问的服务器要置于一个单独的专用安全区中。使用防火墙控制对这些设备的访问。对这些服务器的访问经常是受到严密监控和记录的。
  • 需要从公共网络上访问的服务器,置于一个不允许访问网络中更安全的区的隔离区之中。万一这些服务器中的一个被攻陷,这样做可以避免危及其他区域的网络。另外,如果可能,这些服务器中的每一个也同其他服务器隔离开来,这样如果其中的一个服务器被攻陷时,其他的服务器也不会受到攻击。每个服务器或者每种类型服务器的隔离区按照最安全的类型配置。这意味着一个Web服务器,通过将其置入一个同FTP服务器完全隔离的区中,从而与FTP服务器完全隔离开来。用这种方法,如果这个Web服务器被攻陷,FTP服务器被攻击者访问的机会和攻击者利用从该Web服务器获得权限而对FTP服务器造成危害的可能性度有限。这种区被称为DMZ区,使用防火墙来控制对他们的进出访问。

       DMZ通常是驻留于私有网络和公共网络之间的一个子网。来自外网的连接通常终止与DMZ区域的设备。这些服务器可以相对安全的被私有网络内的设备访问。

创建DMZ的最常用方法如下:

  • 使用一个三角(three-legged)防火墙创建DMZ。
  • 将DMZ置于防火墙之外,公共网络和防火墙之间。
  • 将DMZ置于防火墙之外,但不在公共网络和防火墙之间的通道上(也叫作“脏DMZ[dirty DMZ]”)。
  • 在层叠的防火墙之间创建DMZ。

1)使用一个三角(three-legged)防火墙创建DMZ

       一个防火墙可以由多于三个接口,允许创建许多DMZ。每个DMZ可以具有自己独特的安全需求。

 

2)将DMZ置于防火墙之外,公共网络和防火墙之间

       在这种配置中,DMZ暴露在防火墙的公共面一侧。需要通过防火墙的流量首先通过DMZ。一般情况下不推荐这种配置,因为在这种配置中针对DMZ区域内设备可用的安全控制非常少。这些设备实际上也是公共区域的一部分,它们自身并没有真正地被保护。

       显然,这是相当不安全的建立DMZ的方法,因为在这种配置中防火墙的安全特性根本没有用到。但是,在网络边缘路由器的公网方向可以部署一些安全策略,从而向DMZ的成员设备提供一些基本的安全保障。这种安全可能使用访问控制列表的形式。只允许以特定的端口访问DMZ中成员设备并拒绝其他所有的访问。

 

3)将DMZ置于防火墙之外,但不在公共网络和防火墙之间的通道上

       脏DMZ和前面描述的DMZ很相似,仅有的区别是:这里的DMZ不是位于防火墙和公共网络之间,而是位于边缘路由器用于连接防火墙的接口以外的隔离接口。这种类型的配置只为DMZ网络中的设备提供了非常少的安全保障。但是同前面部分描述的配置相比,这种配置为DMZ提供了稍多的隔离性。这种配置中的边缘路由器能够用于拒绝从DMZ子网到防火墙所在的子网的所有访问。并且,单独的VLAN能够提供防火墙所在子网和DMZ子网间更进一步的第二层的隔离。这在当一个位于DMZ子网的主机被攻陷,并且攻击者开始使用这个主机对防火墙和网络发动更进一步攻击的情形下是非常有用的。在这些情形下,增加的隔离层能够帮助延缓对防火墙的攻击进度。

       因为防火墙通常要处理所有通往内网和普通DMZ服务器的数据,因此当防火墙性能不足以处理额外的流量的时候,可以通过创建脏DMZ的方式来解决。因为在DMZ上服务器(通常是公共服务器)的流量是相当可观的,所以网络管理员通常被迫将这些设备置于防火墙之外的一个DMZ上,这样防火墙就不必处理通往这些服务器的流量。

 

       一个暴露在公共网络中并且得到加强以面对网络攻击的主机称为堡垒主机(bastion host)。这些主机通常关掉所有不需要的服务,以防止攻击者利用这些服务器入侵主机。同样,任何不需要的端口和网络协议也都要被移除或禁用以增强主机的安全。同时这些主机的操作系统也需要安装所有必要的更新和补丁。大部分能够用于操纵这个主机的工具和配置程序都要从该主机上移除。另外,主机有大量开启的日志记录,以捕获任何入侵的企图。甚至在设置了所有这些安全措施之后,还要部署额外措施以确保即时是主机被攻陷了,攻击者也无法通过从堡垒主机获得的权限访问内网。通常这也意味着堡垒主机和内部私有网络不共享相同的认证系统。

4)在层叠的防火墙之间创建DMZ

       在这种形成的DMZ的机制中,两个防火墙层叠放置,因而需要访问离公共网络最远的防火墙后面的私有网络时,所有流量都必须要通过这两个防火墙。在这种方案中,两个防火墙中间的网络用作DMZ。由于DMZ前面的防火墙使得它获得了相当高的安全性。但缺点是所有从内部网络流向公共网络的流量必须经过DMZ网络。在这种方案中,一个被攻陷的DMZ设备能够使攻击者以不同的方式阻截或侦听这个流量。为抵御这种风险,可以在两个防火墙之间的设备上使用私有VLAN。

相关文章:

  • 【牛客刷题】带你在牛客刷题第五弹(简单排序)
  • Fragment切换的方式介绍和一些问题的解决
  • 性能优化之图片懒加载
  • Linux多线程篇【5】——线程池
  • 指针成员操作符
  • python中应对各种机制
  • css实现时钟
  • “蔚来杯“2022牛客暑期多校训练营8 补题题解(F)
  • 【数据结构与算法】之深入解析“解出数学表达式的学生分数”的求解思路与算法示例
  • 给妈妈做个相册——在服务器上搭建Lychee相册的保姆级教程
  • 编程之路22
  • 适配器模式是个啥,在Spring中又用来干啥了?
  • 183. 从不订购的客户—not in()、左连接
  • LED灯实验
  • vue中ref的作用
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • Java Agent 学习笔记
  • Java反射-动态类加载和重新加载
  • js继承的实现方法
  • Linux各目录及每个目录的详细介绍
  • Median of Two Sorted Arrays
  • Objective-C 中关联引用的概念
  • Python - 闭包Closure
  • 成为一名优秀的Developer的书单
  • 简析gRPC client 连接管理
  • 你不可错过的前端面试题(一)
  • 前端_面试
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #HarmonyOS:Web组件的使用
  • (8)STL算法之替换
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (八)Spring源码解析:Spring MVC
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (原)本想说脏话,奈何已放下
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET MVC之AOP
  • .net 生成二级域名
  • .net6使用Sejil可视化日志
  • .NET开发不可不知、不可不用的辅助类(一)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .Net中wcf服务生成及调用
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • /var/log/cvslog 太大
  • @Autowired @Resource @Qualifier的区别
  • @GlobalLock注解作用与原理解析
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [1] 平面(Plane)图形的生成算法
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [CF494C]Helping People