我在当前项目中维护 2 个环境,2 个服务器(1 个 Web 服务器和 1 个 SQL Server)用于生产和测试。上个月,我们安装/升级到了最新的 Microsoft 补丁/安全,并且 Reporting Services 的报告管理器停止在测试数据库服务器中工作。经过几天的故障排除后,我发现 ISIS 中的 ASP.NET 2.0 Web 服务扩展已被完全删除,并且所有内容都设置为禁止。
我不能肯定地说,但我认为这是由我几天前在该服务器上完成的补丁/更新引起的。安装补丁后,可以做些什么来预测或防止对 SQL Server、Reporting Services、IIS、ASP.NET 的这些类型的影响?
您应该继续保持尽可能模拟生产环境的测试环境,并保留当前配置的文档。然后,当补丁加载发布时,继续在您的测试环境中测试它们。如果某些东西开始死机,则在补丁更新后使用您当前记录的配置验证配置,以查看是否有任何变化/发生了什么变化。然后,如有必要,请尝试通过补丁更新再次复制该更改,以查明其为罪魁祸首。
就预测和预防它们而言,这是一个很难处理的问题。在偏执狂方面犯错,不要在生产中安装任何东西,直到你完全测试它并且对它像宣传的那样工作感到满意。大多数时候一切都会好起来的。确保您的配置得到完全支持,以便在出现问题时可以致电支持。
应用到生产环境时,始终有一个经过测试的回滚计划,以便在出现问题时可以恢复到原始状态。(这是一个技术术语)
一种方法是评估补丁,而不是立即安装它们。我们有一群人专门审查 Microsoft 和其他常见应用程序的补丁,评估漏洞的严重性并与应用程序所有者讨论风险等。
一些补丁被认为是关键的,并在发布后 48 小时(或更短)内应用。去年秋天,我们在 RPC 漏洞发布后的 30 分钟内开始修补该漏洞。其他我们将等待长达 6 周,具体取决于严重程度、降低漏洞利用风险的能力以及所需的测试工作量。
这样你就有时间让其他人被烧毁,并且你避免应用补丁的初始版本。这不是一个完美的过程,对许多人来说可能有点紧张,但它对我们有用。
(从 linux 的角度来看 - 但非常通用)