如何高效,全面的升级并修复.net core 中被报的一些安全漏洞

-- 如何高效,全面的升级并修复.net core 中被报的一些安全漏洞(基于nuget, docker镜像的方案)
【官网】:https://hub.docker.com/_/microsoft-dotnet-aspnet/

应用场景

.net core出现漏洞后,我们经常需要面对如下问题:如何优雅的,快速的,全面的修复漏洞。

基础资源

使用须知

升级之前需要和团队进行相关的沟通,避免信息不对成造成不兼容等问题。

配置步骤

A)一些常见问题 。

A1)业界经常出现的"LTS"是什么东西?

   LTS代表长期支持的版本,下面是一个示例:

B)升级,修复漏洞的方式。

[假设].net core  运行时中出现安全漏洞(例如:system命名空间下System.Texts.Encode.Web下的Encode出漏洞了),影响范围特别广...如何修复?


    因此根据漏洞的安全通报,由于大版本不变,只是变了小版本.

    [注] 当然也要建议找修复了该漏洞且最近的LTS版本


对.NET Core 3.1,则应下载并安装Runtime 3.1.13或SDK 3.1.113(适用于Visual Studio 2019 v16.4)或3.1.406(适用于Visual Studio 2019 v16.5或更高版本)

对.NET Core 2.1,则应下载并安装Runtime 2.1.26或SDK 2.1.522(适用于Visual Studio 2019 v15.9)或2.1.814。


B1)docker环境下的快速升级(项目代码不用变)。

   可以直接升级docker镜像中的.net core runtime的版本。

 B2)Nuget包的升级(需要修改项目代码).

     有些情况下,连大版本都变了,则需要在项目中更新到高版本的引用。另外连带docker内的依赖也需要更新到高版本。然后再重新制作镜像。

  B3)独立应用的升级。

    修改引用,重新编译,重新部署。 


C)修复完了要怎么样?

  

安装更新的运行时或SDK后,请重新启动应用程序以使更新生效。

常见问题

快速入门

参考资料