asp.net-core – 如何将安全更新应用于.NET Core项目?
我正在更密切地关注.NET Core,而我似乎没有找到任何关于如何应用安全更新的信息?
如果我将所有程序集与应用程序分离,从Windows Update分离,如果组件有安全补丁,我将如何更新它们? 当您使用操作系统附带的框架时,您只更新一次,但如果您有一堆网站,我需要单独更新它们吗?我假设它都需要从我的原始源开始,在那里进行更新然后重新部署所有内容,因为如果我只是通过命令行更新部署,而我不对我的源做同样的事情,我’将再次重新部署不安全的位. 解决方法
无论如何,您总是必须这样做,因为系统更新只会影响运行时,而不会影响您的应用程序引用来自nuget或其他来源的包.
.NET核心有两种风格 1.便携式应用 便携式应用程序就像您在.NET Framework中使用的那样.您安装了运行时/ SDK,并且您的应用程序仅引用这些核心集,但不会将它们与您的应用程序一起部署. 在那里更新运行时就足够了.优点是较小的部署包.缺点是您需要在部署之前在系统上安装正确版本的运行时. 2.独立应用程序 另一方面的自包含应用程序不需要已安装的运行时,并将使用该应用程序部署必要的系统库. 这里的优点是,您可以部署应用程序并并行运行多个应用程序,这些应用程序使用它们编译的库,而不会产生框架或运行时更新的副作用. 缺点是,更大的规模和缺乏修复和安全更新的中央更新机制. 但最终,问题仍然存在.当您的某个非.NET-Framework依赖项升级或接收安全修复程序时,这两种风格都不能解决问题. 因此,两种版本仍然需要使用更新的库集重建/重新部署应用程序,并且使用旧的.NET Framework需要它. 要升级旧版应用程序或版本,您应该使用源代码管理系统.使用里程碑/版本的标签,因此您可以随时检查标签升级它的依赖关系并提交部署它. .NET Core也可以与docker一起使用,因此当您使用像Rancher这样的Docker编排工具时,部署应该很容易. 最重要的是,特定的库(如加密)不是通过NuGet / .NET Core Runtime发布的,只是它们的包装器.例如,Cryptography对Windows上的CryptoAPI和Linux / MacOS上的OpenSSH具有本机依赖性.当在OpenSSH中修复错误时,系统更新机制(即apt-get等)将覆盖该错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 实体框架 – 无法创建x类型的常量值.在此上
- asp.net-mvc-3 – MvcSiteMapProvider和web.config:解析器
- asp.net – 如何以编程方式设置Elmah电子邮件的收件人
- asp.net – 无法从’System.Data.Linq.Binary’转换为’Sys
- asp.net-mvc – Asp.net MVC路由模糊,同一页面有两条路径
- asp.net – 更改视图位置
- 获取一些401 – 访问我的ASP.NET MVC网站时未经授权的异常
- asp.net-mvc – Orchard CMS:未显示内容部分
- 验证 – 如何强制MVC验证IValidatableObject
- asp.net – 403从WindowsAzure.Storage生产错误