DMZ原理与应用
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器等。DMZ防火墙方案为要保护的内部网络增加了一道安全防线,通常认为是非常安全的。同时它提供了一个区域放置公共服务器,从而又能有效地避免一些互联应用需要公开,而与内部安全策略相矛盾的情况发生。
一般网络分成内网和外网,也就是LAN和WAN,那么,当你有1台物理位置上的1台服务器,需要被外网访问,并且,也被内网访问的时候,那么,有2种方法,一种是放在LAN中,一种是放在DMZ。因为防火墙默认情况下,是为了保护内网的,所以,一般的策略是禁止外网访问内网,许可内网访问外网。但如果这个服务器能被外网所访问,那么,就意味着这个服务器已经处于不可信任的状态,那么,这个服务器就不能(主动)访问内网。所以,如果服务器放在内网(通过端口重定向让外网访问),一旦这个服务器被攻击,则内网将会处于非常不安全的状态。
但DMZ就是为了让外网能访问内部的资源,也就是这个服务器,而内网呢,也能访问这个服务器,但这个服务器是不能主动访问内网的。DMZ就是这样的一个区域。为了让物理位置在内网的,并且,希望能被外网所访问的这样的一个区域。
一个典型的DMZ区的应用图,用户将Web、Mail、FTP等需要为内部和外部网络提供服务的服务器放置到防火墙的DMZ区内。通过合理的策略规划,使DMZ中服务器既免受到来自外网络的入侵和破坏,也不会对内网中的机密信息造成影响。DMZ服务区好比一道屏障,在其中放置外网服务器,在为外网用户提供服务的同时也有效地保障了内部网络的安全。
DMZ应用
在一个用路由器连接的局域网中,我们可以将网络划分为三个区域:安全级别最高的LAN Area(内网),安全级别中等的DMZ区域和安全级别最低的Internet区域(外网)。三个区域因担负不同的任务而拥有不同的访问策略。我们在配置一个拥有DMZ区的网络的时候通常定义以下的访问控制策略以实现DMZ区的屏障功能。
1、内网可以访问外网
内网的用户需要自由地访问外网。在这一策略中,防火墙需要执行NAT。
2、内网可以访问DMZ
此策略使内网用户可以使用或者管理DMZ中的服务器。
3、外网不能访问内网
这是防火墙的基本策略了,内网中存放的是公司内部数据,显然这些数据是不允许外网的用户进行访问的。如果要访问,就要通过VPN方式来进行。
4、外网可以访问DMZ
DMZ中的服务器需要为外界提供服务,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。
5、DMZ不能访问内网
如不执行此策略,则当入侵者攻陷DMZ时,内部网络将不会受保护。
6、DMZ不能访问外网
此条策略也有例外,比如我们的例子中,在DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。
在没有DMZ的技术之前,需要使用外网服务器的用户必须在其防火墙上面开放端口(就是Port Forwarding技术)使互联网的用户访问其外网服务器,显然,这种做法会因为防火墙对互联网开放了一些必要的端口降低了需要受严密保护的内网区域的安全性,黑客们只需要攻陷外网服务器,那么整个内部网络就完全崩溃了。DMZ区的诞生恰恰为需用架设外网服务器的用户解决了内部网络的安全性问题。
DMZ原理与应用的更多相关文章
- DMZ的原理与应用
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,“非军事化区”.它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓 ...
- 安全概念:DMZ(非军事化区,隔离区)
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”.它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间 ...
- 什么是DMZ、DMZ端口、DMZ主机?
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”.它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间 ...
- NAT网络地址转换的原理--笔试答题版
最早接触NAT是在做网络工程师的时候,NAT是做网络工程师必需会的知识点和技能,后来在面试运维的时候也经常被用到,在运维的某些知识点当中也会被引用到,如LVS当中. 为什么需要NAT(网络地址转换)? ...
- Spring中异步注解@Async的使用、原理及使用时可能导致的问题
前言 其实最近都在研究事务相关的内容,之所以写这么一篇文章是因为前面写了一篇关于循环依赖的文章: <面试必杀技,讲一讲Spring中的循环依赖> 然后,很多同学碰到了下面这个问题,添加了S ...
- Spring事务专题(三)事务的基本概念,Mysql事务处理原理
前言 本专题大纲: 我重新整理了大纲,思考了很久,决定单独将MySQL的事务实现原理跟Spring中的事务示例分为两篇文章,因为二者毕竟没有什么实际关系,实际上如果你对MySQL的事务原理不感兴趣也可 ...
- iptables 原理及应用
转自:iptables 原理及应用 iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面 ...
- 奇异值分解(SVD)原理与在降维中的应用
奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域.是 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
随机推荐
- MySQL字符集介绍及配置
目录 1.MySQL编码集 2.修改字符集 3.MySQL数据库中字符集转换流程 4.修改现有字符集 1.MySQL编码集 查看MySQL支持的字符集 mysql> show character ...
- [C语言]变量VS常量
-------------------------------------------------------------------------------------------- 1. 固定不变 ...
- java中break和continue跳出指定循环(转载)
java中break和continue跳出指定循环 java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则 ...
- svn的上传冲突问题
上传报错实际是 1 . 之前上传的代码与现代码不一样 2. 上传的代码中有错误 需要先拉下来,对比删除不要的,再上传 eclipse加入svn : 1.import ---从svn检出项目---创 ...
- python技巧 显示对象的所有属性
python技巧 显示对象的所有属性for attr in dir(ad):... print attr+":"+str(getattr(ad,attr))
- 创建maven项目前的准备工作
第二步: 在maven中的settings.xml文件中指定 2.1 本地仓库:计算机中一个文件夹,自己定义是哪个文件夹. 2.1 示例语法 <localRepository>D:/mav ...
- 局部变量and全局变量
局部变量 <1>什么是局部变量 如下图所示: <2>小总结 局部变量,就是在函数内部定义的变量 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响 局部变量的作 ...
- poj1061-青蛙的约会-(贝祖定理+扩展欧几里得定理+同余定理)
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions:132162 Accepted: 29199 Descripti ...
- shell 脚本传参
在 shell 中我们会见到 $0.$1.$2这样的符号,这是什么意思呢? 简单来说 $0 就是你写的shell脚本本身的名字,$1 是你给你写的shell脚本传的第一个参数,$2 是你给你写的sh ...
- Jenkins 踩过的坑之再总结
在安装完jenkins后,linux中默认使用的jenkins这个用户,这时在构建完项目后我们需要执行一些shell命令时会出现没有权限的情况,导致构建失败,这里我们需要给jenkins用户相应的权限 ...