一种虚拟机级安全防护系统及方法
【技术领域】
[0001]本发明涉及网络安全领域,具体涉及一种虚拟机级安全防护系统及方法,尤其是一种应用于云环境下的虚拟机级安全防护系统及方法。
【背景技术】
[0002]随着计算机网络和信息技术的发展,社会信息化进程不断加速,网络在当今社会中扮演着越来越重要的角色,成为了涵盖政府、商业、金融、通信等重要领域的国家战略资源。大数据、云计算等技术已成为信息技术领域发展的最重要方向。与此同时,网络安全威胁也是屡屡出现,攻击者通过技术手段和社会工程等多种方法进入网络系统,进而窃取秘密数据、破坏系统、恶意欺骗等,不但影响了普通民众的工作生活,也成为了威胁经济、社会甚至国家安全的重大问题。
[0003]当前,云平台已经改变了政府、企业、各事业单位相应的资源与管理的方式。在获取更快、更好、更经济的计算、存储等物理资源时,云平台是当之无愧的最合适之选。云平台可以统一管理、调度相关物理资源,利用资源请求的峰值周期规律,平衡工作负载,从而降低整体成本,同时大大提高信息系统部署、运维的灵活性。然而,随着基于云平台的网络应用不断发展,针对云平台的威胁也层出不穷。
[0004]在现有云环境中,承载用户真正价值的已不是某台物理设备,而是分散在不同的计算、存储资源中,以虚拟机(Virtual Machine,简称VM)的形式逻辑存在,且不断扩展、变化、重组、迀移。传统的网络安全产品主要以物理设备为安全防护的基本单元,无法适应云环境下以虚拟机为承载体的逻辑防护,无法对宿主机内部虚拟机之间通信产生的流量进行全面精细的管理和监控。在实际应用中,同一台宿主机内部的虚拟机可能会具有不同的功能和安全等级,如何通过流量实现对虚拟机的分组管理、隔离以及安全监控,是当前互联网安全领域亟待解决的云安全问题之一。
【发明内容】
[0005]有鉴于此,本发明提出了一种虚拟机级安全防护系统及方法,能对虚拟机之间通信产生的流量进行全面精细的汇聚管理和监控,并能够实现虚拟机间的分组通信管理,通过这种流量汇聚管理和分组通信管理最终实现了对虚拟机所在网络系统(即虚拟机级)的安全防护,具有广阔的推广应用前景。
[0006]为实现上述发明目的,本发明所提供的技术方案是:
一种虚拟机级安全防护系统,包括:分组管理单元11、数据单元12、通信处理单元13和日志单元14,所述通信处理单元13连接于所述分组管理单元11、数据单元12和日志单元14;所述分组管理单元11中存储有各虚拟机的分组管理策略,所述数据单元12用于收发通信数据包并将虚拟机之间的通信数据包发送至通信处理单元13,所述通信处理单元13根据分组管理单元11中的分组管理策略控制虚拟机之间的通信过程,并向所述日志单元14生成日志?目息O
[0007]进一步的根据本发明所述的虚拟机级安全防护系统,其中所述分组管理单元11中存储的分组管理策略包括分组信息和通信策略,所述分组信息包括每一个虚拟机所在的分组编号以及组内每一个虚拟机的地址信息,所述通信策略包括各分组之间以及同一分组内各虚拟机之间的通信允许情况;所述通信处理单元13接收数据单元12发送过来的通信数据包,提取通信数据包的源地址信息和目的地址信息,并在分组管理单元11的分组信息中查询得到源地址信息对应的源虚拟机所在的分组编号以及目的地址信息对应的目的虚拟机所在的分组编号,然后根据分组编号在分组管理单元11的通信策略中查询得到源虚拟机和目的虚拟机之间的通信允许情况,当源虚拟机和目的虚拟机之间允许进行通信时,所述通信处理单元13将通信数据包转发给数据单元12,由数据单元12将通信数据包发送给目的虚拟机,当源虚拟机和目的虚拟机之间不允许进行通信时,所述通信处理单元13直接将通信数据包丢弃,并生成日志信息输出给日志单元14。
[0008]进一步的根据本发明所述的虚拟机级安全防护系统,其中所述虚拟机的地址信息包括虚拟机的IP地址和/或虚拟机的MAC地址,所述通信数据包的源地址信息包括源IP地址和/或源MAC地址,所述通信数据包的目的地址信息包括目的IP地址和/或目的MAC地址,用户根据虚拟机的IP地址和/或虚拟机的MAC地址对虚拟机进行分组管理,并设置分组管理单元11中的分组信息和通信策略,所述分组信息中每一个虚拟机的地址信息都对应于唯一的一个分组编号,所述通信策略中处于同一分组内的各虚拟机之间允许进行通信。
[0009]进一步的根据本发明所述的虚拟机级安全防护系统,其中所述分组管理单元11包括分组信息存储模块21和分组通信策略存储模块22,所述分组管理策略中的分组信息存储于所述分组信息存储模块21中,所述分组管理策略中的通信策略存储于所述分组通信策略存储模块22,所述通信处理单元13通过查询访问所述分组信息存储模块21得到源虚拟机和目的虚拟机所在的分组编号,通过查询访问所述分组通信策略存储模块22得到源虚拟机和目的虚拟机之间的通信允许情况。
[0010]进一步的根据本发明所述的虚拟机级安全防护系统,其中所述通信处理单元13在以下两种情况下生成日志信息并输出给日志单元14:当源虚拟机和目的虚拟机之间允许进行通信且所述通信处理单元13转发给数据单元的通信数据包是源虚拟机和目的虚拟机一次通信过程中的第一个数据包时,所述通信处理单元13生成日志信息并输出给日志单元14;当源虚拟机和目的虚拟机之间不允许进行通信时,所述通信处理单元13在将通信数据包丢弃后生成日志信息并输出给日志单元14。
[0011]进一步的根据本发明所述的虚拟机级安全防护系统,其中所述日志信息至少包括通信数据包的源地址信息、通信数据包的目的地址信息、通信协议、通信数据包的到达时间、源虚拟机所在的分组编号、目的虚拟机所在的分组编号、源虚拟机和目的虚拟机间的通信策略。
[0012]进一步的根据本发明所述的虚拟机级安全防护系统,其中所述数据单元12包括数据包接收模块31和数据包发送模块32,所述数据包接收模块31接收虚拟机和外网发送过来的通信数据包,并根据通信数据包的源地址信息和目的地址信息区分通信数据包是虚拟机之间的通信数据包还是虚拟机与外网之间的通信数据包,若是虚拟机与外网之间的通信数据包,则对通信数据包进行网络地址转换后发送至数据包发送模块32,若是虚拟机之间的通信数据包,则将通信数据包转发至通信处理单元13;所述数据包发送模块32接收数据包接收模块31或通信处理单元13发送过来的通信数据包,并将通信数据包发送至目的地。
[0013]进一步的根据本发明所述的虚拟机级安全防护系统,其中所述虚拟机级安全防护系统还包括有安全处理单元15,所述安全处理单元15连接于所述通信处理单元13、日志单元14和数据单元12,所述通信处理单元13接收数据单元发送过来的通信数据包后,在判定源虚拟机和目的虚拟机之间允许进行通信时,所述通信处理单元13将所述通信数据包发送至所述安全处理单元15进行安全检查,当所述通信数据包满足安全检查标准时,所述安全处理单元15将所述通信数据包发送至数据单元12,由数据单元12将通信数据包发送给目的虚拟机,当所述通信数据包不满足安全检查标准时,所述安全处理单元15将所述通信数据包直接丢弃,并生成日志信息输出给日志单元14。
[0014]—种基于本发明所述虚拟机级安全防护系统进行的虚拟机级安全防护方法,包括以下步骤:
步骤一、将所述虚拟机级安全防护系统布置于虚拟机所在网络中,并将每个虚拟机的默认网关设置为所述虚拟机级安全防护系统的IP地址,并按照任意两个虚拟机的IP地址不在同一个逻辑网络的方式配置每个虚拟机的IP地址,使得任意两个虚拟机之间不可直接进行通信;
步骤二、根据虚拟机的地址信息配置虚拟机的分组信息和通信策略,其中分组信息包括每一个虚拟机所在的分组编号以及组内每一个虚拟机的地址信息,所述通信策略包括各分组之间以及同一分组内各虚拟机之间的通信允许情况;
步骤三、根据通信数据包的源地址信息和目的地址信息区分通信数据包是虚拟机之间的通信数据包还是虚拟机与外网之间的通信数据包,若是虚拟机与外网之间的通信数据包,则执行步骤四,若是虚拟机之间的通信数据包,则执行步骤五;
步骤四、将通信数据包进行网络地址转换后直接向目的地转发;
步骤五、提取通信数据包的源地址信息和目的地址信息,并在分组信息中查询得到源地址信息对应的源虚拟机所在的分组编号以及目的地址信息对应的目的虚拟机所在的分组编号,然后根据分组编号在通信策略中查询得到源虚拟机和目的虚拟机之间的通信允许情况,当源虚拟机和目的虚拟机之间允许进行通信时,将所述通信数据