主机之间传输文件是IP网络的一个重要功能,如今人们可以方便地使用网页、邮箱进行文件传输。 然而在互联网早期,Web(World Wide Web,万维网)还未出现,操作系统使用命令行的时代,用户使用命令行工具进行文件传输。其中最通用的方式就是使用FTP(File Transfer Protocol,文件传输协议)以及TFTP(Trivial File Transfer Protocol,简单文件传输协议)。
FTP采用典型的C/S架构(即服务器端与客户端模型),客户端与服务器端建立TCP连接之后即可实现文件的上传、下载。
配置:
客户端向服务器端发送一串数字,前4个是客户端的IP地址,第5个数字*256+第6个数字 = 客户端的端口。(第5和第6个数字随机。)
PASV模式
配置:
服务端向客户端发送一串数字,前4个数字为服务器端的地址,第5个*256+第6个 = 服务器端的端口(第5和第6个数字随机。)
多通道的控制进程和传输进程是分离的,意味着控制协议和端口与传输进程协议和端口不一致。
多通道协议无法用安全策略表去解决,如果强行解决会导致安全策略的颗粒度过大,防火墙防御失效。
Server-map表项可以由NAT、ASPF等建立,主要用于存放一种映射关系,可以是多通道协议协商出来的数据连接关系,保证多通道协议应用的正常,也可以是NAT中的地址映射关系,使得外部网路能透过设备主动访问内部网络
例:多通道协议、STUN、NAT
流量过来后,安全策略放行控制流,其他通道的流量通过多通道协议、STUN、NAT等技术,将数据包中的相应参数抓取出来,然后将它放在隐秘通道中;控制流将会查看隐秘通道中流量能否通行;流量放通,将会创建一个会话表,后续的流量将会通过会话表通行。
ASPF全称为针对应用层的包过滤(基于状态的报文过滤),FW通过检测协商报文应用层携带的地址和端口信息,自动生成相应的Server-map表,用于放行后续建立数据通道的报文,相当于自动创建的一条精细的“安全策略”,解决了多通道协议使用随机端口无法过滤的问题
ASPF功能可以自动检测某些报文的应用层信息并根据应用层信息开放相应的访问规则,可以抓取并分析多通道协议的控制报文,并找到传输进程所需的详细网络参数(多通道协议都是通过控制进程报文协商处理传输进程的网络参数);然后根据ASPF分析控制进程特殊报文找到传输进程的报文参数,生成server-map表,放行传输进程报文;传输进程匹配server-map表后生成会话表,传输进程后续报文匹配会话表。
例:防火墙查看会话表和server-map表
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
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
例:我们需要配置ASPF,是基于FTP协议,才会生成server-map表。如果将FTP的标准协议端口进行改变,那么防火墙识别不到标准协议端口,就不会进行ASPF分析,所以我们此时需要进行端口识别(端口映射),将非标准协议端口映射成为标准协议端口。
普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323、SIP等)、FTP、SQLNET等,TCP/UDP载荷中带有地址或者端口信息,这些内容不能被NAT进行有效的转换,就可能导致问题。而NAT ALG(Application Level Gateway,应用层网关)技术能对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的IP地址和端口或者需特殊处理的字段进行相应的转换和处理,从而保证应用层通信的正确性。
在路由器上NAT针对多通道协议也会像防火墙那样抓取控制进程中协商传输进程中网络参数的报文,进而生成传输进程返回的NAT映射。
将防火墙设置好后,开始配置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 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
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
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
由于在安全策略中只放行了FTP,FTP可以登录,但是流量不能到达10.1.100.3的地址。
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
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地址转换成功
附:配置源转换地址池
如果允许服务器使用公网地址上网,就得做一个源是10.1.2.2的区域外网的映射
防火墙NAT类型的server-map表
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策略做服务器映射(用物理接口进行配置)
PS:(如果不得不用接口地址来映射私网地址,就得在web界面做个NAT策略;如果客户有宽裕的地址,就可新建服务器映射。)
如下拓扑图,DMZ只能被trust区访问,公网地址的目的不能直接写成DMZ,此时就需要做双转。将公网地址的源和目的都换掉。
当内网PC以公网形式访问内网服务器时,双转就是刚需
内网无法通过10.1.100.200访问10.1.1.10
双出口会出现NAT转换错乱
例:
启动防火墙多出口选项,网关、缺省、源进源出路由控制三种必须启用。不管是多出口是在一个安全区域还是多个安全区域都是如此做法。