加密ssl vsftp、ftp隐式加密&显式加密
FTPoverSSL(Implicit)隐式ssl与FTPoverSSL(Explicit)显式ssl:
vsftp默认启动时用的是显式ssl,也可以配置启用隐式ssl,对应端口21(可修改成990)
- 显式ssl:在与ftp服务器建立连接后,ftp客户端要以命令("AUTHSSL"或者"AUTHTLS")显式地告诉服务器端来初始化相应的安全连接。此时使用的是默认的ftp端口21。参考文档:RFC2228
- 隐式ssl:当ftp客户端连接到服务器端时,服务器端自动建立安全连接。此时,客户端默认以990端口来安全连接服务器端,而服务器端端口可设置。
ssl加密的vsftp(vsftpwithOpenSSL)
- a.ftp默认的传输数据是明文,弄个抓包软件就可以通过数据包来分析到账号和密码,为了搭建一个安全性比较高ftp,可以结合SSL来解决问题
- b.检查vsftp是否支持SSL:从2.0.0版本开始,vsftpd支持命令连接和数据连接的加密传输。vsftpd服务器版本查看:rpm-qavsftpd输出:vsftpd-2.2.2-11.el6.i686
- c.检查vsftp是否支持SSL:ldd/usr/sbin/vsftpd|greplibssl,如果输出类似与libssl.so.10=>/usr/lib/libssl.so.10(0x00dfb000),那么支持。如果不支持,那么重新编译vsftp,然后再重新安装
- d.用openssl生成vsftpd的证书:opensslreq-x509-nodes-days365-newkeyrsa:2048-keyout/etc/vsftpd/vsftpd.pem-out/etc/vsftpd/vsftpd.pem
- e.修改vsftpd.conf,设置强制启用sslssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem
ssl_ciphers=HIGH
f.默认不启用隐式ssl功能,相应的服务器端隐式ssl默认端口是21(很多客户端隐式ssl连接时,设置的默认端口为990,因此如果服务器的不自定义成和客户端一致的话,会导致连接失败!)。如果启用了隐式ssl,那么ftp客户端也必须以隐式ssl的方式连接到21/990端口,ftp客户端的不加密连接、显式ssl连接都会超时。所以不建议开启该设置!// ssl设置 ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO rsa_cert_file=/etc/vsftpd/vsftpd.pem ssl_ciphers=HIGH #implicit_ssl=no // 是否启用隐式ssl功能,不建议开启 #listen_port=990 // 隐式ftp端口设置,如果不设置,默认还是21,但是 当客户端以隐式ssl连接时,默认会使用990端口,导致连接失败!! #debug_ssl=YES // 输出ssl相关的日志信息
相关推荐
杨立峰 2020-08-18
wq0 2020-07-18
leodengzx 2020-06-14
xsg 2020-06-09
TangCuYu 2020-06-05
河的第三条岸 2020-05-31
atb 2020-05-30
饮马天涯 2020-05-20
wennuanwarm 2020-05-16
InJavaWeTrust 2020-05-04
书弋江山 2020-04-26
MichelinMessi 2020-04-16
89236831 2020-02-24
IsanaYashiro 2020-02-19
Proudoffaith 2020-02-04
秋风瑟瑟 2020-02-03
IsanaYashiro 2020-01-23
rareli 2020-01-18
大老张学编程 2020-01-08