在云计算和大数据时代,大量服务器部署在云中,需要操作人员远程操作和维护服务器,以确保其正常运行。但是,操作人员可能会利用自己的权限窃取隐私。数据损害用户数据的完整性、保密性和可用性。在操作人员偷窥和泄露用户隐私数据的情况下,如何保证服务器远程运维控制的安全尤为重要,这也是近年来工业和学术界共同研究的热点问题。本文访问代理执行的服务器运维控制技术方案。所有服务器操作行为都必须经过访问代理的审计和控制,只有在满足权限认证后,才能单点登录相应的服务器,从而实现统一控制,避免访问认证的混乱。操作人员通过访问代理认证后,将对服务器的所有操作进行审计和控制,并基于操作角色的分级机制阻断和预警越权操作和危险操作。实验结果表明,该方案可以有效控制和审计服务器的远程运行和维护操作,效率和安全性高,无需安装额外的客户端软件。
本文拟实现一个非侵入性访问代理,支持B/S访问。访问代理的客户端只需要一个支持HTML5的浏览器,不需要安装其他软件。被访问的服务器不需要安装额外的程序,只需要安装远程连接所需的SSH服务器程序(大多数Linux操作系统默认安装了该程序),服务器可以通过访问代理连接。访问代理的系统架构如图1所示,由连接模块、传输转换模块、显示模块和审计模块组成。其中,显示模块通过浏览器向用户呈现服务器桌面,HTTP协议用于传输转换模块和显示模块之间的通信,TCP协议用于连接模块和传输转换模块之间的通信,SSH协议用于服务器和连接模块之间的通信,审计模块和传输转换模块主要通过共享存储进行通信。(1)连接模块是访问代理网关的重要组成部分,一直以守护过程的方式运行。监控来自传输转换模块的TCPSocket连接,主要负责以下功能:①该模块实现了SSH客户端的功能。接收来自传输转换模块的连接命令后,将根据连接命令中指定的地址向SSH服务器发起SSH连接,并负责与SSH服务器通信;②该模块需要通过TCPSocket将SSH服务器的输出发送给传输转换模块,并接收该模块的指令,将其转换为SSH输入事件并发送给SSH服务器。