安全防御 --- 防火墙-- ASPF、NAT

ASPF、NAT

1、FTP技术

(1)简介:

主机之间传输文件是IP网络的一个重要功能,如今人们可以方便地使用网页、邮箱进行文件传输。 然而在互联网早期,Web(World Wide Web,万维网)还未出现,操作系统使用命令行的时代,用户使用命令行工具进行文件传输。其中最通用的方式就是使用FTP(File Transfer Protocol,文件传输协议)以及TFTP(Trivial File Transfer Protocol,简单文件传输协议)。

(2)FTP的基本概念

FTP采用典型的C/S架构(即服务器端与客户端模型),客户端与服务器端建立TCP连接之后即可实现文件的上传、下载。

 (3)针对传输的文件类型不同,FTP可以采用不同的传输模式:

  • ASCII模式:传输文本文件(TXT、LOG、CFG)时会对文本内容进行编码方式转换,提高传输效率。当传输网络设备的配置文件、日志文件时推荐使用该模式。
  • Binary(二进制)模式:非文本文件(cc、BIN、EXE、PNG),如图片、可执行程序等,以二进制直接传输原始文件内容。当传输网络设备的版本文件时推荐使用该模式,这些文件无需转换格式即可传输。

(4)两种工作模式:PORT模式和PASV模式

  • PORT模式

配置:


客户端向服务器端发送一串数字,前4个是客户端的IP地址,第5个数字*256+第6个数字 = 客户端的端口。(第5和第6个数字随机。)

  • PASV模式

配置:


服务端向客户端发送一串数字,前4个数字为服务器端的地址,第5个*256+第6个 = 服务器端的端口(第5和第6个数字随机。)

2、多通道协议

(1)多通道协议示例:FTP、RTSP、DNS、WeChat、QQ、MSN

(2)判断:

多通道的控制进程和传输进程是分离的,意味着控制协议和端口与传输进程协议和端口不一致。

(3)安全策略解决:

多通道协议无法用安全策略表去解决,如果强行解决会导致安全策略的颗粒度过大,防火墙防御失效。

3、server-map表

(1)简介:

Server-map表项可以由NAT、ASPF等建立,主要用于存放一种映射关系,可以是多通道协议协商出来的数据连接关系,保证多通道协议应用的正常,也可以是NAT中的地址映射关系,使得外部网路能透过设备主动访问内部网络

(2)产生:防火墙的安全策略不能解决某些特殊应用的流量放行问题

例:多通道协议、STUN、NAT

(3)基本工作原理:

流量过来后,安全策略放行控制流,其他通道的流量通过多通道协议、STUN、NAT等技术,将数据包中的相应参数抓取出来,然后将它放在隐秘通道中;控制流将会查看隐秘通道中流量能否通行;流量放通,将会创建一个会话表,后续的流量将会通过会话表通行。

4、ASPF技术 --- 针对应用层的包过滤,也叫基于状态的包过滤

(1)简介:

ASPF全称为针对应用层的包过滤(基于状态的报文过滤),FW通过检测协商报文应用层携带的地址和端口信息,自动生成相应的Server-map表,用于放行后续建立数据通道的报文,相当于自动创建的一条精细的“安全策略”,解决了多通道协议使用随机端口无法过滤的问题

(2)功能:

ASPF功能可以自动检测某些报文的应用层信息并根据应用层信息开放相应的访问规则,可以抓取并分析多通道协议的控制报文,并找到传输进程所需的详细网络参数(多通道协议都是通过控制进程报文协商处理传输进程的网络参数);然后根据ASPF分析控制进程特殊报文找到传输进程的报文参数,生成server-map表,放行传输进程报文;传输进程匹配server-map表后生成会话表,传输进程后续报文匹配会话表。

例:防火墙查看会话表和server-map表

<USG6000V1>dis firewall server-map
2023-03-28 06:50:15.780 
 Current Total Server-map : 1
 Type: ASPF,  10.1.100.2 -> 10.1.1.3:2061,  Zone:---
 Protocol: tcp(Appro: ftp-data),  Left-Time:00:00:10
 Vpn: public -> public

<USG6000V1>dis firewall session table 
2023-03-28 07:00:03.790 
 Current Total Sessions : 10
 ftp-data  VPN: public --> public  10.1.100.2:20 --> 10.1.1.3:2063

5、端口识别

(1)功能:端口识别是将非标准协议端口映射成可识别的应用协议端口

例:我们需要配置ASPF,是基于FTP协议,才会生成server-map表。如果将FTP的标准协议端口进行改变,那么防火墙识别不到标准协议端口,就不会进行ASPF分析,所以我们此时需要进行端口识别(端口映射),将非标准协议端口映射成为标准协议端口。

(2)解决办法:

6、NAT ALG

(1)简介:

普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323、SIP等)、FTP、SQLNET等,TCP/UDP载荷中带有地址或者端口信息,这些内容不能被NAT进行有效的转换,就可能导致问题。而NAT ALG(Application Level Gateway,应用层网关)技术能对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的IP地址和端口或者需特殊处理的字段进行相应的转换和处理,从而保证应用层通信的正确性。

(2)困境:某些协议会在应用层携带通信IP,这个IP用于下一阶段通信。但是NAT的地址转换并不转应用层IP而是转三层IP,这就导致某些协议的通信阶段在NAT场景下失败。

在路由器上NAT针对多通道协议也会像防火墙那样抓取控制进程中协商传输进程中网络参数的报文,进而生成传输进程返回的NAT映射。

(3)特点:

  •  ALG统一对各应用层协议报文进行解析处理,避免其它模块对同一类报文应用层协议的重复解析,可以有效提高报文转发效率
  • 可支持多种应用层协议:FTP、H.323(包括RAS、H.225、H.245)、SIP、DNS、ILS、MSN/QQ、NBT、RTSP、SQLNET、TFTP等

(4)ALG:Application Level Gateway 应用网关,用来处理上述应用层数据在NAT场景转换问题。

附:TCP为首部校验:

7、NAT域间双向转换

将防火墙设置好后,开始配置IP地址

(1)首先配置IP地址

  • 防火墙:

  • trust:

  • DMZ:

  • untrust:


(2)新建安全策略

(3)访问测试:


测试登录情况:

(4)通过路由器进行验证(在trust区接路由器)

  • 为路由器配置IP地址和缺省路由
[Huawei-GigabitEthernet0/0/0]ip add 10.1.1.4 24
[Huawei]ip route-static 0.0.0.0 0 10.1.1.1 
  •  通过路由器进行FTP登录
<Huawei>ftp 10.1.100.2
Trying 10.1.100.2 ...
Press CTRL+K to abort
Connected to 10.1.100.2.
220 FtpServerTry FtpD for free 
User(10.1.100.2:(none)):1
331 Password required for 1 .
Enter password:
230 User 1 logged in , proceed
[Huawei-ftp]dir
200 Port command okay.
150 Opening ASCII NO-PRINT mode data connection for ls -l.
-rwxrwxrwx  1 1         nogroup       610414 Feb 22  2023 HCIA .docx
-rwxrwxrwx  1 1         nogroup       318641 Feb 28  2023 HCIP.docx
-rwxrwxrwx  1 1         nogroup       495067 Jul 15  2022 secureCRT注册机及美化.zip
-rwxrwxrwx  1 1         nogroup       231841 Mar 19  2023 命令行实践3---FTP协议.pdf
-rwxrwxrwx  1 1         nogroup        17562 Mar 1  2023 安全面试题1.docx
-rwxrwxrwx  1 1         nogroup        56063 Oct 22  2022 测试.paper
-rwxrwxrwx  1 1         nogroup       641079 Mar 16  2023 防火墙.pdf
-rwxrwxrwx  1 1         nogroup        49896 Dec 24  2022 防火墙详解.md

(5)防火墙上查看server-map表和会话表

<USG6000V1>dis firewall server-map
2023-03-28 06:50:15.780 
 Current Total Server-map : 1
 Type: ASPF,  10.1.100.2 -> 10.1.1.3:2061,  Zone:---
 Protocol: tcp(Appro: ftp-data),  Left-Time:00:00:10
 Vpn: public -> public
<USG6000V1>dis firewall session table 
2023-03-28 07:00:03.790 
 Current Total Sessions : 10
 ftp-data  VPN: public --> public  10.1.100.2:20 --> 10.1.1.3:2063

(6)新建NAT策略

由于在安全策略中只放行了FTP,FTP可以登录,但是流量不能到达10.1.100.3的地址。

<Huawei>ping 10.1.100.3
  PING 10.1.100.3: 56  data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out

(7)修改安全策略,保障流量可达

  • 测试通路:
<Huawei>ping 10.1.100.3
  PING 10.1.100.3: 56  data bytes, press CTRL_C to break
    Reply from 10.1.100.3: bytes=56 Sequence=1 ttl=254 time=40 ms
    Reply from 10.1.100.3: bytes=56 Sequence=2 ttl=254 time=60 ms
    Reply from 10.1.100.3: bytes=56 Sequence=3 ttl=254 time=50 ms
    Reply from 10.1.100.3: bytes=56 Sequence=4 ttl=254 time=60 ms
    Reply from 10.1.100.3: bytes=56 Sequence=5 ttl=254 time=40 ms

IP地址转换成功

附:配置源转换地址池

(8)访问DMZ(前提:服务器只能使用公网地址上网)

  •  创建服务器映射(服务器映射不能直接配置物理接口的地址)


如果允许服务器使用公网地址上网,就得做一个源是10.1.2.2的区域外网的映射

  • 新建安全策略,放行流量

  • 测试


此时访问的是服务器所在的那个地址

防火墙NAT类型的server-map表
<USG6000V1>dis firewall server-map
2023-03-28 09:49:51.770 
 Current Total Server-map : 1
 Type: Nat Server,  ANY -> 10.1.100.111:80[10.1.2.2:80],  Zone: untrust ,  proto
col:tcp
 Vpn: public -> public

附:使用NAT策略做服务器映射(用物理接口进行配置)

  • 首先关闭服务器映射

  • 新建NAT策略


 

PS:(如果不得不用接口地址来映射私网地址,就得在web界面做个NAT策略;如果客户有宽裕的地址,就可新建服务器映射。)

(9)NAT策略配置域间双转



  • 测试


8、NAT域内双向转换

如下拓扑图,DMZ只能被trust区访问,公网地址的目的不能直接写成DMZ,此时就需要做双转。将公网地址的源和目的都换掉。

当内网PC以公网形式访问内网服务器时,双转就是刚需

(1)新建服务器映射

(2)新建安全策略

(3)测试:外网可通过10.1.100.200访问内网的10.1.1.10

  • 内网无法通过10.1.100.200访问10.1.1.10

(4)配置双转




(5)测试

9、双出口NAT

双出口会出现NAT转换错乱

例:

(1)解决方案:

启动防火墙多出口选项,网关、缺省、源进源出路由控制三种必须启用。不管是多出口是在一个安全区域还是多个安全区域都是如此做法。

(2)原理:通过上述手段把路由与NAT转换通过下一跳做了关联

(3)为了实现双出口NAT和接口进行捆绑:

  • 必须配置默认网关
  • 必须配置缺省路由
  • 必须写源进源出路由控制

猜你喜欢

转载自blog.csdn.net/weixin_62443409/article/details/129805903