当前位置:   article > 正文

防火墙的基础知识与源NAT_nat防火墙

nat防火墙

防火墙的基础知识

定义

可以被视为门控边界或网关,用于管理被允许和被禁止的 Web 活动在专用网络中的传播,监控进出网络的通信量

特征

  • 逻辑区域过滤器【内网的边缘位置,砌一堵墙,在墙上打一些洞,符合策略的能出去】
  • 隐藏内网网络结构【NAT的内网地址转换】
  • 自身安全保障【抗DDOS攻击】
  • 主动防御机制【当带有病毒的时候,它会主动检查】

分类

  • 按照形态分
    • 硬件防火墙【看的见的机器】
    • 软件防火墙【装在主机上的软件】
  • 按照保护对象分
    • 单机防火墙
    • 网络防火墙
  • 根据防范的方式
    • 包过滤防火墙
    • 状态检测防火墙
    • 代理防火墙

包过滤防火墙

  • 无法关联数据包之间关系
  • 无法适应多通道协议
  • 通常不检查应用层数据

代理防火墙

  • 处理速度慢【要做两次】
  • 升级困难【需要兼顾应用层协议,】

状态检测防火墙

  • 包过滤防火墙的升级版
  • 处理后续包速度快
  • 安全性高

防火墙硬件平台分类

  • IntelX86

适用于百兆网络受CPU处理能力和PCI总线速度的限制

  • ASIC

硬件集成电路,它把指令或计算逻辑固化到硬件中,获得高处埋能力,提升防火墙性能

  • NP

网络处理器是专门为处理数把包而设计的可编程处理器,是X86与ASIC之间的折衷方案

  • 多核

新一代的硬件平台。多核方案,更高的集成度、更高效的核间通信和管理机制。

安全区域

  • 安全区域 (Security Zone) ,或者简称为区域 (Zone)
    • Zone是本地逻辑安全区域的概念
    • Zone是一个或多个接口所连接的网络,区别于路由器的主要特性
    • 划分网络,标识报文流动的“路线”,当它在不同安全区域之间流动时,才会出发安全检查。

每个安全区域都有一个唯一的优先级,用1至100的数字表示,数字越大,则代表该区域内的网络越可信。

区域

安全级别

trust

85

untrust

5

dmz

50

local

100

防火墙安全区域分类【支持32个区域】

  • 缺省安全区域
    • 非受信区域Untrust
      • 网络的受信任程度低;
      • 通常用来定义Internet等不安全的网络
    • 非军事化区城DMZ
      • 网络的受信任程度中等;
      • 通常用来定义内部服务器所在的网络
    • 受信区域Trust
      • 网络的受信任程度高;
      • 通常用来定义内部用户所在的网络
    • 本地区域Local 【G0/0/0】
      • 凡是由防火墙主动发出的报文均可认为是从Local区域中发出,凡是需要防火墙响应并处理(而不是转发)的报文均可认为是由Local区域接收。
      • 区域中不能添加任何接口,但防火墙上所有业务接口本身都属于Local区域;
      • 代表防火墙本身;
  • 用户自定义安全区域
    • User Zone 1
    • User Zone 2

安全区域与接口关系

  • 防火墙不存在两个处于完全相同安全级别的安全区域
  • 防火墙不允许同一物理接口分属于两个不同的安全区域
  • 防火墙的不同接口可以属于同一个安全区域

安全区域的方向

  • inbound 从高到低
  • outbound 从低到高

包过滤技术

  • 一种网络安全保护机制,主要用于对网络中不同流量是否转发做一个最基本的控制。
  • 传统的包过滤防火墙对于需要转发的报文,会先获取报文头信息【五元组】,然后和预先设定的过滤规则进行匹配,并根据匹配结果对报文采取转发或丢弃处理
  • 转发机制是逐包匹配包过滤规则并检查,所以转发效率低下。目前防火墙基本使用状态检查机制,将只对一个连接的首包进行包过滤检查,如果这个首包能够通过包过滤规则的检查,并建立会话的话,后续报文将不再继续通过包过滤机制检测,而是直接通过会话表进行转发
  • 实现包过滤的核心技术是访问控制列表

防火墙安全策略

  • 定义
    • 安全策略是按一定规则检查数据流是否可以通过防火墙的基本安全控制机制。
    • 规则的本质是包过滤
  • 主要应用
    • 对跨防火墙的网络互访进行控制
    • 对设备本身的访问进行控制

防火墙的基本作用是保护特定网络免受“不信任”的网络的攻击,但是同时还必须允许两个网络之间可以进行合法的通信。安全策略的作用就是对通过防火墙的数据流进行检验,符合安全策略的合法数据流才能通过防火墙。

通过防火墙安全策略可以控制内网访问外网的权限、控制内网不同安全级别的子网间的访问权限等。同时也能够对设备本身的访问进行控制,例如限制哪些IP地址可以通过Telnet和Web等方式登录设备,控制网管服务器、NTP服务器等与设备的互访等。

防火墙安全策略的原理

防火墙安全策略作用

根据定义的规则对经过防火墙的流量进行筛选,并根据关键字确定筛选出的流量如何进行下一步操作。

安全策略分类

  • 域间安全策略
    • 控制域间流量的转发;
    • 用于接口加入不同安全区域的场景;
      • 按IP地址、时间段和服务(端口或协议类型)、用户等多种方式匹配流量,并对符合条件的流量进行包过滤控制(permit/deny)或高级的UTM应用层检测
    • 也用于控制外界与设备本身的互访
      • 按IP地址、时间段和服务(端口或协议类型)等多种方式匹配流量,并对符合条件的流量进行包过滤控制(permit/deny),允许或拒绝与设备本身的互访
  • 域内安全策略
  • 接口包过滤【到防火墙的接口】

查询和创建会话

状态检测机制

  • 状态检测机制开启状态下,只有首包通过设备才能建立会话表项后续包直接匹配会话表项【命中策略】进行转发。
  • 状态检测机制关闭状态下,即使首包没有经过设备,后续包只要通过设备也可以生成会话表项。

TCP,UDP和ICMP协议创建会话情况

协议

开启状态检测功能

关闭状态检测功能

TCP

SYN报文

创建会话,转发报文

创建会话,转发报文

SYN+ACK,ACK报文

不创建会话,丢弃报文

创建会话,转发报文

UDP

创建会话,转发报文

创建会话,转发报文

ICMP

ping回显请求报文

创建会话,转发报文

创建会话,转发报文

ping回显应答报文

不创建会话,丢弃报文

创建会话,转发报文

其他ICMP报文

不创建会话,转发报文

不创建会话,转发报文

会话表项

会话是状态检测防火墙的基础,每一个通过防火墙的数据流都会在防火墙上建立一个会话表项,以五元组(源目的IP地址、源目的端口、协议号)为Key值,通过建立动态的会话表提供域间转发数据流更高的安全性。

service-manage>安全策略

查看会话表信息

display firewall session table [verbose] 用来显示系统当前的会话表项信息,verbose参数来控制是否显示详细的信息。 icmp 表示会话表的应用类型为ICMP协议。 trust --> untrust 表示从Trust区域到Untrust区域方向的流量建立的会话。 Interface 表示流量的入接口。 Nexthop 表示流量的下一跳地址。 <--packets 表示反向报文命中的会话数,即从Untrust到Trust方向的报文数。 说明: 在NAT或VPN应用中,反向会话的报文统计数通常会有延时。 -->packets 表示正向报文命中的会话数,即从Trust到Untrust方向的报文数。 107.229.15.100:1280 表示源IP地址和源端口 107.228.10.100:2048 表示目的IP地址和目的端口 <USG> reset firewall session table 清除系统当前会话表项。 Reset Session表项操作得谨慎,因为会导致在运行业务中断。

FTP的端口有两个:20【数据通道】 21【控制通道】

模式:主动模式【20,服务器端到客户端】 被动模式【随机端口号】

实验

实验要求:客户端能够访问到DMZ区域的FTP服务和untrust的web服务

  1. 给客户端和服务器配置相应的IP地址,并且在DMZ区域的服务器上开启ftp服务,在untrust区域开启HTTP服务
  2. 在防火墙上配置各个接口的ip地址

  1. 划分trust区域

  1. 划分untrust区域

  1. 划分dmz区域

  1. 配置安全策略

  1. 在客户端中测试,到两个服务器的服务,并在防火墙中查看会话表

扩展

需求:1.客户端通过域名去访问web服务;

2.关于ASPF概念

  1. 在客户端的IP地址配置中添加域名服务器

    1. 在DMZ区域的服务器中开启DNS服务

    1. 在防火墙的安全策略中添加DNS服务

    1. 在Untrust区域的服务器中使用域名去访问

  1. ASPF( Application Specific Packet Filter) 是一种高级通信过滤,检查应用层协议信息并且监控连接的应用层协议状态。
    1. 针对应用层的特殊包过滤技术,其原理是检测通过设备的报文的应用层协议信息,记录临时协商的数据连接,使得某些在安全策略中没有明确定义要放行的报文也能够得到正常转发。
    2. ASPF可以智能的检测“TCP的三次握手的信息”和“拆除连接的握手信息”,通过检测握手、拆连接的状态检测,保证一个正常的TCP访问可以正常进行,而对于非完整的TCP握手连接的报文会直接拒绝。
    3. ASPF使防火墙能够支持一个控制连接上存在多个数据连接的协议,同时还可以在应用非常复杂的情况下方便的制订各种安全的策略。ASPF监听每一个应用的每一个连接所使用的端口,打开合适的通道让会话中的数据能够出入防火墙,在会话结束时关闭该通道,从而能够对使用动态端口的应用实施有效的访问控制。

    1. FTP协议是一个典型的多通道协议,在其工作过程中,FTP Client 和FTP Server 之间将会建立两条连接:控制连接和数据连接。控制连接用来传输FTP 指令和参数,其中就包括建立数据连接所需要的信息;数据连接用来获取目录及传输数据。数据连接使用的端口号是在控制连接中临时协商的。

Server Map的产生

  1. 转发多通道协议
  2. NAT Server或SLB时
  3. NAT No-PAT
  4. 转发QQ/MSN,TFTP等STUN等类型协议

记录临时协商的数据连接的表项称为Server-map 表,这相当于在防火墙上开通了“隐形通道”,使得像FTP 这样的特殊应用的报文可以正常转发。当然这个通道不是随意开的,是防火墙分析了报文的应用层信息之后,提前预测到后面报文的行为方式,所以才打开了这样的一个通道。

在使用NAT功能时,如果配置了No-PAT参数,那么设备会对内网IP和公网IP进行一对一的映射,而不进行端口转换。此时,内网IP的所有端口号都可以被映射为公网地址的对应端口,外网用户也就可以向内网用户的任意端口主动发起连接。所以配置NAT No-PAT后,设备会为有实际流量的数据流建立Server-map表,用于存放私网IP地址与公网IP地址的映射关系。设备根据这种映射关系对报文的地址进行转换,然后进行转发。

源NAT

防火墙支持的源NAT方式和应用场景

源NAT方式

含义

应用场景

NAT No-PAT

只转换地址的IP地址,不转换端口

需要上网的私网用户数量少,公网 IP地址数量与同时上网的最大私网用户数量基本相同

NAPT(Network Addressand Port Translation,网络地址和端口转换)

同时转换IP地址和端口

公网IP地址数量少,需要上网的私网用户数量大

出接口地址方式

(Easy-IP)

同时转换报文的IP地址和端口,但转换后的 IP地址只能为出接口的 IP地址

只有一个公网 IP 地址,并且该公网地址在接口上是动态获取的

Smart NAT

预留一个公网IP地址进行 NAPT,其他公网IP地址进行NAT NO-PAT

平时上网的用户数量少,公网 IP地址数量与此时上网的最大用户数量基本相同 ;个别时间段的上网用户数量激增,公网 IP地址数量远远小于此时上网的用户数量

三元组 NAT

将私网源 IP地址和端口转换为固定的公网IP地址和端口,解决 NAPT方式随机转换地址和端口带来的问题

用于外网用户主动访问私网用户的场景,例如 P2P业务的场景

NAT No-PAT

“No-PAT”则表示不进行端口转换。所以,NAT No-PAT方式只转换IP地址,故也称为“一对一地址转换”。

工作原理

防火墙收到私网用户访问Web服务器的报文后,首先判断是否需要转换目的地址,然后进行安全策略检查。报文通过安全策略检查以后,开始查找源NAT策略。当报文命中源NAT策略时,防火墙认为需要对该报文的源IP地址进行地址转换。防火墙根据轮询算法,从NAT地址池中选择一个空闲的公网IP地址,替换报文的源IP地址,并建立Server-map表和会话表,然后将报文发送至互联网。

当服务器的响应报文到达防火墙时,防火墙查找会话表,匹配到已经建立的会话表项,将报文的目的地址替换为内网PC的私网IP地址,然后将报文发送至内部网络。No-PAT方式下,公网地址和私网地址属于一对一转换。如果地址池中的地址已经全部分配出去了,则剩余的内网主机访问外网时不会进行NAT,直到地址池中有可用的空闲地址

Server-map表

防火墙上生成的Server-map表中存放PC的私网IP地址与公网IP地址的映射关系。正向Server-map表项保证特定私网用户访问互联网时,快速转换地址,提高了设备处理效率。反向Server map表项允许互联网上的用户主动访问私网用户,将报文进行地址转换。

NAT No-PAT分为本地(Local)No-PAT和全局(Global)No-PAT两种。

本地No-PAT生成的Server-Map表中包含安全区域参数,只有此安全区域的用户可以访问内网用户。

全局No-PAT生成的Server-Map表中不包含安全区域参数,一旦建立,所有安全区域的用户都可以访问内网用户。

下面以图2-3所示的组网环境为例,介绍No-PAT方式的配置方法

实验需求:客户端能够访问到服务器的web服务

  1. 在客户端配置对应的IP地址,服务器端配置IP地址,并开启http服务
  2. 防火墙的配置
    1. 配置各个端口的IP地址

    1. 划分区域

    1. 配置地址池【黑洞路由是一个让报文“有去无回”的路由,它的效果就是让防火墙丢弃命中黑洞路由的报文。为了避免产生路由环路,在防火墙上必须针对地址池中的公网IP地址配置黑洞路由】

当服务器去访问地址池中的一个时,通过抓包我们可以看出,它会产生环路

产生路由环路的原因:

  •  地址池地址和出接口地址不在相同的网段
  • 防火墙没有和地址池相关的Server-map
  • 当外网用户向地址池地址发起访问——>在防火墙和它的下一跳路由器之间产生路由环路

此时,我们可以有两种方法防止环路

  • 在地址池中配置route enable
  • 手动配置黑洞路由 iproute-static 198.51.100.2 32 NULL0

      1. 再去抓包,可以发现只有一条

    • 配置NAT策略【对报文进行地址转换,配置NAT策略的时候也需要配置安全策略允许报文通过】

    1. 配置安全策略【控制报文能否通过防火墙】

    1. 配置默认路由

  1. 路由器配置
    1. 配置各个接口的IP地址

    1. 配置默认路由

  1. 查看server-map表

补充:内部网络中的其他私网用户是无法访问Web服务器的,因为NAT地址池中只有两个公网IP地址,已经被两个私网用户占用了,其他私网用户必须等待公网地址被释放后才能访问Web服务器。可见,在NAT No-PAT的转换方式中,一个公网IP地址不能同时被多个私网用户使用,其实并没有起到节省公网IP地址的效果。

NAPT

可以节省公网IP地址,NAPT表示同时转换IP地址和端口,也可称为PAT。NAPT是一种应用最广泛的地址转换方式,可以利用少量的公网IP地址来满足大量私网用户访问互联网的需求,不同于No-PAT,NAPT方式在转换时不会生成Server-map表。

与No-PAT的主要区别:

在配置NAT地址池时,地址池模式配置为“pat”,其他的配置都是一样的。

具体的配置和No-PAT一样,就只有地址池中的模式不一样

地址池

NAT策略

为什么没有server-map表项?

源地址的端口号是动态变化的,会话时间比较短,所以不需要记录。

由于NAPT中没有server-map表项,只能查看会话表【老化时间:10S】

结论:从会话表中可以看到,新的私网用户与原有的私网用户共用了同一个公网IP地址,但是端口不一样。两者在转换后的公网IP地址是一样的,但转换后的端口不同,这样就不用担心转换冲突的问题。

出接口地址方式(Easy-IP)

概念

利用出接口的公网IP地址作为转换后的地址的NAT方式。出接口地址方式也是同时转换地址和端口,一个公网IP地址可以同时被多个私网用户使用,可以看成是NAPT方式的一种“变体”。

应用场景

通过拨号方式/DHCP方式动态获取公网IP地址。

采用Easy-IP方式时,不用配置NAT地址池,也不用配置黑洞路由,只需在NAT策略中指定转换方式为Easy-IP即可。

实验

  1. 给客户端和服务器配置IP地址和网关,并在服务器端开启HTTP服务
  2. 路由器的配置
    1. 配置各个接口的IP地址

    1. 开启DHCP服务

    1. 开启ARP代理【由于防火墙配置默认路由的时候,不知道下一条是谁】,配置基于接口的DHCP服务

  1. 防火墙的配置
    1. 配置各个接口的IP地址

ip address dhcp-alloc命令用来开启接口下的DHCP Client功能

    1. 划分区域

    1. 配置NAT策略

    1. 配置安全策略

    1. 配置默认路由

  1. 测试:在客户端上ping服务端的地址,并在防火墙上查看会话表

Smart NAT

Smart NAT方式也叫“聪明的NAT”,这是因为它融合了NAT No-PAT方式和NAPT方式的特点。

工作原理

假设Smart NAT方式使用的地址池中包含N个IP地址,其中一个IP地址被指定为预留地址,另外(N-1)个地址构成地址段1(Section 1)。进行NAT时,Smart NAT会先使用地址段1进行NAT No-PAT方式的转换,即一对一的地址转换。当地址段1中的IP地址都被占用后,Smart NAT使用预留地址进行NAPT方式的转换,即多对一的地址转换。即只有公网IP地址(除预留IP地址)被NAT No-PAT转换用尽了的时候才会进行NAPT转换。

实验

配置和NAPT差不多,只不过配置地址池的时候,预留的地址不能加入到地址池中,因为Smart-NAT是NAT No-PAT+NAPT模式,所以会生成server-map表

会话表

server-map表【因为Smart NAT方式中包括了NAT No-PAT方式的地址转换,所以防火墙上生成了相应的Server-map表。】

三元组NAT

技术背景

  1. 私网中的客户端向P2P服务器发送报文的时候,使用NAPT转后的端口是动态变化的,影响P2P服务器业务的正常运行
  2. 根据防火墙的转发原理,只有P2P服务器返回给私网中的客户端的报文命中会话表后才能通过防火墙,互联网上其他主机不能通过转换后的地址和端口来主动访问私网上的客户端。默认情况下,防火墙上的安全策略不允许这一类的访问报文通过。

解决问题:P2P业务和NAT共存的问题

特点

①对外呈现端口一致性

PC1访问P2P服务器后,在一段时间内,PC1再次访问P2P服务器或者访问互联网上的其他主机时,防火墙都会将PC1的端口转换成相同的端口,这样就保证了PC1对外所呈现的端口的一致性,不会动态变化。

②支持外网主动访问

PC1访问P2P服务器后,在一段时间内,PC1再次访问P2P服务器或者访问互联网上的其他主机时,防火墙都会将PC1的端口转换成相同的端口,这样就保证了PC1对外所呈现的端口的一致性,不会动态变化。

Server-map表

  • 源Server-map表项(FullCone Src):表项老化之前,PC1访问untrust区域内的任意主机(any)时,转换后的地址和端口都是198.51.100.2:3536,端口不会变化,这样就保证了PC1对外所呈现的端口的一致性。
  • 目的Server-map表项(FullCone Dst):表项老化之前,PC1访问untrust区域内的任意主机(any)时,转换后的地址和端口都是198.51.100.2:3536。

当报文的目的端口属于设置的端口范围之内,就采用NAPT模式来分配端口,如果报文的目的端口不属于设置的端口范围之内,则采用三元组NAT模式来分配端口。

实验

地址池

NAT策略

其他配置都和前面一样,参考前面配置

客户端去访问服务器,查看会话表

在用公网上的用户去访问私网的客户端,并进行抓包

可以看到不能访问成功,因为防火墙中没有公网用户去访问客户端的安全策略,所以不能够访问。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/210991
推荐阅读
相关标签
  

闽ICP备14008679号