分享

基于Openstack的网络攻防实验平台设计与实现

 远方 2019-04-15
            【摘 要】网络攻防环境难以构建和管理是一个普遍性的难题,本文介绍了一个使用开源的Openstack技术构建网络攻防实验平台的设计方案。在校园网中的运行测试结果显示,这种基于云计算的网络攻防平台可以显著降低管理和实验成本,提高学习效率。
  【关键词】网络攻防;云计算;Openstack
  1 云平台网络攻防实验平台需求
  近年来,随着多起安全相关事件在互联网上曝光,网络安全成为当前技术研究热点,网络安全课程和网络安全竞赛也得到了更多的重视。
  我们在网络安全课程的学习和网络安全竞赛的训练过程中,做了大量网络攻防方面的实验,比较深切地感受到现有的网络攻防实验手段的不足。
  考虑到网络攻防相关实验往往都带有一定的破坏性,在真实网络环境里进行攻防实验还会遇到法律授权方面的麻烦,一般都是通过安装VMware、Virtualbox等模拟软件构建虚拟网络环境去进行攻防实验。
  在自己计算机上架设虚拟机构建网络攻防环境方式的优点是简单、廉价和灵活。但我们在练习过程中也发现,随着学习内容和人数的增多,会出现比较严重的管理问题,例如出现越来越多的虚拟机镜像和快照文件、越来越多的文档资料等,时间一长就容易遗忘,要搜索、准备很长时间才能进行实验操作;另外,人数多了,还牵涉到文档、软件、攻防系统镜像的分发和同步的问题。很多网络攻防实验的关键步骤其实并不多,却往往要耗费大量的时间和精力做准备和排错工作,大大降低了效率,更不容易进行共享和更新工作。
  经考虑,我们准备借助云计算技术来构建网络攻防实验平台。云计算技术可以灵活地按需提供虚拟化、并行计算、网络存储和负载均衡等服务,因此如果能把网络攻防所需的各种工具软件、攻击机和靶机镜像、操作指南等文档资料统一安放到云平台中,则可以极大地改进管理工作。例如,可以省去本地安装配置工作,只要有网络随时能用注册账号登录到云平台上做有操作权限的网络攻防实验;所有的技术文档、操作指南等统一存储在云平台,非常容易检索;在攻防实验平台的存储空间、CPU性能出现瓶颈时,也非常容易进行扩充升级。
  2 基于Openstack云平台的设计和实现
  Openstack是一个美国国家航空航天局和Rack space合作研发的,旨在为公共及私有云的建设与管理提供软件的开源项目。Openstack正处于高速发展和推广应用过程中,目前已经是各种公有云和私有云建设的主流方案。
  基于Openstack的云平台部署非常灵活,既可以只装在单节点服务器上,也可以部署到大规模集群服务器组,经综合考量,我们使用两台服务器去实现网络攻防实验用云平台,其中一台服务器部署为控制节点,另一台部署为计算节点,这也是目前广泛使用的方案,足以应付通常的实验,以后如果有需求,可以再添加计算节点以提高性能。服务器可以只放在私有局域网中,也可以接入校园网提高公开服务,因此每台服务器都装上双网卡,一块连接到外网,另一块连接内网。(如图1所示)
  设计的云平台服务器使用操作系统CentOS Linux 6.4版,下载OpenStack 的Icehouse版本进行安装配置,根据Openstack的官方安装指导,在控制节点先后安装并配置Mysql、RabbitMQ、keystone、Nova、Neutron、Cinder、Glance、Horizon和Apache等服务项目,而在计算节点上只需安装配置Nova和Neutron。
  Openstack安装完成后,借助Dashboard服务可以通过Web界面登录后进行管理。(如图2所示)
  登录进入云平台管理页面后,即可非常便捷地进行各种虚拟机镜像的创建、上传、配置、运行、删除等配置工作。这些虚拟机镜像运行后,借助VNC等远程控制工具,可以让多人同时通过网络访问,从而充分发挥云平台的作用。(如图3所示)
  3 攻击机和靶机的配置
  在基于Openstack的云平台搭建好了以后,为实现网络攻防实验功能,主要任务就是创建足够有用的攻击机和靶机的虚拟机镜像。
  攻击机的镜像相对比较容易解决,我们首先制作了基于Windows 操作系统的攻击机镜像,在系统中事先封装了大量网络安全渗透测试用工具,包括各种扫描工具、嗅探工具、加解密工具、远程渗透攻击测试工具、动态调试工具、静态反编译工具等等。其中最常见最有用的一些工具包括Metasploit开源安全漏洞测试工具、Nmap扫描器、Wireshark嗅探器、burpsuite集成Web渗透测试工具集、sqlmap注入工具、Ollydbg动态调试器、IDA反编译工具等。
  另外,我们也制作了基于Kali和Back Track 5的攻击机系统镜像,它们都是开源的Linux系统,已经在系统中事先集成了大量有用的网络安全测试工具,可以免去大量工具收集的繁琐工作。
  靶机的制作则相对比较麻烦,因为这不是简单安装好操作系统和软件就行了,还经常需要自己在靶机上挖掘出或人为生成需要的某种安全漏洞以供攻击机做网络攻击实验。我们首先自己制作了一些基于Windows 2000、Windows XP、Windows 2003、Windows 2003、Windows 7等操作系统的镜像,都是没有打足补丁留下系统漏洞用于系统攻击测试,然后我们还在一些Windows镜像中创建了各种基于ASP、ASP.NET、PHP和JSP技术的有已知漏洞的Web网站用于Web渗透测试。另外,我们下载了一些开源免费靶机资源,例如OWASP组织发布的一些靶机镜像资源。
  4 网络攻防平台应用和测试
  为了更方便地使用和管理实验平台,我们另外编写并部署了一个管理网站,主要就是将云平台中的各种虚拟机资源及各种网络攻防实验所需的学习资料进行了分类组织显示。
  事先获取权限的网络攻防练习者登录到这个网站后,可以非常便利地查看学习资料,更重要的是可以启动云平台上各种虚拟机镜像,从而实际连接到运行中的攻击机和靶机进行各种攻防操作。
  例如,在做通过弱密码安全漏洞远程控制实验时,练习者可以登录到管理网站上,通过阅读详细学习资料理解了这个课题的相关背景知识后,按照操作指南,先连接到攻击机上,打开运行Nmap扫描器,扫描靶机开放的端口服务,并利用扫描脚本和自定义的字典文件扫描是否存在弱口令。(如图4所示)
  扫描结果是,发现靶机已经开放了3389远程桌面服务,而且通过字典扫描出了管理员administrator的弱密码5i9x。
  然后在攻击机上用远程登录客户端去连接靶机的远程桌面服务,输入扫描出的账号和密码,即可以管理员权限轻松进入靶机系统,完成了本次渗透测试实验任务。(如图5所示)
  其他网络攻防实验任务都可以用上述类似的方法进行理论学习和实际操作练习。
  通过在攻防平台上的检测发现,在同时练习人数不多的情况下,攻击机和靶机的连接速度和运行速度基本能够满足要求。
  5 结论
  用基于Openstack技术构建的云平台可以显著提高网络安全,尤其是网络攻防操作的学习效率,可以作为课程学习及竞赛培训的有益助手。当然,目前云平台上的网络攻防系统远不够成熟,存在标准不统一、界面不够友好、制作繁琐、很难支持大规模应用等缺点,有待技术的进一步发展和更多的开发工作。
  【参考文献】
  [1]Install Guides[OL]. http://docs.openstack.org.
  [2]Nmap脚本使用总结 WooYun知识库[OL]. http://drops.wooyun.org/tips/2188.
  [责任编辑:邓丽丽]         

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多