【问题标题】:DotNetNuke 6 force site to use TLS1.2DotNetNuke 6 强制站点使用 TLS1.2
【发布时间】:2020-11-25 10:44:23
【问题描述】:

有谁知道如何强制 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
        }
    }
}

【问题讨论】:

    标签: dotnetnuke dotnetnuke-6


    【解决方案1】:

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

    我认为对于 DNN 6,这只能在 IIS 中完成,但这意味着:对于服务器上的所有站点。详情请见here

    【讨论】:

      【解决方案2】:

      从技术上讲,如果您有能力编写一个保证被调用的模块(例如皮肤对象、主页上的模块或其他),您可以使用 DNN 6.x 做到这一点。

      这行代码

      ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
      

      这是一项全局性更改,但它确实需要 .NET 4.5,而 DNN 6.x 上您可能还没有达到。

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

      【讨论】:

        【解决方案3】:

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

        在 DNN 上强制使用出站 TLS 1.2

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

        【讨论】:

          猜你喜欢
          • 2018-04-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-19
          • 2011-04-26
          • 1970-01-01
          • 2017-01-02
          • 1970-01-01
          相关资源
          最近更新 更多