最近有人问我,为什么Stratus 不为在 VOS 17.0 之前的版本上运行 OpenSSL 的客户提供安全更新,而我们仍然为在 Continuum 上的 VOS 14.7 上运行 OpenSSL 的客户提供更新。从表面上看,这似乎是一个不一致的政策。由于OpenSSL是我们为VOS操作系统提供的安全敏感度最高的产品之一,因此了解我们如何管理它是很重要的。
首先,简单回顾一下我们已经提供的,或者仍然提供的OpenSSL版本。
1.OpenSSL for VOS Release 1.0,基于0.9.7c版本,Continuum平台,基础版本VOS 14.7,2005年1月发布;OpenSSL 0.9.7c日期为2003年9月。
2.OpenSSL for VOS Release 2.0,基于0.9.7e版本,V系列平台,基础版本VOS 15.1,2005年8月发布;OpenSSL 0.9.7e日期为2004年10月。
3.OpenSSL for VOS Release 1.1,基于1.0.0版本,Continuum平台,基础版本VOS 14.7,2011年5月发布;OpenSSL 1.0.0日期为2010年3月。
4.4. OpenVOS 2.1版互联网安全包(包含OpenSSL),基于2011年5月发布的OpenVOS 17.0基础版1.0.0。
5.OpenSSL for VOS Release 1.1.1,基于1.0.0k版本,Continuum平台,基础版本VOS 14.7,2014年3月发布;OpenSSL 1.0.0k日期为2013年2月。
6.Internet Security Pack for OpenVOS Release 2.1.1c(包含OpenSSL),基于V系列平台1.0.0k版本,Base release OpenVOS 17.0,2014年3月发布。
需要注意的是,该产品2005年首次发布,2001年更新,今年年初再次更新。当我们更新产品时,我们会将整个源码库刷新为作者发布的当前版本。这包含了所有的新功能、错误修复和安全补丁。在这些重大更新之间,我们只应用安全补丁、对移植问题的修正或(偶尔)重要的错误修复。
我们一直在努力监控OpenSSL邮件列表,以了解安全补丁的发布情况。我们立即着手创建了一个包含这些更改的新的错误修复版本,并在http://openvos1.stratus.com 上提供下载。文件"openssl_RELEASE_updates.memo"包含了我们已经应用的安全修复列表(其中字符串RELEASE应该由版本名称代替;例如,1.1.1)。
但我们只更新最新的版本,现在是1.1.1和2.2.1版本。
不习惯使用开源软件的客户可能不理解为什么我们不对较早的、以前的版本打安全补丁。开源社区在提供安全补丁方面表现得相当负责任,但他们一般不会追溯到很多版本。部分原因是他们发布的版本比我们(Stratus VOS)发布的版本多得多。部分原因是,他们在客户升级整个软件包(通过RPM、APT或YUM)的世界里运作,而且很容易升级。我们无法控制他们,我们也无法控制他们回溯到什么程度。我们也不知道他们的代码,这是非常重要的一点。如果他们不提供旧版本的错误修复或安全补丁,我们就很难自己制作一个准确的补丁。
因此,我们选择在得到安全修复时,更新我们开源产品的最新版本。即便如此,我们有时也不得不更新整个源代码库,而不是只打一个补丁。这就是为什么我们在三月份刚刚刷新了OpenSSL 1.1.x/2.1.x的源代码库,原因就在于此。OpenSSL 1.1.x和2.1.x使用相同的源代码,只是编译选项不同。这是我们刻意的决定,以简化维护两个版本的任务。
使用OpenSSL前几个版本(1.0和2.0)的客户使用的软件分别是11年和10年前的产品。我们在2011年5月发布了他们的后续产品。因此,我们的客户有3年的时间来升级到当前的、完全支持的VOS和这些分层产品的版本。当然,这对任何客户来说都是足够的时间。诚然,这意味着希望避免"Heartblead"等bug的客户也必须跟上VOS版本,因为OpenSSL 2.1.x至少需要OpenVOS 17.0的基础版本。我想说的是,跟上软件的当前版本是任何一个商店的基本功能。在开源世界里,它比以往任何时候都重要。
如果您对此有任何疑问或顾虑,请联系Stratus 客户服务,或您的客户经理。