一文教你保护你的服务器,避免“幽灵”和“熔断”侵袭

近期各大新闻媒体皆在高度关注meltdown与spectre安全漏洞对windows pc设备造成的影响,但可以想见,二者带来的真正隐患其实在于对服务器以及云带来的冲击。
meltdown与spectre处理器bug正牵动万千桌面用户的心,自己的计算机被一款编写质量糟糕的英特尔或amd cpu补丁弄到性能衰减确实很难让人接受。然而从配件事件来看,无论是linux、macos还是winows,pc设备都不会受到太大的影响。meltdown与spectre的真正灾难将主要降临在服务器,而非个人设备身上。
这是因为meltdown与spectre能够影响到应用程序与操作系统专用内存之间的内存空间。在pc设备上,这仅代表着其可提取密码等敏感信息。但在云端,则有可能导致企业客户的机密数据被他人所窃取。
sans安全专家jake william警告称,"在众多半虚拟化实例(例如xen)与内核沙箱(例如docker)用例当中,meltdown都有可能破坏容器与主机内核之间所共享的内核地址。"
微软的虚拟机管理程序hyper-v并未使用半虚拟化机制,但其仍然可能受到影响。微软windows与设备部门执行副总裁terry myserson在博文当中解释称:"在多服务器共享功能环境当中(例如某些云服务配置中的功能),此类漏洞可能意味着某人能够访问处于其它虚拟机之内的信息。"
微软公司很早就已经意识到这个问题,并着手安装azure以及hyper-v补丁以作为解决方案。然而,myerson警告称这还远远不够。"运行在本地或者云环境中的windows server客户还需要评估是否已经在各windows server虚拟机访客或物理实例当中部署了安全缓解措施。"
为什么?这是因为"当您在windows server实例当中运行不受信任的代码时(例如允许您的客户上传二进制文件或者代码片段,并在windows server实例当中运行),您需要上述缓解措施以控制应用程序二进制文件或代码,确保其无法访问windows server实例当中与其权限水平不符的内存空间。您不需要利用这些缓解措施隔离windows server虚拟机以及虚拟化服务器上的其它虚拟机,而仅需要利用其隔离特定windows server实例当中运行的不可信代码。"
要保护您的服务器--无论其运行在服务器机柜的裸机当中抑或是云端--您必须为以下安全漏洞安装修复补丁:cve-2017-5715(分支目标注入)、cve-2017-5753(边界检查绕过)以及cve-2017-5754(流氓数据缓存加载)。
但这些补丁并非适用于全部windows server版本。截至目前,所有陈旧的server 2003版本以及2008与2012版本皆可能遭受攻击。微软公司正在为2008与2012版本开发补丁程序。如果您一直在尝试更新2003版本,请不要再浪费精力了--过去的已经过去,除了此次曝光的最新安全漏洞之外,近几年来其它漏洞也都会影响到2003版本。
另外,单纯安装补丁还不足以解决问题--您还需要做得更多。正如桌面版windows一样,您同样必须确保使用与补丁相兼容的反病毒程序以避免服务器发生bsod。如果您未在服务器上运行反病毒软件,则必须使用regedit以设置以下注册表项:
key="hkey_local_machine" subkey="softwaremicrosoftwindowscurrentversionqualitycompat"
value="cadca5fe-87d3-4b96-b7fb-a231484277cc" type="reg_dword" data="0x00000000"
无论是否使用反病毒软件,您都必须作出其它注册表变更。如果您的服务器为hyper-v主机或者远程桌面服务主机(简称rdsh),或者您的服务器实例正在运行容器或不可信数据库扩展、不可信web内容或者包含来自外部来源代码的工作负载,那么更是需要完成进一步调整。总而言之,您的大部分甚至全部服务器都需要进行注册表变更。
具体注册表修改项包括:
reg add "hkey_local_machinesystemcurrentcontrolsetcontrolsession managermemory management" /v featuresettingsoverride /t reg_dword /d 0 /f
reg add "hkey_local_machinesystemcurrentcontrolsetcontrolsession managermemory management" /v featuresettingsoverridemask /t reg_dword /d 3 /f
reg add "hklmsoftwaremicrosoftwindows ntcurrentversionvirtualization" /v
minvmversionforcpubasedmitigations /t reg_sz /d "1.0" /f
到这里,任务仍没有完成。现在,大家必须将芯片固件应用于您的服务器硬件当中。该固件应由您的硬件供应商负责提供。
一旦完成这一切,您还需要进行最后一步操作--重启您的服务器。
在azure当中,当补丁更新完成后,微软将自动重启您的服务器与虚拟机。您可以查看您的虚拟机状态,并通过azure门户中azure服务健康计划内的维护部分了解重新启动是否已经完成。
然而,虽然微软公司已经立足hyper-v层级开始处理这个问题,并表示客户不需要自行更新虚拟机镜像,但其同时警告称客户应继续为自己的linux与windows虚拟机镜像应用安全最佳实践。因此让我们面对现实吧:请更新您的镜像。如果这些安全问题可能入侵虚拟机,那么您的所有资产都有可能面临威胁,因此各服务器实例必须尽可能接受安全修复。
微软公司指出,"大多数azure客户应该不会因为此项更新而遭遇明显的性能影响。我们一直在努力优化cpu与磁盘的i/o路径,并在修复应用之后并没有发现明显的性能衰减。客户可能会遇到一些网络性能方面的影响,您可通过启用azure加速网络(适用于windows、linux)来解决此类问题。azure加速网络是一基以免费方式供全部azure客户使用的功能。"
加速网络是一项刚刚进入通用状态的新功能。其通过回避azure主机与虚拟交换机的方式加速虚拟机网络流量。其能够减少虚拟机的负载并将其转移到azure的内部可编程smartnic处。要使用这项功能,您必须启动一套新的虚拟机,并在创建时为其添加一个新的网卡。要对其进行管理,大家还需要使用较新的azure资源管理器门户。
尽管能够配合加速网络,我仍然认为微软的态度有点过于乐观。我们都知道,安装了修复补丁的linux系统会遭遇部分工作负载运行速度降低的问题--无论其运行在何种云之上。因此,没有理由认为windows server不会遭遇类似的性能问题。
除此之外,目前亦出现了一些azure虚拟机在安装补丁后出现问题的报告。
因此,在修复工作完成后,请测试您的服务器以确保其能够以与您期待相符的方式工作。在此之后,请进行性能测试。越早意识到自己在面对怎样的问题,您就能够越快开始解决问题并着手调整云及服务器资源,最终搞定各类性能不佳的服务。

70老式汽车踏板导致automobilia收藏品销售记录
慧荣科技总经理苟嘉章:客制化Open Channel SSD主控 让管理数据更容易
5G测试进入第三阶段 多城市开展试验工作
小米MIUI9最新消息:小米MIUI8已停止更新,MIUI9即将来临AI技术加持!小米MIUI9首批适配机型
六成基金经理看好5G板块 人工智能仍是热门
一文教你保护你的服务器,避免“幽灵”和“熔断”侵袭
潜在推动物联网发展的是什么
电话会议逐渐成为了人们商业交流的主要方式
java工程师有前途吗
固态电池发展的因素和应用
TicPods2真无线耳机有哪些亮点
焊接机器人行业国产化替代明显,未来发展可期
解答如何让USB接口提供更大电流
造成汽车线路板甩铜的原因有哪些?
东锅快速设计系统项目实施案例介绍
电动牙刷买什么价位的好?性价比千元电动牙刷推荐
电气工程的基本原理,功率传输和相位关系具有怎样的重要性
家庭影院的音箱材质
关于自动驾驶的快速发展分析
电脑硬盘是干什么用的