FTPS客户端配置示例
组网需求
用户希望终端与设备之间进行安全的文件传输操作,因为传统的FTP不具备安全机制,采用明文的形式传输数据,会造成“中间人”攻击和网络欺骗。可在设备上部署SSL策略,利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。SSL是在传统FTP服务的基础上提供安全连接,从而很大程度上改善了传统FTP服务器安全性问题。
如图7-11所示,FTPS客户端和服务器之间路由可达,要求从客户端连接到安全FTP(FTPS)服务器上实现远程管理文件。
- 在作为FTPS客户端的设备上部署SSL策略,并加载CA证书文件,检查证书持有者身份的合法性,并签发证书,以防证书被伪造或篡改,以及对证书和密钥进行管理。
- 在作为FTPS服务器的设备上部署SSL策略,加载数字证书并使能安全FTP服务器功能,检查CA证书文件的合法性,保证合法客户端安全登录服务器。
服务器和客户端所要加载的证书文件需要预先从CA获取。此例中用华为设备作为FTPS服务器。
配置思路
采用如下的思路配置通过FTPS访问其他设备文件配置示例:
上传证书。
- 将数字证书及私钥文件上传至作为FTPS服务器的设备上。
- 将CA证书文件上传至作为FTP客户端的设备上。
加载证书,并配置SSL策略。
- 将服务器根目录下的数字证书文件拷贝到security子目录中,再配置SSL策略并加载数字证书。
- 将客户端根目录下的CA证书文件拷贝到security子目录中,再配置SSL策略并加载CA证书文件。
在FTP服务器端使能安全FTP服务器功能及配置FTP本地用户。
在客户端通过FTP命令连接安全FTP服务器,实现远程文件管理。
操作步骤
- 上传证书。
在客户端和服务器分别配置普通FTP服务功能,将所需证书文件上传至客户端和服务器。具体操作可参考通过FTP进行文件操作。
# 上传完成后,使用dir命令,在服务器端可看到成功上传的数字证书及私钥文件。
<HUAWEI> system-view [HUAWEI] sysname FTPS_Server [FTPS_Server] quit <FTPS_Server> dir Directory of flash:/ Idx Attr Size(Byte) Date Time FileName 0 drw- - May 10 2011 05:05:40 src 1 -rw- 524,575 May 10 2011 05:05:53 private-data.txt 2 -rw- 446 May 10 2011 05:05:51 vrpcfg.zip 3 -rw- 1,302 Mar 13 2012 18:23:28 4_servercert_der_dsa.der 4 -rw- 951 Mar 13 2012 18:30:20 4_serverkey_der_dsa.der ... 65,233 KB total (7,289 KB free)
# 在客户端使用dir命令,可看到成功上传的CA证书文件。
<HUAWEI> system-view [HUAWEI] sysname FTPS_Client [FTPS_Client] quit <FTPS_Client> dir Directory of flash:/ Idx Attr Size(Byte) Date Time FileName 0 -rw- 524,558 May 10 2011 04:50:39 private-data.txt 1 -rw- 1,237 Mar 14 2012 07:46:24 cacert.der 2 -rw- 1,241 Mar 14 2012 07:46:20 rootcert.der 3 drw- - Apr 09 2011 19:46:14 src 4 -rw- 421 Apr 09 2011 19:46:14 vrpcfg.zip 5 -rw- 1,308,478 Apr 14 2011 19:22:45 we1.zip 6 drw- - Apr 10 2011 01:35:54 logfile 7 -rw- 4 Apr 19 2011 04:24:28 snmpnotilog.txt 8 drw- - Apr 13 2011 11:37:40 lam ... 65,233 KB total (17,489 KB free)
- 配置SSL策略并加载证书。
在服务器上进行如下配置。
# 创建security子目录,并将安全证书移动到security子目录。<FTPS_Server> mkdir security/ <FTPS_Server> move 4_servercert_der_dsa.der security/ <FTPS_Server> move 4_serverkey_der_dsa.der security/
# 上述步骤成功执行后,在security子目录下执行命令dir,可看到拷贝成功的数字证书及私钥文件。<FTPS_Server> cd security/ <FTPS_Server> dir Directory of flash:/security/ Idx Attr Size(Byte) Date Time FileName 0 -rw- 1,302 Mar 13 2012 18:23:28 4_servercert_der_dsa.der 1 -rw- 951 Mar 13 2012 18:30:20 4_serverkey_der_dsa.der 65,233 KB total (7,289 KB free)
# 创建SSL策略,并加载ASN1格式的数字证书。<FTPS_Server> system-view [FTPS_Server] ssl policy ftp_server [FTPS_Server-ssl-policy-ftp_server] certificate load asn1-cert 4_servercert_der_dsa.der key-pair dsa key-file 4_serverkey_der_dsa.der [FTPS_Server-ssl-policy-ftp_server] quit
# 上述步骤成功配置后,在服务器端执行命令display ssl policy,可以看到加载的证书详细信息。
[FTPS_Server] display ssl policy SSL Policy Name: ftp_server Policy Applicants: Key-pair Type: DSA Certificate File Type: ASN1 Certificate Type: certificate Certificate Filename: 4_servercert_der_dsa.der Key-file Filename: 4_serverkey_der_dsa.der Auth-code: MAC: CRL File: Trusted-CA File: Issuer Name: Validity Not Before: Validity Not After:
在客户端进行如下配置。
# 创建security子目录,并将CA证书文件移动到security子目录。
<FTPS_Client> mkdir security/ <FTPS_Client> move cacert.der security/ <FTPS_Client> move rootcert.der security/
# CA证书文件拷贝到security子目录后,在security子目录下执行命令dir,可看到拷贝成功的CA证书文件。
<FTPS_Client> cd security/ <FTPS_Client> dir Directory of flash:/security/ Idx Attr Size(Byte) Date Time FileName 0 -rw- 1,237 Mar 14 2012 07:46:24 cacert.der 1 -rw- 1,241 Mar 14 2012 07:46:20 rootcert.der 65,233 KB total (17,489 KB free)
# 创建SSL策略,并加载CA证书文件。
<FTPS_Client> system-view [FTPS_Client] ssl policy ftp_client [FTPS_Client-ssl-policy-ftp_client] trusted-ca load asn1-ca cacert.der [FTPS_Client-ssl-policy-ftp_client] trusted-ca load asn1-ca rootcert.der [FTPS_Client-ssl-policy-ftp_client] quit
# 上述步骤成功配置后,在FTP客户端执行命令display ssl policy,可以看到加载的CA证书文件详细信息。
[FTPS_Client] display ssl policy SSL Policy Name: ftp_client Policy Applicants: Key-pair Type: Certificate File Type: Certificate Type: Certificate Filename: Key-file Filename: Auth-code: MAC: CRL File: Trusted-CA File: Trusted-CA File 1: Format = ASN1, Filename = cacert.der Trusted-CA File 2: Format = ASN1, Filename = rootcert.der
- 使能安全FTP服务器功能及配置FTP本地用户。
# 使能安全FTP服务器功能。
使能安全FTP服务功能,必须去使能普通FTP服务器功能。
[FTPS_Server] undo ftp server [FTPS_Server] ftp secure-server ssl-policy ftp_server [FTPS_Server] ftp secure-server enable
# 配置FTP本地用户。
[FTPS_Server] aaa [FTPS_Server-aaa] local-user admin password irreversible-cipher Helloworld@6789 [FTPS_Server-aaa] local-user admin service-type ftp [FTPS_Server-aaa] local-user admin privilege level 3 [FTPS_Server-aaa] local-user admin ftp-directory flash: [FTPS_Server-aaa] quit
此用户可以使用上传证书时FTP用户,也可重新配置新的用户。
- 在FTPS客户端通过FTP命令登录安全FTP服务器实现远程文件管理。
[FTPS_Client] ftp ssl-policy ftp_client 10.1.1.1 Trying 10.1.1.1 ... Press CTRL+K to abort Connected to 10.1.1.1. 220 FTP service ready. 234 AUTH command successfully, Security mechanism accepted. 200 PBSZ is ok. 200 Data channel security level is changed to private. User(10.1.1.1:(none)):admin 331 Password required for admin. Enter password: 230 User logged in. [ftp]
在客户端需要正确输入用户名和密码,才能通过FTPS方式成功登录FTPS服务器。
- 检查配置结果。
# 在安全FTP服务器端执行命令display ftp-server,可以看到SSL策略名称、安全FTP服务器的状态是running。
[FTPS_Server] display ftp-server FTP server is stopped Max user number 5 User count 1 Timeout value(in minute) 30 Listening port 21 Acl number 0 FTP server's source address 0.0.0.0 FTP SSL policy ftp_server FTP Secure-server is running
在客户端,用户可远程管理服务器上的文件。
配置文件
FTPS_Server的配置文件
# sysname FTPS_Server # FTP secure-server enable ftp secure-server ssl-policy ftp_server # aaa local-user admin password irreversible-cipher $1a$P2m&M5d"'JHR7b~SrcHF\Z\,2R"t&6V|zOLh9y$>M\bjG$D>%@Ug/<3I$+=Y$ local-user admin privilege level 3 local-user admin ftp-directory flash: local-user admin service-type ftp # ssl policy ftp_server certificate load asn1-cert 4_servercert_der_dsa.der key-pair dsa key-file 4_serverkey_der_dsa.der # return
FTPS_Client的配置文件
# sysname FTPS_Client # ssl policy ftp_client trusted-ca load asn1-ca cacert.der trusted-ca load asn1-ca rootcert.der # return