基于无密码远程登录的综合维护平台*

2013-08-09 08:22曾金梁朱晓民
电信工程技术与标准化 2013年11期
关键词:网管进程代理

曾金梁,朱晓民

(1 北京邮电大学网络与交换技术国家重点实验室,北京 100876;2 东信北邮信息技术有限公司,北京 100191)

1 引言

随着增值业务范围的扩大,业务种类也越来越多。如何保障这些日益庞大、日益增长的增值业务稳定成为通信运营商的难题。东信北邮为运营商提供了增值业务统一管理平台的解决方案:网络管控平台(简称为网管)[1]。

为管控所有业务平台,网管系统一般需要在100多台服务器上安装代理程序[2]。这些代理程序进行功能调整、异常排除等操作时通常需要接入主机,进行维护操作。而众多服务器,密码变动频繁,迫切需要一种比较便捷、安全的远程维护方式。

另一方面,业务提供商在不断发展过程中,根据运营商客户不同需求,推出多种业务。维护人员不但需要了解多个业务维护知识,还需要承担众多业务主机的日常运维。尤其是近几年,运营商为提高信息安全,推行4A规范[3],将主从账户分离、定期更新密码,更是让各业务的维护工作越来越繁琐。

如果能利用网管的代理机制,实现一个综合维护平台,使公司所有业务维护工作入口统一,操作简单,那么将能极大的提高维护效率。该综合维护平台需要能隔离密码变动对维护工作影响,能在平台界面上直接进行远程主机的维护,能将常用维护操作进行批量处理。本文就是基于安全的无密码登录技术,设计实现了综合维护平台,使维护人员可远程接入主机。

2 相关技术

2.1 通用消息中间件

通用消息中间件,即实时应用进程管理和通信组件(component package of real time application process management and communication,COPART-MACO),是总线型通信中间件,通过抽象的连接模型,以统一的方式支持各种IPC机制,可实现跨机器和跨平台通用[4]。通用消息中间件具有很高的稳定性和可靠性,其能满足远程维护的通信要求。基于通用消息的持久化消息队列[5],能很好的解决在远程登录时,处理时间有时比较长时,部分关键消息超时问题。

2.2 伪终端设备

伪终端设备是一种特殊的终端驱动设备,它并不驱动某个物理设备,而是用来将终端的输出定向到应用程序中进行处理。伪终端设备由主、从两个成对的设备构成[6]。任何写到伪终端主设备的输入都会作为从设备端的输入,反之亦然。伪终端设备常用于远程登录服务器来建立网络和终端的关联[7],其典型进程结构如图1所示。利用伪终端能很好的实现远程接入 shell,并通过链路进行输入输出。

图1 典型的伪终端进程结构[7]

3 综合维护平台设计

3.1 平台部署结构和组件

综合维护平台的部署结构如图2所示,其中包含业务功能域,平台代理功能域,平台管理功能域,平台维护功能域。

各组件功能说明:

(1)业务维护接口,即各业务自定义的维护操作入口,可以是通过执行专用的维护脚本、可执行程序,接入管理各业务进程;也可以是通用的系统操作命令;

(2)无密码登录服务,提供远程登录;

(3)远程接入接口,负责执行远程会话;

(4)远程接入控制,有效控制远程会话;

(5)维护操作接口,进行远程维护操作。

图2 综合维护平台部署结构

3.2 登录服务内部逻辑

无密码登录服务内部逻辑如图3所示。

图3 无密码登录服务内部逻辑

如果服务处于关闭状态,服务进程在接收到开启服务消息后,会从配置中获取开启服务的端口、登录主目录、默认用户、最大连接数等等,如无配置,则采用默认配置;之后尝试绑定端口,并开始监听。当端口不可用时,会尝试查找可用端口,如果端口自适应失败,则开启服务失败。服务绑定IP“0”,只有远程主机本地登录才有效,从而防止服务开启后,被非法利用,远程侵入服务器。

服务进程会由时钟触发,定期判断是否有新的接入请求,以及断开失效连接。当有新的请求接入,服务进程fork子进程进行处理,并将子进程pid进行记录,以便回收处理、断开连接等。子进程中会采用伪终端处理连接,由从设备开启交互服务,主设备处理与连接请求方的链路通信。

服务进程在接收到关闭服务消息后,会将开启中的服务中断。如无业务维护操作时,通过定期关闭服务,可以提高服务安全性。

3.3 远程接入封装

运行在代理主机上的接入封装进程,能有效的处理管理功能域的请求消息,执行本机接入操作。该封装进程还可以将常用交互操作进行批量处理:顺序执行命令;可变信息通过通用消息进行传参;对于交互服务的应答则通过枚举正则匹配、实现跳转[8]。

进程还有回收过期会话功能,当管理功能域的接入控制功能失效时,能自行处理失效会话,以回收系统资源。

3.4 远程接入控制

接入控制进程负责与上层业务维护接口交互,并管理多个远程主机上的接入会话。在与上层维护操作交互过程中,进程记录所有的操作命令,以及应答信息,使操作过程可回放。进程通过会话池方式管理远程主机会话,定期断开失效会话,并提供会话信息查看功能。

3.5 登录其他用户

采用chown命令将登录服务程序所有者更改为root,并设置该程序的SUID——使程序可以被代理功能域的用户运行,则在服务启动后的euid是0。通过setuid操作,可以将交互服务的所有者更改为其他所期望接入的用户。之后执行bash login时,则自动登录到指定业务用户。为增强用户接入管理安全性,可以增加黑白名单用户列表,使登录服务禁止无密码接入重要业务用户,或仅能跳转到指定用户。该功能采用的登录方式的是non-login shell,如果需要切换到业务用户的配置环境,则只需要执行命令:source/destDir/.*profile。

4 总结

在假定网管系统的安全性基础上,无密码登录远程主机功能,因为不需要在网络上传输密码,并没有额外风险,所以它是安全的。基于该功能可以有效的利用网管的代理机制,实现操作维护入口的整合。该综合维护平台,能让业务维护人员从繁琐的密码管理工作中解脱,便捷的访问所有受控远程主机、进行维护;可以将常用维护操作封装处理,让维护工作更加方便。

[1] 王萌, 朱晓民, 李炜. 基于插件技术的综合网管系统通用网元代理的分析与设计[J]. 电信工程技术与标准化, 2012, (8):81-84.

[2] 宋蕾. 智能网网管系统设备侧代理的设计与实现[D]. 北京:北京邮电大学, 2005.

[3] QB-Y-065-2010, 中国移动业务支撑网4A安全技术规范[S].

[4] 张莲龙, 李炜. 一种骚扰电话识别与监控技术[J]. 北京工商大学学报(自然科学版), 2009, 27(5):31.

[5] 郭盛兴, 王晶, 廖建新. 基于通用消息的持久化消息队列设计[J]. 北京工商大学学报(自然科学版), 2010, 28(1):69-71.

[6] 彭淑芬, 张颖江, 崔成法. Linux伪终端设备及其在L2TP中的应用[J]. 计算机工程与设计, 2005, 26(7):1956.

[7] 卢东, 陆以勤, 吕锦. 利用伪终端实现串行通信链路复用功能[J]. 嵌入式软件应用, 2008, 24(12):75.

[8] 杭州东信北邮信息技术有限公司.多个网络设备智能操作逻辑的实现方法和系统[P].中国:2011103052894,2012-03-21.

猜你喜欢
网管进程代理
债券市场对外开放的进程与展望
改革开放进程中的国际收支统计
代理圣诞老人
代理手金宝 生意特别好
给水网管的优化布置研究
昭通市全覆盖数字电视直放站综合网管系统建设技术方案
“五制配套”加强网管
胜似妈妈的代理家长
社会进程中的新闻学探寻
网管支撑系统运行质量管控的研究与实现