微软史诗级的蓝屏

本周经历了微软的蓝屏,一直到周末还在加班处理公司的问题。

个人终端受到的影响较大,服务器上也受到了影响。因为蓝屏的事情导致不少麻烦,据同事说因为蓝屏的问题,MGH 的手术安排也受到了影响。

目前我们也在着手处理有部署 Windows 的服务器,正好有时间来整理下脉络。

起因

据外媒,此次史无前例的全球范围内宕机起因是CrowdStrike在当地时间周四发布了一个存在缺陷的软件更新,导致全球范围内的微软Windows系统出现“蓝屏死机”。

外媒称这是“史上最大规模IT故障”。

当CrowdStrike向使用微软Windows软件的客户发送更新时,用户的电脑开始逐渐崩溃。

影响

根据我们的日常经验,微软通常是在美东时间周四的凌晨推送软件更新。

这次更新后会导致直接蓝屏,并且无法回滚更新,需要进入安全模式进行手动删除。

受到影响的主要是在使用 Windows 作为终端的计算机上。

因服务器的部署使用的是 Linux 和 Unix 操作系统的多,这部分受到影响较少。

如果公司有部署 IIS 服务器或者微软的服务器版本的话,那么也会受到影响,因为更新也后出现蓝屏。

航空公司

网络上报道的航空公司影响,主要应该是地面终端计算机,因为更新导致蓝屏,无法为用户办票。

如果用户使用的手机终端,理论上是可以办票的,因为手机终端通常通过调用 API 访问服务器。

但,如果公司服务器部署在 Windows 环境下的话,那手机终端也无法使用,因服务器也宕机了,或者使用变慢,因为部署方式采取的多是集群方式,会导致部分服务器宕机,但没有更新的服务器还是可以运行的,那么这些没有更新的服务器就会面临流量增加,那么服务变慢就是正常情况了。

至于机场显示大屏的问题,那多是因为连接机场显示大屏的计算机重启后蓝屏导致无法读取正常的数据而导致的。

通常我们认为数据层不会有太大影响,但因为是大屏显示,所以也比较震撼,就好像你把聊天记录通过大屏显示在高铁站的显示屏上,不也挺震撼的。

金融系统

至于银行系统,也是因为终端计算机受到影响,无法为客户办理业务,部分使用 Windows 的 IT 设备,包括自动取款机等,也会因为机器重启而导致无法开机。

因现在有很多终端和触屏设备会使用 Windows 作为操作系统,然后再在上面部署自己的应用,当整个计算机都起不来了,那自己的应用自然也就没有办法用了。

个人计算机

当微软发现这个问题后,也很快的推送了更新,所以个人计算机如果周四晚上没有开机的话,通常问题不大。

非常不幸的是因为时差问题,微软在推送更新的时候,亚太地区正好是周五的工作日下午,所以中招的人多人多在亚太地区的个人计算机也就是这个原因。

因为美东时间,我们的计算机处于休眠状态,更新没有被安装,所以没有什么影响。

探讨

CrowdStrike 这个公司就是通过一个软件更新轻易的影响了全世界,这里还是有些说法的。

谁的责任

这个责任当然是微软的责任,对于操作系统这样的重大更新,微软有做好守门员的责任。

任何通过微软更新的的软件微软应该要进行查看和了解软件的使用,如果不是微软的同意 CrowdStrike 肯定无法在全球计算机上安装他们的产品。

不管 CrowdStrike 说得有多牛逼,没有微软,很多人可能都不会安装这个软件。

同时,CrowdStrike 软件的安装是得益于微软的捆绑安装的,所以这个责任在微软。

更新测试

现在微软的测试都是这么拉跨或者根本不测的吗?

类似的这种更新就蓝屏的情况,哪怕是一个不懂计算机的测试人员在自己的计算机上安装了更新就会出现的问题都能冠冕堂皇的出现在微软的全球推送上。

这个不是测试的问题,这是根本就没有测呀。

只要测了就能发现的事情都能发生,就说明微软是不是没有人干活了呀。

这个不是测试没有测试的问题,这个简直就是灾难,哪怕是草台班子的软件开发公司都不敢这样给用户发布软件吧。

软件更新

很多公司,为了保持操作系统的更新,选择的都是默认相信微软。

公司电脑上都会要求强制安装所有的微软更新,这个决定也间接导致了这次事件的扩大。

如果不是强制安装更新,选择在微软发布更新后 3 天再安装,通常都能逃过一劫。

这次软件更新事件也给很多公司的 IT 部门上了一课,不是所有的更新都应该马上安装的,还是需要给自己一些容错时间。

不要把终端计算机上设置为只要微软发布了更新就更新计算机。

开源软件

虽然开源软件世界也有很多问题,比如几年前的 OpenSSL 问题和 XV 投毒事件等。

但是开源软件的源代码都是开放的,代码可以被所有人来审视,所以 Linux 下的问题更多是风险而不是事故。

选择 Linux 有可能出现风险,出现这种事故还是没有微软那么容易。

通过这次事件,相信整个 IT 界都会对微软和整个软件行业有更多的看法和认知。

看法

就这次微软的全球宕机事件来说,就是一个微软的供应商提供了一个有缺陷的更新来影响全球。

非常惊讶的是这个缺陷的更新是怎么通过供应商的内部测试和微软的更新测试的。

从表面上来看就根本就没有测试,有缺陷的更新就这么堂而皇之的进入了全球所有安装 Windows 的计算机上了。

现在的微软文化就已经是这样的了吗?连最基本的测试都不要的了吗?

这件事情从侧面也反映出美国社会的情况不仅仅是飞机制造业,包括软件行业也是一个样子了。

这个事件和波音飞机事件的影响如出一辙。

当然,通过本次事件后,各国都应该开始审视微软的风险,和为微软提供一些服务的软件公司的背景和潜在的风险。

对开源世界来说也算是一次经历。