【发布时间】:2020-10-14 00:10:43
【问题描述】:
我正在尝试使用 System.Net.FtpWebResponse 连接到 FTP 服务器,但遇到了 TLS 问题;
如果我使用这个配置:
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
我收到此错误:
"Authentication failed because the remote party has closed the transport stream."
对于 SecurityProtocolType (Tls12, Tls11, Tls) 的任何其他值,我收到此错误:
"error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol"
什么是正确的配置?
---------更新 我不知道它是否有任何相关性,但我尝试了一个工具来检查 ftp 服务器,我得到了这个;我真的不知道这意味着什么
通过套接字测试协议,除了 NPN+ALPN
不提供 SSLv2 (OK) 未提供 SSLv3(正常) 未提供 TLS 1 未提供 TLS 1.1 未提供 TLS 1.2 不提供 TLS 1.3
您不应继续,因为未检测到协议。如果您仍然真的很想,请说“是”-> 是 不提供 NPN/SPDY ALPN/HTTP2 http/1.1(提供)
测试密码类别
不提供空密码(不加密)(OK) 未提供匿名 NULL 密码(无身份验证)(OK) 未提供导出密码(无 ADH+NULL)(OK) 低:不提供 64 位 + DES、RC[2,4](无导出)(OK) 未提供三重 DES 密码/IDEA 已过时:未提供 SEED + 128+256 位 CBC 密码 不提供强加密(AEAD 密码)
测试健壮(完美)的前向保密、(P)FS -- 省略空身份验证/加密、3DES、RC4 密码映射不可用,回退到 openssl
本地问题:客户端只有 1 个 PFS 密码
测试服务器首选项
有服务器密码顺序吗?不(不好) 协商协议 TLSv1.2 协商密码 ECDHE-RSA-AES256-GCM-SHA384,256 位 ECDH (P-256)(客户选择的有限意义) 每个原型的协商密码(客户选择的有限意义) (SSLv2:本地问题:/usr/bin/openssl 不支持“s_client -ssl2”) ECDHE-RSA-AES256-GCM-SHA384:TLSv1.2 由于顺序由客户端确定,因此未进行进一步的密码顺序检查
设置 TLSv1.3 密码套件时出错 140630432556352:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294:
测试服务器默认值(Server Hello)
TLS 扩展(标准)“重新协商信息/#65281”“EC 点格式/#11”“应用层协议协商/#16” 会话票证 RFC 5077 提示 no -- 没有广告生命周期 SSL 会话 ID 支持是 会话恢复票 否,ID:是 TLS 时钟偏差 随机值,无法进行指纹识别
客户端问题,不应发生:找到主机证书,但我们无法继续使用“服务器默认设置”。
测试HTTP头响应@“/”
HTTP 状态码 403 禁止 HTTP 时钟偏离本地时间 0 秒 不提供严格的运输安全 公钥固定—— 服务器横幅 Apache 应用横幅—— Cookie(s)(在“/”处没有发布)——也许最好尝试 30x 的目标 URL 安全标头—— 反向代理横幅 --
测试漏洞
Heartbleed (CVE-2014-0160) 不易受攻击 (OK),无心跳扩展 CCS (CVE-2014-0224) 不易受攻击 (OK) Ticketbleed (CVE-2016-9244),实验。不易受攻击(OK),没有会话票据扩展 ROBOT 错误设置 TLSv1.3 密码套件 140275162178880:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 140324905874752:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 139742720451904:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 140133308515648:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 140251683521856:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 140392466134336:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 140019500512576:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 139707582891328:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 139892042757440:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 140262622430528:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 设置 TLSv1.3 密码套件时出错 140130529056064:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 不易受攻击(OK) 支持安全重新协商 (RFC 5746) (OK) 安全的客户端发起的重新协商不易受攻击(OK) CRIME、TLS (CVE-2012-4929) 测试失败(无法连接) BREACH (CVE-2013-3587) 无 HTTP 压缩 (OK) - 仅提供“/”测试 POODLE,SSL (CVE-2014-3566) 不易受攻击 (OK),不支持 SSLv3 TLS_FALLBACK_SCSV (RFC 7507) 测试失败(无法连接) SWEET32 (CVE-2016-2183, CVE-2016-6329) 不易受攻击 (OK) FREAK (CVE-2015-0204) 不易受攻击 (OK) DROWN (CVE-2016-0800, CVE-2016-0703) 在此主机和端口上不受攻击 (OK) 确保您不要将此证书用于其他启用 SSLv2 的服务 https://censys.io/ipv4?q=EB4B836B43825246B82235A5E6851DEE642977E8714EA8C7D9F28BF907928B9C 可以帮助您了解 LOGJAM (CVE-2015-4000),实验性错误设置 TLSv1.3 密码套件 140009947899200:错误:1426E0B9:SSL 例程:ciphersuite_cb:没有密码匹配:../ssl/ssl_ciph.c:1294: 不易受攻击(OK):没有 DH EXPORT 密码,没有检测到
针对服务器测试所有 1 个本地可用的密码,按加密强度排序 密码映射不可用,回退到 openssl
十六进制密码套件名称 (IANA/RFC) KeyExch。加密位密码套件名称 (OpenSSL)
本地问题:在/home/user/etc/client-simulation.txt中找不到客户端模拟数据
【问题讨论】:
-
详细信息取决于您使用的服务器。但服务器未知。
-
服务器是 Microsoft FTP 服务,至少我在记录连接时看到的是这样
-
我尝试使用 FluentFTP 但同样的问题;这是连接的日志 # Connect() 状态:连接到 [ip]:21 响应:220-Microsoft FTP 服务响应:220 ******************** ****************************************** 状态:检测到的 FTP 服务器:WindowsServerIIS 命令:AUTH TLS 响应:234 AUTH 命令正常。期待 TLS 协商。然后什么都没有
-
要么服务器不支持 TLS,要么您没有使用适当的工具进行检查 - 因为它没有找到任何 TLS 支持。但可能只是该工具首先不适合 FTP+TLS。除此之外,请修复您的格式以使其更具可读性,并且不要只是将未格式化的内容转储到问题中。