◆李继勇 周迎辉 闫岳明
(1.中铁信安(北京)信息安全技术有限公司 北京 100094;2.中国铁路信息科技集团有限公司 北京 100844)
信息系统普遍存在于各行业网络中,信息系统在使用的生命周期中不可避免会出现各种问题,需要对信息系统进行问题排查。此时,就需要用户单位,甚至是信息系统开发厂商的人员到现场对信息系统进行运维工作,但由于运维中可接触内部网络及关键信息数据,导致了运维中的各种安全风险,其突出体现在两类:
(1)运维过程中不合规接入引入的风险:外部非可控计算机接入网络,引入网络攻击风险;外部介质接入计算机,引入病毒木马;通过互联网接入运维,引入攻击风险。
(2)在线运维过程产生的风险:运维人员或计算机对业务服务器攻击,破坏其可用性;核心业务服务被注入恶意代码,窃取或破坏业务数据;以攻击服务器为跳板,渗透攻击内部网络。
以上风险在运维中都普遍存在,一般的解决办法就是从管理和技术两个角度考虑,管理角度会指定完善的运维规范和制度,采用限制互联网运维,对现场维护履行登记审批手续,运维过程全程陪同等等方式;技术手段就是采用一定的安全控制措施,限制运维人员可接触范围及操作内容等。
目前国内外典型的对运维安全的控制手段主要包括以下几类:
(1)常规的访问控制措施
指定运维人员在专门的网段计算机进行信息系统运维,通过交换机、防火墙等的访问控制手段限制运维计算机只能访问特定的信息系统。
(2)运维监控系统
一般没有专门针对运维的监控产品,通过网络审计、数据库审计、应用审计等相关技术和产品,对关键信息系统及服务器的操作行为进行监控审计,从中发现运维可能的风险。
(3)安全运维堡垒机[1]
这种产品是专门针对运维安全风险设计的,主要通过对运维协议的代理控制技术实现,在身份认证的基础上,通过协议过滤、方法过滤、文件传输控制、录屏审计等手段,一方面监视运维的操作过程,另一方面对关键指令进行控制,研制运维人员的操作,避免越权访问,达到安全运维控制效果。
以上运维控制技术手段虽然能缓解运维风险,但是随着信息系统越来越复杂,运维方式越来越丰富,有时甚至需要应急进行互联网运维等等情形,这些方式就存在不足:
(1)常规交换机、防火墙的访问控制手段对运维协议无安全过滤措施,可形成无法控制风险的运维管道;
监控手段并非专门为运维设计的,无法识别运维细节,无法实施细粒度的监视及控制;
即使专门解决运维安全问题的运维堡垒机产品,也存在风险:
(2)代理风险:此类产品基于协议代理实现,运维协议(ssh、ftp 等)自身的安全风险无法阻断,可被利用形成攻击,尤其是在互联网接入运维的情况下,这种风险更为突出;
运维过程中的上传文件潜在的恶意病毒木马可能感染被运维服务器,导致信息破坏及泄漏风险;
(3)自身风险:一旦堡垒机自身被攻击,可被利用作为跳板攻击内部网络。
鉴于目前运维技术面临的风险,本文将研究一种新的安全运维控制技术,形成专用的、安全可控的运维通道,并基于此形成一套运维管控系统,实现安全的在线运维,甚至在互联网下也可保障运维的安全可控。这项技术是一种基于单向传输,结合虚拟化技术的安全运维通道,在这种安全通道基础上,将运维主机与操作主机分离,形成可控的运维环境,结合身份认证、操作控制、全程审计等技术实现对运维全过程的可视化管控,确保运维安全,保障被运维信息系统免受运维攻击。
系统分为4 层结构,分别是基础设施层、网络防护层、应用防护层和运维对象层,同时监控审计贯穿于各层。系统结构如图1 所示:
图1 系统架构图
基础设施层有服务器和网络基础设备组成,在基础设施层的远程终端都需要进行身份认证。网络防护层提供访问控制、边界防护传输加密和单向隔离功能。应用防护层则提供用户管理、身份认证、权限管理、运维代理等应用管理功能为运维对象提供支持。监控审计则通过包括通过图像捕获技术,形成运维视频记录,对运维全程进行审计;实现运维视频的查询检索功能,可按时间、人员、设备等多维度检索;实现运维人员操作信息的捕获及记录,形成操作日志;实现运维操作日志的综合审计;实现运维过程运维记录的关联分析及查询,按时间轴回溯运维过程。
系统虚拟桌面采用结合Linux 下的KVM 技术实现,在虚拟桌面内部嵌入代理软件,并与运维通道连接。系统运维人员通过右键快捷方式或者通过专用文件传输界面程序将文件通过运维通道传给操作主机。系统同时支持单个文件及批量文件的一次性传输,在传输过程中文件会受到安全过滤机制检查。必要时操作主机还可以向运维主机单向传输文件,此时文件需要进行必要的安全检查外还会经过病毒扫描和人工审核以保证文件的安全上传。
在安全控制功能方面系统实现了双单向安全隔离、身份认证、运维审计、运维协议控制和文件内容审查。
双单向安全隔离通过构造双单向传输链路,将运维操作主机与运维主机物理隔离,切断运维中的网络协议,实现操作主机键盘、鼠标消息采集及传输,实现运维主机屏幕增量信息采集、传输及渲染展示,单向传输链路基于光单向技术实现,使用私有协议控制,实现运维通道的安全保障。
身份认证功能包含运维人员身份鉴别及管理员身份鉴别。运维人员管理通过注册、注销、更改、权限设置等,支持口令、证书、手机短信等认证方式;对内部运维人员及外来运维人员进行统一管理以实现运维人员权限控制及限定可运维范围。管理员身份鉴别则通过用户名/口令的方式、基于数字证书的方式、支持硬件令牌的方式在管理员访问系统时进行身份鉴别。
系统通过在单向栅栏设备部署实施运维协议过滤控制模块,实现对FTP、SSH、HTTP、RDP 等运维协议的集中管理及控制,增强运维安全;同时支持授权启用特定的运维协议;支持对运维协议命令、语法进行过滤,限制使用敏感方法;限制运维主机与被运维设备之间的文件传输。
系统还通过关键词过滤、文件格式检查、模糊查询和病毒扫描方式对传输文件的内容进行审查。
系统对运行内容进行实时监控功能,包括网络接口监视、CPU利用率监视、内存使用率监视、网络状况监视、硬件系统监视、进程监视、任务监视等,并提供对监控结果的多种图表显示方式。在审计方面则具备日志查询、存储并提供三权分立的审计功能,并支持系统日志上报,支持第三方软件查看日志、支持日志分级和本机及远程日志存储,并提供对应用交换信息、安全控制信息、系统日志信息的记录及审计功能。
本研究使用的单向运维技术的实现原理如图2 所示:
图2 单向运维技术原理
本技术将运维过程涉及的各个部份分为操作主机、单向运维通道、运维主机及运维对象,其中:
(1)操作主机:运维人员实际使用的计算机,运维人员通过该计算机进行运维操作,实现对运维对象的运维工作;
(2)单向运维通道:基于单向传输技术,通过双单向传输架构实现的安全运维通道,确保操作主机与运维主机之间的有效隔离,实现信息的单向传输;
(3)运维主机:进行实际运维操作的主机,运维人员在操作主机上的操作将由运维主机进行操作代理,实际的操作动作由运维主机执行,运维结果展示也由运维主机反馈给操作主机;
(4)运维对象:被运维的目标信息系统,运维主机通过网络实现对运维对象的操作,达到运维的目的。
为了实现单向通道下无协议的运维,其核心是操作主机的键盘、鼠标操作过程传递给运维主机释放,运维主机的操作结果显示信息传输给操作主机释放,传输通道基于无协议的双单向通道实现。
为此,在操作主机上具有鼠标键盘捕获模块及屏幕信息渲染展示模块,其中鼠标键盘捕获模块负责实时获取操作主机的鼠标及键盘操作,将操作信息进行记录,并拦截操作在本地的释放,然后将鼠标键盘操作信息发送给单向运维通道。屏幕信息渲染展示模块负责接收单向运维通道发送过来的屏幕显示信息,并解压后进行屏幕渲染及显示。
单向运维通道包含两个单向传输通道,一个是操作主机向运维主机鼠标键盘信息传输通道,称为鼠键通道;另一个是运维主机向操作主机的显示信息传输通道,称为显示通道。两个传输通道基于单向光信号通信原理实现,鼠键通道可基于光对管等低带宽传输机制实现,在适应鼠标键盘消息传输的同时,防止高带宽下恶意信息传输风险,增强攻击难度,显示通道基于单向光模块实现,高带块适应显示信息的高效传输。鼠键通道与显示通道均采用无协议的数据传输机制,避免网络协议的攻击风险。为了保证运维过程安全,在单向运维通道中传输信息的无协议单向传输外,还实现以下安全机制:
(1)鼠键信息过滤:进行操作主机传输信息检查,确保只有鼠标及键盘信息能进行传输,其余信息一律拒绝;
(2)显示信息过滤:进行运维主机传输信息检查,只有运维主机的屏幕捕获图片信息能传输,其余信息一律拒绝。
在运维主机上具有鼠标键盘释放模块及屏幕信息捕获模块,其中鼠标键盘释放模块负责接收单向运维通道发动的操作主机的实际鼠标键盘操作信息,并在本地操作系统中释放,成为本地的鼠标键盘操作。当运维主机对运维对象运维时,本地操作系统将显示运维屏幕信息,屏幕信息捕获模块负责对运维屏幕进行捕获,形成运维显示信息,并通过单向运维通道发送给操作主机。为了提升运维屏幕捕获及传输效率,可采用增量捕获方式,减少捕获信息量。另外,为了提供流畅的显示效果,大约按每秒钟30 张显示镜像的频率进行捕获。
按如上的技术原理就实现了运维人员通过操作主机对运维对象的整个运维过程,其运维的流程如图3:
图3 运维过程流程图
运维过程如下:
(1)运维人员通过鼠标键盘在操作主机上进行操作;
(2)操作主机上的鼠标键盘捕获模块自动捕获运维人员的鼠键信息;
(3)操作主机将鼠键信息传输给单向运维通道,单向运维通道对鼠键进行安全过滤检查;
(4)检查不通过拒绝传输并告警,检查通过,则将鼠键信息通过单向通道传输给运维主机;
(5)运维主机解析鼠键信息,并在本地进行释放,达到对运维对象进行远程操作的目的;
(6)运维主机操作运维对象后的显示信息自动被运维主机的屏幕信息捕获模块增量捕获,形成一帧帧的屏幕显示图片信息,这些信息通过运维主机发送给单向运维通道;
(7)单向运维通道对运维显示信息进行过滤检查,如不符合要求,拒绝传输并告警,如符合要求,屏幕信息通过单向通道传输给操作主机;
(8)操作主机接收屏幕信息并在本地进行渲染及展示,使得运维人员实时看到运维效果。
在某些运维场景中,往往同时会有多个人对相同或不同的运维对象进行运维,此时,可以采用如图4 所示架构进行运维。
图4 多主机运维结构
该模式下,运维主机将不是一个独立的计算机,运维主机将由多个虚拟机[3]构成,每个虚拟机具有独立的操作系统,可成为独立的运维主机。在使用时,每一台操作主机与一个虚拟机对应,形成一对一的运维关系。根据操作主机的数量可以灵活扩展运维虚拟机的数量。单向运维通道可以由一台设备组成,也可以适应更多主机运维,由多台设备以集群方式部署。此模式通过横向扩展,理论上可支持任意数量的操作主机同时进行运维工作。
为了进一步提升运维过程的安全,在单向无协议运维机制下可在运维主机与运维对象之间部署堡垒机产品,通过对运维协议的深度检查及过滤,提升运维整体的可控性。
相比于目前业界最安全的运维控制手段就是采用运维堡垒机产品,本次研究具有以下优势:
(1)运维数据不落地,确保运维信息安全。
可确保运维人员只能在操作主机上对运维对象进行运维,运维过程的任何数据只能在运维主机落地存储,在操作主机上的仅是屏幕显示信息。运维人员无法在操作主机上获取任何运维中的数据信息,确保运维信息的泄密保护。
(2)运维过程无协议,防止网络攻击。
采用无协议运维技术,在操作主机与运维主机之间仅通过单向通道,采用非网络协议传输鼠标键盘及屏幕显示信息,运维过程中实际的运维协议(如SSH、FTP、HTTP 等)只在运维主机与运维对象之间传输,操作主机与运维主机间无任何协议,杜绝任何基于网络协议的攻击行为,避免运维协议的安全漏洞导致对运维对象的攻击风险。
(3)基于单向运维架构,确保结构安全。
双单向架构实现操作主机与运维主机之间的隔离,单向通道无法传输网络协议,两个单向通道分离,采用不同单向技术,且其中一个单向通道采用窄带传输技术,攻击者很难利用,即使单向运维通道面向操作主机这一端被攻击者攻破,攻击者也无法利用单向通道向运维主机发起攻击,确保整体运维结构的安全。
本运维可广泛应用于政府、军队军工、企事业单位及其他对关键应用、服务器进行安全运维的场景,实现外部人员及内部人员对关键设施运维全过程的可视、可控、可管。