[发明专利]linux系统外部命令执行方法及装置有效
申请号: | 201611041334.9 | 申请日: | 2016-11-21 |
公开(公告)号: | CN108090345B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 刘阳 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F9/445 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;贾允 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | linux 系统 外部 命令 执行 方法 装置 | ||
本发明公开了一种linux系统外部命令执行方法及装置,属于系统安全管理领域。所述linux系统外部命令执行方法包括:生成目标文件,所述目标文件用于执行系统外部命令;定时检测是否存在目标文件;当检测到存在目标文件时,对目标文件进行校验;若校验成功,则根据目标文件执行外部命令。本发明通过定时运行的脚本实现外部命令的安全执行,无需额外部署脚本服务器和开发资源;且由脚本语言动态生成敏感信息,并在读取后删除,提高代码的安全性;适用于所有禁用系统外部命令函数的linux服务器,应用范围广,增加整体的安全性。
技术领域
本发明涉及系统安全管理领域,特别涉及一种linux系统外部命令执行方法及装置。
背景技术
Linux命令分为内部命令和外部命令,内部命令是在系统启动时就调入内存的,外部命令是用户需要时从硬盘中读入内存的,需要执行系统外部命令函数来调用外部命令,在linux服务器下运行的脚本语言,出于安全考虑一般会禁用执行系统外部命令的函数,如php的exec、system等函数,禁用的设置方法为打开配置文件,查找到disable_functions,在该函数下添加需禁用的函数名。
在这种情况下,为了满足脚本语言执行外部系统命令的需求,现有的解决方案是单独搭建一台或一套内部的专用服务器,出于安全考虑,该专用服务器会设置iptables,从而只允许内部服务器访问,该专用服务器不会禁止脚本语言执行外部系统命令,当外部服务器即可被用户访问的服务器需要执行外部系统命令时,会通过调用该专用服务器预设的接口来实现。
现有技术至少存在以下缺点:
1、需要额外部署一台或一套服务器,增加硬件成本;
2、额外部署的服务器限定ip,因此维护该服务器需要跳板机或VPN(VirtualPrivate Network,虚拟专用网络)来实现,增加维护成本;
3、为了实现连接超时、防注入等功能,需要实现一套接口中间件,增加开发成本;
4、由于该服务器没有禁用脚本语言执行系统外部命令的函数,所以一旦发生注入就可以执行所有系统命令,存在安全隐患。
发明内容
为了解决现有技术的问题,本发明提供了一种linux系统外部命令执行方法及装置,无需额外部署脚本服务器和开发资源,代码安全性高,应用范围广。所述技术方案如下:
一方面,本发明提供了一种linux系统外部命令执行方法,所述方法包括:
生成目标文件,所述目标文件用于执行系统外部命令;
定时检测是否存在目标文件;
当检测到存在目标文件时,对目标文件进行校验;
若校验成功,则根据目标文件执行外部命令。
具体地,所述目标文件为命令文件或配置信息文件,进一步地,所述生成目标文件包括:在有写权限的系统目录下写入执行命令或者新建配置信息文件。
进一步地,本发明提供的linux系统外部命令执行方法还包括:在执行目标文件之后,删除所述目标文件。
进一步地,所述根据目标文件执行外部命令包括:若所述目标文件为命令文件,则执行相应命令;若所述目标文件为配置信息文件,则读取配置信息,进而根据所述配置信息生成命令并执行命令。
进一步地,所述对目标文件进行校验包括:读取所述目标文件,若所述目标文件的内容为合法命令或者根据所述目标文件的内容能够生成合法命令,则校验成功,否则校验失败。
具体地,对目标文件进行校验之前还包括:预设合法命令库,所述合法命令库用于存放设定的合法命令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611041334.9/2.html,转载请声明来源钻瓜专利网。