不要叫,要我说,可能没什么影响。。。

为什么?

因为很多人目前在使用的习惯就非常不好,停没停,都没什么差别。

CentOS7从 2014.7.7 开始发布,到 2024.6.30 停止服务,这中间经过了10年。一旦停止了服务,你将没有安全补丁,Bug修复和功能更新

但是我看过太多的系统,虽然用着CentOS7,却没有用到7.9版本。也就是,一般系统部署完后,就再也不会yum update了,乙方不干,甲方也不提,这种情况下,停止服务,对你没有任何影响。

前面说的比较标题党,停止服务是一定有影响的!如果有个安全漏洞非常严重,如果有服务,你是可以痛定思痛升级到最新版的。但是停止服务,你完全丧失了这个可能性。

但是,说实话,如果非常严重,你可以有很多种缓解方式,或者社区或者官方也都会继续特殊提供补丁。

说正确的话,我希望,CentOS7停止服务,对你影响非常大。

只有遵守最佳实践的人,有完善的自动更新机制,做得好的人,才会真正受到影响。

背景知识

官方对于CentOS版本的说明:

How does CentOS versioning work?

The CentOS Project provides updates or other changes ONLY for the latest version of each major branch. Thus, if the latest minor version of CentOS-6 is version 6.6 then the CentOS Project only provides updated software for this minor version in the 6 branch. If you are using an older minor version than the latest in a given branch, then you are missing security and bugfix updates. Older minor versions are not supported in official support avenues. Occasionally individuals may be able to provide some ad-hoc assistance but you will usually be asked to update to the latest version before recieving more specific help.

Since minor versions of CentOS are point in time releases of a major branch, starting with CentOS-7, we are now using a date code in our minor versions. So you will see CentOS-7 (1406) or CentOS-7 (1503) as a version.

CentOS只会对大分支的最新版提供服务。

CentOS不类似RHEL和Ubuntu,Windows,除了EPEL,他没有特别security-only updates安全补丁的概念,也就是,你在RHEL上使用的yum –security update在CentOS上是无效的。

如果你不运行yum update,你不会有任何提醒告诉你需要更新。而Ubuntu和Windows都有提醒和直接静默更新的选项。甚至更新完需要重启他也不会提示。为什么你应该经常重启你的服务器。如果你用CentOS,你没有对他进行监控,你可以一直用到天荒地老,没有任何声音,沉默性缺氧

把头埋在沙里,只要我看不见,我就不会有工作量。

只有这个版本的CentOS7才是安全的

cat /etc/redhat-release

看到的是

CentOS Linux release 7.9.2009 (Core)

才是安全的,其他7.6.1810、7.7.1908、7.8.2003都是存在风险的。

还有一种不安全的使用习惯

还有一种比较隐蔽,安装完CentOS,转头就自己下载类似OpenResty、MySQL、Tomcat的源码编译运行,也不用systemd,log也放在各种奇怪的地方。不使用CentOS7或者软件官方包管理器或者最新版容器的版本,而是完全自己编译。啥版本,改了什么自定义设置,完全是一团糟。

这种危害也是很大的。

这种人,他可以叫嚣操作系统他可以时时更新到最新,yum update对他可能也没有任何影响,只要build-essential没有大的更新,完全不影响他自己编译的服务。

就像假上云,使用了云平台,但是不用云平台提供的RDS,不用OSS,不用Redis,不用iLogtail,为了省钱,完全自己安装这些中间件和服务。

如果再深入到开发里涉及到的所有依赖的管理,那是另外一个更大的话题。

解决办法

  • 不要去识别啥补丁应该打,闭上眼睛全部打,在测试环境验证正确后全部打
  • 不要单独打某个补丁,你很难处理好现在和未来的依赖关系,全部打补丁或者使用缓解措施
  • 只使用包管理器安装软件,并且订阅安全更新。一个基于Python的Django项目正确的创建方式
  • 永远保持最新。高校外包公司自动化部署生存指南
  • 永远小步快跑,把更新工作量的曲线压平。还是那句话,如果注定要出问题,那就在大家都在上班的时候出吧!小朋友的寒假作业,你是愿意他每天写一点,还是在最后一天边哭边写呢?
  • 加上监控。我对Ubuntu的apt安全更新加了Zabbix监控,虽然安全更新会在每天早上6点自动打,有提醒,有能力可以更早一点。运维的四种境界
  • 己所不欲勿施于人,在让乙方干活之前先看看自己做得如何了
  • 建立自己的软件供应链管理机制
  • CentOS7停止服务后使用什么,可参考阿里云,腾讯云,华为云、亚马逊的推荐。