一种云端服务器安全控制方法

文档序号:7862875阅读:202来源:国知局
专利名称:一种云端服务器安全控制方法
技术领域
本发明涉及云端服务器安全领域技术,尤其涉及一种云端服务器安全控制方法。
背景技术
云计算是继1980年大型计算机到客户端-服务器的大转变之后的又一巨变,云计算描述了一种基于互联网的新的IT服务增加、使用和交付模式,其通常涉及通过互联网来提供动态易扩展的虚拟化资源。云计算是网格计算、分布式计算、并行计算、效用计算、虚拟化等传统计算机技术和网络技术发展融合的产物,它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SaaS、PaaS, IaaS, MSP等先进 的商业模式把这强大的计算能力分布到终端用户手中,云计算的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。云端的用户开发是云计算中的一个新兴分支,用户无需安装任何开发工具,只要能登录互联网并拥有浏览器就可以进行云端服务器程序的开发,目前,国内、外已经有企业及开发人员使用这种基于云端的开发方式,并且这种开发方式已经成为一种趋势,用户将越来越多。然而,由于云端的服务器直接暴露给用户,让用户将自己开发的应用程序在上面运行,并且一台云端的服务器上面很可能有多个用户同时使用,因此必须保证云端服务器的安全使服务器上的用户不能通过其上传的云端应用程序肆意的删除或修改服务器系统的配置,也不能破坏登录到同一台服务器上的其他用户的文件。目前,为了保护服务器的安全,许多云服务提供商都采用在WEB编程语言中屏蔽函数接口的方式,并提供能够保护其服务器安全的特殊接口,此方式每种语言甚至每种语言的不同版本都要去实现一套自定义接口,因而需要极大的开发维护工作量,而且用户也需要去学习如何使用新的接口函数,给用户使用带来不便,并且要对在传统WEB服务器上已经开发出的应用程序进行较大的修改才能迁移到这种云端服务器上进行部署,同样增大了用户的工作量。鉴于此,业内都在寻求一种云端服务器安全控制方法,既能减少云服务提供商的开发维护量,又能方便用户使用,有利于应用程序的迁移部署,减少用户的工作量。

发明内容
针对现有技术的不足,本发明的目的旨在于提供一种云端服务器安全控制方法,既能减少云服务提供商的开发维护量,又能方便用户使用,有利于应用程序的迁移部署,减少用户的工作量。
为实现上述目的本发明采用如下技术方案
一种云端服务器安全控制方法,包括如下步骤
C、拦截云端服务器的所有系统调用;
d、检查拦截的系统调用是否在文件访问路径和socket访问权限的白名单内,如果是,允许该系统调用访问云端服务器上的相应资源,否则不允许。在步骤C之前还包括步骤
a、设置云端服务器的文件访问路径和socket访问权限的白名单。在步骤a之后及步骤c之前还包括步骤 b、在沙盒中启动z 端服务器。在步骤b中,沙盒将自己的共享库注入云端服务器,该共享库包含与云端服务器系统库函数接口同名的库函数接口 ;在步骤c中,当系统调用访问与共享库的库函数接口同名的云端服务器系统库函数接口时,共享库对其进行拦截;在步骤中,共享库对拦截到的系统调用进行白名单检查,通过检查的则允许其调用系统库函数,没有通过检查的则拒绝其调用系统库函数。本发明所阐述的一种云端服务器安全控制方法,其有益效果在于采用本方法,用户无需学习新的接口函数,使用非常方便,在传统WEB服务器上开发的应用程序不用进行修改或进行很少的修改就可以迁移到云端服务器上进行部署,减少了用户的工作量,而且同时实现了对上层所有语言的安全控制,大大减少了云服务提供商的开发维护量。


图I是发明实施例的流程示意图。
具体实施例方式下面结合附图与具体实施例来对本发明作进一步描述。请参照图I所示,其显示出了本发明一种云端服务器安全控制方法的主要流程,在步骤a中,设置云端服务器的文件访问路径和socket访问权限的白名单。进行到步骤b,在沙盒中启动云端服务器。启动后,沙盒将自己的共享库注入云端服务器,该共享库包含与云端服务器系统库函数接口同名的库函数接口。以UNIX环境为例更具体地说明用沙盒的加载程序来启动云端服务器,此时要导入的参数包括共享库的路径信息、白名单配置文件的路径信息以及云端服务器启动的命令信息,在沙盒的加载程序中,共享库的信息被导入到环境变量LD_PREL0AD中,LD_PREL0AD为UNIX下的一个特殊的环境变量,它可以影响程序运行时的链接,它允许在程序运行前优先加载此环境变量中指定的动态链接库,对C语言函数库中函数的拦截是靠指定此环境变量来完成。白名单配置文件的路径信息被导入到自定义的环境变量中,将本进程中的环境变量保存,然后用execve来执行传入进来的云端服务器启动命令,并将保存的环境变量通过env参数传给这个新启动的进程,执行完之后云端服务器进程被启动。进行到步骤C,拦截云端服务器的所有系统调用。在云端服务器进程中,当系统调用访问与共享库的库函数接口同名的云端服务器系统库函数接口时,共享库对其进行拦截,比如 open、read、write、socket、connect 等接口。在一些接口如 open, socket 中,拦截后还会再一次检查白名单配置文件是否已经导入,若没有导入则进行导入,若已经导入则进行后续的白名单权限判断。进行到步骤d,检查拦截的系统调用是否在文件访问路径和socket访问权限的白名单内,如果是,允许该系统调用访问云端服务器上的相应资源,否则不允许。在该步骤中,由共享库对拦截到的系统调用进行白名单检查,通过检查的则允许其调用系统库函数,没有通过检查的则拒绝其调用系统库函数。具体而言,白名单权限分为两类链表进行保存,一类是文件权限相关的链表,另一类是socket权限相关的链表,这些链表会在相应的操作接口调用的时候被扫描,判断某一访问权限是否被允许,若允许,则用dlsym来获取此调用的LIBC接口的函数指针,然后用其来调用,若不允许则返回-I告知调用者此调用不被允许,由于PHP、RUBY等WEB服务器开发语言就是WEB服务器产生的一个进程,所以此拦截也就达到了控制其访问权限的目的。采用本方法,云端服务器上运行的PHP、RUBY等脚本程序的所有系统调用都可以 被拦截并进行白名单权限判断,避免了云端服务器上的资源被随意的访问和更改,保护了WEB服务器的安全,用户无需学习新的接口函数,使用非常方便,在传统WEB服务器上开发的应用程序不用进行修改或进行很少的修改就可以迁移到云端服务器上进行部署,减少了用户的工作量,而且同时实现了对上层所有语言的安全控制,大大减少了云服务提供商的开发维护量。以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
权利要求
1.一种云端服务器安全控制方法,其特征在于,包括如下步骤 C、拦截云端服务器的所有系统调用; d、检查拦截的系统调用是否在文件访问路径和socket访问权限的白名单内,如果是,允许该系统调用访问云端服务器上的相应资源,否则不允许。
2.根据权利要求I所述的一种云端服务器安全控制方法,其特征在于,在步骤c之前还包括步骤 a、设置云端服务器的文件访问路径和socket访问权限的白名单。
3.根据权利要求2所述的一种云端服务器安全控制方法,其特征在于,在步骤a之后及步骤c之前还包括步骤 b、在沙盒中启动z 端服务器。
4.根据权利要求3所述的一种云端服务器安全控制方法,其特征在于,在步骤b中,沙盒将自己的共享库注入云端服务器,该共享库包含与云端服务器系统库函数接口同名的库函数接口 ;在步骤c中,当系统调用访问与共享库的库函数接口同名的云端服务器系统库函数接口时,共享库对其进行拦截;在步骤中,共享库对拦截到的系统调用进行白名单检查,通过检查的则允许其调用系统库函数,没有通过检查的则拒绝其调用系统库函数。
全文摘要
本发明公开了一种云端服务器安全控制方法,包括如下步骤拦截云端服务器的所有系统调用;检查拦截的系统调用是否在文件访问路径和socket访问权限的白名单内,如果是,允许该系统调用访问云端服务器上的相应资源,否则不允许。采用本方法,用户无需学习新的接口函数,使用非常方便,在传统WEB服务器上开发的应用程序不用进行修改或进行很少的修改就可以迁移到云端服务器上进行部署,减少了用户的工作量,而且同时实现了对上层所有语言的安全控制,大大减少了云服务提供商的开发维护量。
文档编号H04L29/06GK102891854SQ20121039003
公开日2013年1月23日 申请日期2012年10月15日 优先权日2012年10月15日
发明者叶耀荣, 李景洙 申请人:广州亦云信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1