0

有谁知道如何强制 DotNetNuke 6 使用 TLS1.2 作为整个站点的默认设置?

我找到了 DotNetNuke 7 及更高版本的模块,但 IServiceRouteMapper 在 DotNetNuke 的早期版本中不存在,这是我为 DotNetNuke 7+ 找到的

using DotNetNuke.Web.Api;
using System.Net;

namespace DotNetNuke.Security.Tls12
{
    public class ServiceRouteMapper : IServiceRouteMapper
    {
        public void RegisterRoutes(IMapRoute mapRouteManager)
        {

            // Enable TLS 1.2
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; // .NET 4.5
        }
    }
}
4

3 回答 3

0

从技术上讲,如果您有能力编写一个保证被调用的模块,例如皮肤对象、主页上的模块或其他模块,您可以使用 DNN 6.x 执行此操作。

这行代码

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

是一个全球性的变化,但它确实需要 .NET 4.5,在 DNN 6.x 上您可能还没有达到。

考虑到真正的安全性,在 DNN 6.x 站点上添加对 TLS 1.2 的支持是徒劳的,因为存在更大的问题并且应该尽快进行升级。

于 2020-11-27T15:45:01.187 回答
0

这个项目可能会工作,但不确定它是否能在 DNN 6 上工作。即使它确实工作,如果这个项目是公开的,你真的需要优先考虑升级。

在 DNN 上强制使用出站 TLS 1.2

https://github.com/davidjrh/dnn.tls12

于 2020-12-08T06:32:35.830 回答
0

您应该升级 DNN。DNN 6 真的很老了,有很多安全问题。最新版本是 9.8.0。

我认为对于 DNN 6,这只能在 IIS 中完成,但这意味着:对于服务器上的所有站点。有关详细信息,请参见此处

于 2020-11-25T14:39:31.343 回答