贝博恩创新科技网

cisco dmz/互联网

这是一个网络安全中至关重要的主题,主要目标是保护内部网络,同时为外部用户提供对特定服务(如 Web 服务器、邮件服务器)的安全访问。

cisco dmz/互联网-图1
(图片来源网络,侵删)

核心概念:DMZ 是什么?

DMZ (Demilitarized Zone),即“非军事区”,是一个位于企业内部网络和外部公共互联网之间的小型、独立的网络段

它的设计目的:

  1. 隔离风险:将需要对外提供服务的服务器(如 Web、FTP、DNS 服务器)放置在 DMZ 中,即使这些服务器被攻击者攻破,攻击者也只能进入 DMZ,而无法直接触及更安全的内部网络。
  2. 访问控制:通过防火墙策略,精确控制数据包的流向,通常只允许特定类型的流量(如从互联网到 DMZ 的 Web 请求,以及从 DMZ 到互联网的 DNS 查询)。
  3. 多层防御:DMZ 构成了纵深防御体系的第一道或第二道防线。

典型的 DMZ 网络拓扑:


Cisco 设备的角色与配置

在典型的 DMZ 架构中,通常会使用不同类型的 Cisco 设备来承担不同的角色:

cisco dmz/互联网-图2
(图片来源网络,侵删)
  • Cisco ASA (Adaptive Security Appliance):这是最经典、最常用的设备,它集成了状态检测防火墙VPN入侵防御系统 功能,它是构建 DMZ 的核心。
  • Cisco Firepower (FTD - Firepower Threat Defense):这是 Cisco 的新一代防火墙平台,在 ASA 的基础上集成了高级威胁防护NGFW (下一代防火墙)IPS (入侵防御系统) 功能,提供更智能的威胁检测和响应。
  • Cisco Catalyst 9000 系列 (SD-Access):在基于软件定义网络 的架构中,Catalyst 交换机可以通过策略控制流量,实现虚拟化 DMZ,提供更灵活的部署方式。
  • Cisco Router:在某些简单场景或作为边界路由器时,可以使用 Cisco 路由器配合 ACL (访问控制列表) 来实现基本的 DMZ 隔离,但其安全性和功能远不如专用防火墙。

下面,我们将以 Cisco ASA (或 FTD) 为核心,讲解 DMZ 的配置。


关键配置步骤与策略

配置 DMZ 的核心在于接口定义安全策略

接口划分与安全级别

Cisco ASA 使用接口的安全级别 来定义网络区域的信任度,安全级别是一个 0 到 100 的整数,数字越高,信任度越高。

  • Inside (内部网络): 安全级别通常为 100,这是最信任的区域。
  • DMZ: 安全级别通常设置为 0100 之间的一个值,50,这表明它比 Inside 不信任,但比 Outside 更信任。
  • Outside (互联网): 安全级别必须为 0,这是最不信任的区域。

示例: 假设 ASA 有三个物理接口:

cisco dmz/互联网-图3
(图片来源网络,侵删)
  • GigabitEthernet0/0 连接内部网络,命名为 INSIDE,安全级别 100
  • GigabitEthernet0/1 连接 DMZ,命名为 DMZ,安全级别 50
  • GigabitEthernet0/2 连接互联网,命名为 OUTSIDE,安全级别 0

访控列表

ACL 定义了允许或拒绝的流量规则,在 DMZ 配置中,我们通常需要创建两个方向的 ACL:

  • 入站 ACL: 从低安全级别接口到高安全级别接口的流量,从 OUTSIDEINSIDE
  • 出站 ACL: 从高安全级别接口到低安全级别接口的流量,从 INSIDEOUTSIDE

对于 DMZ,策略的核心是:

  • 从互联网到 DMZ (OUTSIDE -> DMZ):只允许特定服务(如 TCP 80/HTTP, TCP 443/HTTPS, TCP 21/FTP)访问 DMZ 上的服务器。
  • 从 DMZ 到互联网 (DMZ -> OUTSIDE):通常允许 DMZ 服务器发起的所有出站连接(如 DNS 查询、软件更新),但也可以进行更严格的限制。
  • 从 DMZ 到内部网络 (DMZ -> INSIDE)严格禁止或仅允许极少数必要的管理连接(如通过 VPN 或 SSH)。
  • 从内部网络到 DMZ (INSIDE -> DMZ):通常允许内部员工访问 DMZ 上的资源(如内部使用的 Web 服务器)。

网络地址转换

NAT 是 DMZ 配置中必不可少的一环,它隐藏了内部和 DMZ 网络的真实 IP 地址。

  • 动态 PAT (Dynamic PAT):通常用于将内部网络或 DMZ 网络的多个 IP 地址映射到 ASA 的一个公网 IP 地址上,这是最常见的出站 NAT 类型。
  • 静态 NAT (Static NAT)DMZ 的关键,它将 DMZ 中的服务器的私有 IP 地址(如 168.2.10)一对一地映射到一个固定的公网 IP 地址(如 0.113.10),这样,互联网用户才能通过 0.113.10 访问到你的 Web 服务器。

配置示例 (Cisco ASA CLI)

假设以下场景:

  • Inside: 168.1.0/24,安全级别 100
  • DMZ: 168.2.0/24,安全级别 50
  • Outside: 0.113.1 (ASA 外网口IP),互联网
  • DMZ Web Server: 168.2.10,需要映射到公网 IP 0.113.10
! 1. 定义接口和安全级别
interface GigabitEthernet0/0
 nameif INSIDE
 security-level 100
 ip address 192.168.1.1 255.255.255.0
interface GigabitEthernet0/1
 nameif DMZ
 security-level 50
 ip address 192.168.2.1 255.255.255.0
interface GigabitEthernet0/2
 nameif OUTSIDE
 security-level 0
 ip address 203.0.113.1 255.255.255.252
! 2. 配置静态 NAT (将DMZ服务器暴露到互联网)
object network WEB_SERVER
 host 192.168.2.10
nat (DMZ, OUTSIDE) static 203.0.113.10
! 3. 配置访问控制列表
! 允许互联网访问DMZ的Web服务 (80, 443端口)
access-list OUTSIDE_TO_DMZ extended permit tcp any host 203.0.113.10 eq www
access-list OUTSIDE_TO_DMZ extended permit tcp any host 203.0.113.10 eq https
! 允许DMZ服务器访问互联网的DNS
access-list DMZ_TO_OUTSIDE extended permit udp any any eq domain
! (可选) 允许内部网络访问DMZ服务器
access-list INSIDE_TO_DMZ extended permit tcp any host 192.168.2.10 eq www
! 4. 将ACL应用到接口 (方向很重要!)
! 从低安全级别到高安全级别,需要使用 "in" 方向
! 从OUTSIDE到DMZ
access-group OUTSIDE_TO_DMZ in interface OUTSIDE
! 从DMZ到OUTSIDE (出站方向,默认允许,但为了明确可以加上)
access-group DMZ_TO_OUTSIDE out interface DMZ
! 从INSIDE到DMZ
access-group INSIDE_TO_DMZ in interface DMZ
! (关键) 默认策略:禁止所有从DMZ到INSIDE的流量
! ASA默认禁止从低安全级别到高安全级别的流量,除非明确允许。
! 所以这里不需要写一个"deny all"的规则,但需要确保没有允许的规则。
! 如果需要允许DMZ服务器管理内部服务器,需要创建一条精确的ACL,
! access-list DMZ_TO_INSIDE extended permit tcp host 192.168.2.10 host 192.168.1.100 eq ssh
! access-group DMZ_TO_INSIDE in interface INSIDE  <-- 注意这里是IN接口,但流量从DMZ来
! 但更安全的做法是要求管理员通过VPN进入内部网络后再管理。
! 5. 启用路由 (如果需要)
! ASA默认是路由模式,如果不是,需要启用
route outside 0.0.0.0 0.0.0.0 <你的ISP网关IP, 203.0.113.2>

最佳实践与安全加固

  1. 最小权限原则:只开放绝对必要的端口,不要为了方便而开放整个网段
分享:
扫描分享到社交APP
上一篇
下一篇