摘要:信息技术领域的发展极大提升了社会生产力,不仅对计算机算力提出了更高要求,同时也要求算力设备具备更强的可维护性和稳定性。作为网络中最为关键的高性能计算机,服务器在稳定性和安全性方面无疑值得更多关注。服务器带外管理,因其通过基板管理控制器实现远程监控和管理,展现出极强的灵活性和管理效率,从而得到了广泛应用。然而,不断暴露的带外管理安全威胁,提醒服务器管理人员必须更加重视带外管理设备的安全性研究。通过深入研究带外管理IPMI规范和BMC系统,从IPMI规范自身存在的缺陷以及BMC系统设计上的不足两个方面,全面分析了带外管理存在的各种不安全因素。针对IPMI规范和BMC系统设计,文章提出了多种带外管理保护措施,以期实现服务器管理安全性的显著提升。
关键词:服务器;带外管理;智能平台管理接口;基板管理控制器
中图分类号:TP393文献标识码:A
文章编号:1009-3044(2024)35-0080-03开放科学(资源服务)标识码(OSID):
1背景
进入21世纪以来,信息技术领域迎来了爆炸式的发展,云计算、大数据、边缘计算、人工智能以及5G网络等技术,从概念逐步走向实际,并在各个领域得到了广泛的部署和应用。这些技术的迅猛发展,不仅极大提升了社会生产力,同时对计算机算力提出了更高的需求,也要求算力设备具备更强的可靠性。服务器,作为部署在网络各个节点上,用于提供各种服务的高性能计算机,拥有高速的数据运算能力和海量的信息储存容量,存储并处理着网络上绝大部分的数据和信息,被誉为互联网的灵魂[1]。与普通计算机相比,服务器在稳定性、安全性以及性能等方面都有着更高的要求[2]。服务器设备管理主要分为带外管理和带内管理两种方式。由于带外管理方式不占用服务器系统资源,且管理、控制、数据信息分别位于不同的物理通道,相互独立,因此带外管理方式逐渐成为服务器设备管理的主流方式。
带外管理主要基于IPMI规范,其全称为“Intelli⁃gentPlatformManagementInterface”,该规范于1998年由DELL、HP、NEC以及Intel共同提出。同时,IPMI论坛也负责创建和维护IPMI标准[1]。IPMI规范是一个硬件管理规范,它完整地涵盖了服务器以及其他系统。该协议规定了消息格式规范,并且对于不同的传输接口,消息格式也会有所不同。通过IPMI规范,服务器管理员可以方便地监视服务器的健康特征,如核心温度、电源电压、电源状态以及散热模组的工作状态等。IPMI规范是一个免费开放的标准,其最新版本为IPMI2.0。然而,在标准IPMI协议的基础上,各大服务器厂商在独立开发带外管理产品时,对安全性能的忽视导致了安全漏洞的频发。
在本文中,首先介绍IPMI规范,并详细分析带外管理所面临的安全漏洞和不可靠性。最后,针对带外管理漏洞的研究结果,提出一种更为安全的带外管理解决方案。
2服务器管理技术分析
服务器带内管理方式中,服务器管理信息与业务信息需通过同一信道进行传输。而在服务器带外管理方式中,服务器管理控制信息与业务信息则通过不同的逻辑信道进行传送[3]。由于带内管理使用同一逻辑信道,因此其天生存在缺陷:当网络出现故障导致中断时,数据传输和管理控制都将失效。相比之下,带外管理策略通过设置专有通道,有效解决了这一问题。服务器管理员可以通过基板管理控制器(Base⁃boardManagementController,BMC)对服务器进行远程监控和管理。BMC配备独立的硬件接口、软件以及操作系统,遵循IPMI协议,对外提供统一的访问接口。作为服务器的特有模块,BMC提供了便捷的监控和管理接口,极大地方便了管理人员的远程管理工作。同时,BMC使用独立的供电设备,确保在服务器关机时仍能保持工作状态。如图1所示。
BMC主要有以下5个功能:1)设备信息管理:记录服务器信息、BMC信息。2)服务器状态监控管理:对服务器各个模块的工作状态和健康状态(温度、电压等)进行检测,接收温度采集信息并综合决策调整散热系统工作状态,保证服务器保持在正常温度工作且控制服务器整体运算和散热功耗不能过高,如果服务器某部件出现异常状态,及时上报给上层管理员。3)远程控制管理:服务器的开机、关机、重新启动、更新固件、安装系统等。4)维护管理:服务器日志管理、服务器访问用户管理、BIOS管理、安全告警管理等。5)故障排除:拥有一定的故障指示能力。
总的来说,BMC本身就是一个小型系统,依附但独立于服务器系统并通过IPMI规范实施服务器远程控制管理、监控等功能。BMC通过集成或PCIE接口等连接方式物理连接于服务器主板,对服务器管理员而言只是拥有独立IP地址的一个标准的RJ45网口。
图2展示了IPMI的软硬件层面。BMC在IPMI规范下发挥功能,IPMI则是运行在BMC上的规范。广义IPMI由4个规范组成:智能平台管理接口(IPMI),智能平台管理总线规范(IPMB),可替换单元存储定义规范(FRU),智能机箱管理总线规范(ICMB)[1]。BMC搭载管理系统作为带外管理软件与带外管理硬件的通信中介,与智能平台管理总线和智能机箱管理总线通信[4]。IPMI规范通过IPMB将其他管理控制器连接到系统支持平台并管理扩展。智能平台管理总线通过I2C串行总线管理控制器之间通信[5]。IPMI规范现为2.0版本,相较1.0版本在网络传输中的安全与加密功能得到增强。不仅如此,2.0版本中新增的远程桌面显示和虚拟容器技术加强了服务器的远程监控和管理的灵活性。
带外管理常常在以下两种情况部署:1)服务器管理员与服务器设备存在空间间隔限制,如通信基站、政企大规模网络中心等。一旦服务器宕机,带内管理方式失效,管理员现场维护受到时间和空间限制。而带外管理方式能够避免这个问题并在提升服务器维护效率的同时降低运维人员的时间成本。2)服务器管理员与服务器没有空间限制,但是服务器管理员团队需要管理极大数量的服务器设备,例如云计算、大数据中心,因此需要带外管理方式统一地管理这些服务器,形成规模建制。而正是因为带外管理方式使得服务器管理者拥有极高的权限,获取管理员权限后攻击者可以完全控制服务器设备。BMC比主机服务器享有更大的权限。BMC可以持续访问主机服务器的文件、内存(使用DMA)、键盘/显示器和固件。此外,BMC能够将数据发送到外部网络,甚至可能重新配置主机服务器网络接口。这为攻击者提供了偷偷全面控制受害者系统所需要的全部工具。当服务器出现漏洞,各种数据会丢失,电脑无法正常工作,这将危害到人们生活和工作的方方面面。2019年11月,芯片巨头Intel发布警告称,IntelServer产品中的基板管理控制器(BMC)固件存在13个漏洞,其中包含一个可导致信息泄露或攻击者完全控制的严重漏洞。随着服务器厂商不断暴露出带外管理安全威胁,因此对带外管理设备安全性研究十分重要。
3带外管理技术安全性分析
2015年,启明星辰和网御星云共同发布“现场运维审计与管理系统”,填补了我国在服务器带外管理的空白[1]。但是该产品也并不是利用修复IPMI规范漏洞和提升服务器软硬件安全性来保护带外管理安全。该系统通过运维审计功能、设备安全隔离功能和工业数据防泄露功能提升带外管理安全性。作为一种底层规范,任何服务器设备都会因为IPMI规范漏洞面临同样的威胁。接下来,从版本漏洞、通信漏洞、身份验证漏洞、BMC漏洞、AMT漏洞方面分析带外管理技术的安全漏洞。
3.1版本漏洞
IPMI虽然赋予了带外管理强大的功能和极高的灵活性,但同时也带来了一系列的安全风险。即便服务器管理员关闭了服务器系统,只要服务器电源依然接通,IPMI仍然可以正常使用。这意味着,服务器攻击者有可能绕过服务器系统的安全防护措施,从而获取控制系统的能力,包括重启系统、重新安装系统,甚至进一步威胁用户信息和数据安全。具备IPMI访问权限的攻击者,能够通过互联网搜寻并打开带外管理界面,进而连接到目标BMC。一旦攻击者掌控了BMC的控制权,便可能对服务器及其用户造成威胁。
3.2通信漏洞
IPMI规范允许服务器管理员通过命令远程获取服务器状态信息,然而这也为远程BMC带来了潜在的风险。以“GetChannelAuthenticationCapabilities”命令为例,该命令在匿名登录状态下,会告知远程控制台用户账户当前是否被配置为空用户名和空密码。此外,该模块还提供一个比特位,用于揭示是否存在一个可用的且非空的用户名。这种情况可能导致匿名用户处于可用状态,从而使得服务器攻击者能够自由登录,或者使用供应商提供的默认账户来控制BMC。而“GetSystemGUID”命令虽然是可选的,但IPMI规范中却强烈推荐使用。因为全球唯一标识符(GUID)是标识服务器系统的唯一编号,它能够帮助服务器管理员轻松获取服务器的唯一且不会混淆的标识。这对于服务器管理员进行大规模管理来说非常有利,然而这个命令也可能带来严重的安全隐患,使得服务器集群透明地暴露在攻击者的视线之中。
3.3匿名身份验证漏洞
部分BMC系统默认允许匿名用户访问。在BMC的初次配置过程中,为了简化配置流程,通常会将用户名设置为空字符,密码也设置为空密码。BMC系统模块会识别并存储这些空白用户和空白密码,并可能留下重置指定用户账户密码或访问其他服务的后门。
3.4BMC漏洞
归根结底,BMC只是一个微型计算机,并运行着某个操作系统。BMC上的所有系统配置命令、IPMI命令、系统升级以及任何更改都依赖于BMC系统上的程序。如果服务器攻击者侵入BMC并修改或禁用某些脚本,将导致管理员和服务器用户无法对服务器进行有效的管理。即使服务器管理员拥有root权限,也可能因为BMC的损坏而无法实现某些功能。
3.5AMT漏洞
Intel的处理器内置了一个管理子系统。该子系统在硬件层面拥有独立的处理器、内存和总线等,并能够访问主系统内存。这个子系统上运行的是经过定制的MINIX操作系统。通过MINIX,控制者可以完全掌控主系统,包括访问主系统的文件系统、开关主系统,甚至追踪记录用户在外部输入设备上的操作。尽管该系统采用了RSA-2048进行保护,但研究人员已经能够利用该管理子系统固件中的漏洞进行部分控制,甚至长期潜伏在处理器主系统内(利用rootkit机制)。因此,一旦BMC系统遭到rootkit攻击,服务器攻击者便有可能进一步获取服务器的管理权限。
4带外安全漏洞维护及安全BMC设计
4.1带外安全漏洞修复
1)外部保护。带外管理系统与服务器系统相互独立,且不在同一层级,因此服务器系统内部的安全保护措施在带外管理中并不奏效。为此,应制定合理的防护方案,部署在网络访问IPMI接口之前,确保IPMI与Internet之间得到有效且安全的隔离。服务器管理人员需构建网络防火墙,对访问IPMI和BMC系统的流量进行严格审核和过滤。同时,建议将IPMI配置在独立的VLAN或物理网络中,并通过操作系统(例如Linux)实施访问信息的过滤,从外部层面加强对带外管理IPMI的保护。
2)密码保护。许多服务器管理员缺乏足够的安全保护意识,错误地认为只要管理得当就不会遭遇安全问题。这种心态往往导致他们为简化管理而设置通用密码,用于服务器管理系统的用户认证,并在系统内使用同一密码访问所有服务。为消除这一隐患,服务器管理员应将所管理的服务器群划分为若干子群,并为每个子群设置独特的用户名和密码。此外,为IPMI的每项业务配置不同的用户名和密码。用户登录时首先进行身份认证,执行管理任务时再进行业务认证,从而防止攻击者通过获取单一账户来实现对服务器管理系统的全面控制。无论是服务器管理系统的密码还是业务密码,在长度和复杂性上都应尽可能达到规范所允许的上限。IPMI规范限制密码最长为20个字符,因此服务器管理系统应采用尽可能长且复杂的密码,并包含特殊字符以提高破解难度[5]。服务器管理团队还应定期更换用户名和密码,以降低密码长期不变所带来的潜在风险。
3)权限管理。服务器管理组应共同讨论并制定不同用户的系统权限等级,实现权限的分层管理。用户应分为管理员、普通用户和只读用户三类,其权限逐级递减。只读用户分配给普通巡检员,仅具备数据读取权限,无权更改配置;普通用户则拥有部分管理和故障修复权限;管理员作为唯一角色,拥有最高权限,即服务器管理系统的全部权限[6]。管理员权限账户应由整个服务器管理组共享,并仅在群体决策后使用。在日常管理中,为每位服务器管理员分配普通用户账户即可。
4)加密流量。IPMI支持密码套件功能,允许用户通过不加密的方式直接访问BMC,但如前所述,这存在极大的安全隐患。因此,服务器管理团队应禁用密码套件功能和匿名账户,并在所有IPMI接口上实施加密措施,以增强带外管理系统的安全性。当服务器报废时,应物理销毁其存储模块、主板、网卡等关键部件。
5)规范管理。服务器管理团队应制定合理且严格的带外管理功能使用规范。每位服务器管理员应选择安全的配置方式,并禁用不必要的命令功能(如前文提及的各种远程命令)。服务器管理系统应引入安全验证机制,并定期使用带外管理漏洞扫描工具进行系统扫描和维护。管理人员还需密切关注业界公布的最新系统漏洞,并及时更新固件补丁[7]。
6)其他措施。鉴于带外管理涉及硬件与软件两个层面,单一防范措施难以全面应对所有已暴露的漏洞。当前,国内对网络安全日益重视,中美在网络安全领域的竞争也日益激烈。因此,应对服务器管理系统固件进行安全认证,从源头上确保系统安全,防止使用的系统存在后门(如AMT漏洞)。对于需要保密的部门,在设备采购时应优先考虑国内服务器厂商(如华为等),掌握服务器和服务器管理系统的核心技术,才是确保安全最可靠的保障。
4.2BMC安全设计
考虑到英特尔处理器存在的各种漏洞和后门对涉密服务器群构成了不小的安全隐患,且BMC系统能够通过集成或某种硬件接口(如PCIE)连接到服务器上,实现服务器的带外管理,有能力的服务器管理团队可以考虑自主设计BMC系统,从源头上确保BMC的安全自主可控。在对BMC进行设计时,应着重考虑两层安全性:第一层是系统整体运行的安全,第二层是内部信息传递的安全[8]。
在两种主流处理器芯片架构中(x86和ARM),ARM架构在轻量级处理器领域得到了广泛应用。ARM架构采用精简指令集设计理念,具备计算高效能、低功耗的优势。在安全性方面,ARM架构内置了多种安全机制,能够有效保护数据免受恶意攻击和泄露。这些安全机制不仅能有效抵御黑客入侵和病毒攻击,还能确保数据传输和存储过程的安全性。因此,无论是在移动设备上还是在服务器上,ARM架构都能提供可靠的安全保障,用户可以放心地使用和存储重要数据。此外,ARM架构的处理器采用了冗余设计,这意味着当某个硬件出现故障时,系统能够自动切换到备用处理器,从而确保系统的连续运行。这种设计使得ARM架构在应对突发情况时更加稳定和可靠,能够有效避免系统突然崩溃或数据丢失的情况。同时,ARM架构还经过了严格的测试和验证,以确保其在各种环境下都能稳定运行。无论是高温、低温还是高湿度等恶劣环境,ARM架构都能保持出色的性能和稳定性。综上,ARM架构在安全性、可靠性以及系统特点方面都表现得相当出色。因此,无论是在移动设备、服务器还是物联网领域,ARM架构都得到了广泛的应用[9]。
如图3所示,BMC系统由WEB交互、系统控制和UEFI交互构成,并完成信息采集、远程管理、控制管理、事件管理和访问管理。在设计并完成BMC系统的基础功能后,基于ARM处理器的BMC设计过程中,开发人员可以部署TrustZone安全扩展模型,并将Linux内核及基于IPMI规范的模块植入主板上的对应FLASH芯片中。在使用IPMI命令时,增加一层判别机制,一旦网络参数出现异常,系统将生成相应的警告消息。管理人员可以通过WEB接口分析这些事件。在访问管理功能方面,用户的有效性和其对应的权限至关重要,这一功能对BMC的安全性具有决定性影响。为此,引入了用户认证机制,通过交互接口进行通信,以增强用户的有效性并确保用户密码的安全性。在软件设计方面,将版本升级设计为在线升级方式,以避免对FLASH芯片的多次烧录,从而提高固件的稳定性与可靠性,并减少芯片的损耗[10]。
5总结与展望
服务器作为网络上提供各种服务的高性能计算机,为用户提供数据存储、算力支持、网络访问与信息交互等多重功能。随着云计算、大数据、边缘计算、人工智能及5G网络等技术的飞速发展,用户对服务器性能提出了更高要求,同时也对服务器安全性带来了新的挑战。因为一旦服务器出现故障,将会对经济、安全和用户体验造成难以估量的损失。服务器的功能特性要求其能够保证24小时稳定运行,因此服务器的运行管理和维护显得尤为重要。随着技术的不断进步,服务器管理已经从人工管理发展到自动化管理,由单纯的软件管理发展到软硬件结合的管理,最终形成了软硬件和固件的一体化管理体系,服务器管理规范也逐步得到完善。
本文通过研究带外管理IPMI规范和BMC系统,从IPMI规范自身的缺陷和BMC系统设计的不足两个方面深入分析了带外管理存在的各种不安全因素。随后,在以往研究成果的基础上,从IPMI规范和BMC系统设计两个方面提出了多种带外管理保护措施,以提高服务器的管理安全性。然而,在带外管理安全性方面仍然存在着潜在的漏洞等待发现。接下来,计划对各大厂商服务器独立设计的带外管理系统进行详细的研究和分析,从不同厂商的不同带外管理固件、硬件、加密方式、通信协议以及具体实现差异等多个方面进行深入研究,最终为我国服务器管理团队形成一套完整、有针对性的服务器带外管理体系规范,以提升国家的网络安全水平。
【通联编辑:代影】