- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试减轻我们对 Poodle SSL 3.0 Fallback 的脆弱性攻击。我们的管理员已经开始禁用 SSL 以支持 TLS 用于与我们服务器的入站连接。我们还建议我们的团队在他们的网络浏览器中禁用 SSL。我现在正在查看我们的 .NET 代码库,它通过 System.Net.HttpWebRequest 启动与各种服务的 HTTPS 连接。 .我相信,如果这些连接允许从 TLS 回退到 SSL,它们可能容易受到 MITM 攻击。到目前为止,这是我确定的。有人可以仔细检查一下以验证我是对的吗?这个漏洞是全新的,所以我还没有看到微软关于如何在 .NET 中缓解它的任何指导:
支持 .NET 中安全通信的 System.Net.Security.SslStream 类允许的协议(protocol)是通过 System.Net.ServicePointManager.SecurityProtocol 为每个 AppDomain 全局设置的属性(property)。
此属性在 .NET 4.5 中的默认值为 Ssl3 | Tls
(尽管我找不到支持它的文档。)SecurityProtocolType 是一个具有 Flags 属性的枚举,因此它是这两个值的按位 OR。您可以使用以下代码行在您的环境中进行检查:
Console.WriteLine(System.Net.ServicePointManager.SecurityProtocol.ToString());
在您的应用程序中启动任何连接之前,这应该更改为仅 Tls
,或者可能是 Tls12
:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls;
重要提示:由于该属性支持多个按位标志,我假设 SslStream 在握手期间不会自动回退到其他未指定的协议(protocol)。否则,支持多个标志有什么意义?
TLS 1.0 与 1.1/1.2 的更新:
根据 Google 安全专家 Adam Langley 的说法,TLS 1.0 was later found to be vulnerable to POODLE if not implemented correctly ,因此您应该考虑专门转向 TLS 1.2。
.NET Framework 4.7 及更高版本的更新:
正如 Prof Von Lemongargle 所暗示的那样下面,从 .NET Framework 4.7 版开始,无需使用此 hack,因为默认设置将允许操作系统选择最安全的 TLS 协议(protocol)版本。参见 Transport Layer Security (TLS) best practices with the .NET Framework获取更多信息。
最佳答案
我们正在做同样的事情。要仅支持 TLS 1.2 而不支持 SSL 协议(protocol),您可以这样做:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
SecurityProtocolType.Tls 只是 TLS 1.0,不是所有的 TLS 版本。
作为一个方面:如果你想检查你的站点是否不允许 SSL 连接,你可以在这里这样做(我不认为这会受到上述设置的影响,我们不得不编辑注册表以强制 IIS对传入连接使用 TLS): https://www.ssllabs.com/ssltest/index.html
要在 IIS 中禁用 SSL 2.0 和 3.0,请参阅此页面:https://www.sslshopper.com/article-how-to-disable-ssl-2.0-in-iis-7.html
关于.net - 禁用 SSL 回退并仅将 TLS 用于 .NET 中的出站连接? ( Poodle 缓解),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26389899/
前不久,哔哩哔哩(一般常称为 B 站)发布了一篇文章《2021.07.13 我们是这样崩的》,详细回顾了他们在 2021.07.13 晚上全站崩溃约 3 小时的至暗时刻,以及万分紧张的故障定位与恢复过
想象一下这种情况,周围有一些智能手机和计算机,它们的 WiFi 适配器(无线适配器)打开,但没有必要连接到网络。 有没有办法通过 Linux 机器查看 MAC 地址? 任何见解表示赞赏。 最佳答案 断
我无法创建新的 Window Station 来运行我的应用程序 int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { wprintf(L"
在 Conda 环境中安装包后,我想对该包中的代码进行一些更改。 在哪里可以找到包含已安装包的 site-packages 目录? 我有 Anaconda Python 2.7 base 发行版,但找
今天去改了matplotlib的配置。搜索 matplotlibrc 发现我有两个: 查看site-packages 文件夹,我发现很多包的名称中都有波浪号: ~klearn 是 sklearn ,但
我是一名优秀的程序员,十分优秀!