通常,将恶意用户通过伪造大量合法报文,并将其发送到在线服务器而产生的网络安全问题称之为泛洪攻击。以DHCP泛洪为例,这种恶意攻击不仅耗尽了IP资源,让合法用户无法获得lP地址,而且使服务器高负荷运行甚至导致正常服务瘫痪。统计访问日志中各lP地址的请求次数、提取请求异常频繁的IP是检测攻击源、防御泛洪攻击的有效方法之一。然而,访问日志大多包含较多数据信息,日志文件大小通常是GB级的;传统单机模式下多线程、多任务分解的日志分析模式设计过程繁杂、耗时较长,因而时效性很差。本文以MapReduce构架为引导,以Apache开源软件Hadoop为基础,就Ha-doop两大主流应用场景之一日志分析,建立了Hadoop分布式日志分析系统,并通过实验验证了其较单机模式的时效性优势,为有效解决泛洪攻击奠定了基础。此外,本文用虚拟机作为集群环境搭建平台,简易、高效,且衍生出不同文件系统的虚拟机集群环境,十分有利于集群优化。
1 搭建集群环境
1.1 集群环境
在Hadoop系统中,有一台Master主机,主要负责NameNode以及JobTracker的工作。其中Nameno-de是Hadoop分布式文件系统的管理者和调度者,JobTracker的主要职责则是启动、跟踪、调度各个Slave的任务执行。系统中还有多台Slave,每一台Slave通常具有DataNode的功能以及TaskTracker的工作。Datanode用来储存系统中的数据信息及其备份,并根据应用要求结合本地的TaskTracker执行Map任务以及Reduce任务。本文实验构建了由一台普通PC机做Master、运行在同一台实体机上的三台虚拟机做Slave的集群环境,而且三台Slave的配置保持一致:虚拟硬件为1G内存,双核处理器,IDE硬盘;OS均为ArchLinux,JDK 1.6.0作为基础平台,Hadoop版本为Version 0.21.0,另外虚拟机之间的通信通过虚拟出来的网桥实现。
1.2 算法及程序
图1 程序流程图
图1展示了实验中分布式日志分析算法的全部操作流程。首先,当用户将待处理日志文件导入Hadoop分布式文件系统(HDFS)时,程序中的MapReduce函数库自动地把输入文件分成M块Split(对应图1中序号①),并将所有Splits及其备份相对均匀地存储于各结点。其次,用户调用日志分析程序对已存入HDFS的输入文件进行lP请求次数的分析与统计。这一过程主要由Map操作和Reduce操作共同完成。具体地,在Map操作阶段,程序中的Map函数读取系统分配的Splits,对输入键/值对即Split中的每一行数据进行分析,然后提取每一行中申请访问的lP值并生成格式为<IP,1>的中间键/值对(对应图1中序号②);在Reduce操作阶段,Reduce函数承接Map操作,将中间键/值对按照不同键值即IP值进行累加,生成格式为<IP,N>的输出键/值对(对应图1中序号③),其中N值即为对应IP地址在被处理访问日志中的请求次数。最后,将统计结果写入输出文件(对应图1中序号④),程序返回。
2 实验过程及结果
2.1 单机模式与分布式性能测试对比
通过运行单机模式和分布式下2、4、8、10、20及40 G访问日志的分析程序,并记录各次程序耗时及运行状况,对两种模式的性能进行了比较,其结果如图3所示。由于集群使用以太网协议进行各结点之间的通信连接,其性能受到网络稳定因素的影响较大;因而在进行分布式组别的测试时,同一级别访问日志的多次程序运行耗时差别较大,图表中各级别耗时值均为5组测试的平均取值。但单机模式不涉及上述因素,同一级别访问日志的多次程序运行耗时仅存在(±10)s的差别,因而取其中一组值作为最终值。
图2 单机模式与分布式耗时对比
从图2可以看出,随着检测文件的逐渐增大,分布式日志分析模式快速高效的特点逐渐趋于明显,这不仅说明了它在处理较大量文件时较传统单机模式的绝对性优势,同时也意味着实验所构建的分布式日志分析系统更加适宜于解析泛洪攻击源。
2.2Ext3文件系统与reiserfs文件系统集群性能测试对比
Hadoop的分布式文件系统HDFS是集群中文件的存储、生成及删除等操作的基础。通过Master主机的调配,系统中所有文件及其副本均衡地分布于各Slaves的“hadoop. tmp. dir”目录下,因而该目录所处的底层Linux文件系统类型也是决定分布式集群性能优劣的因素之一。本文分别建立了基于Ext3与Reiserfs文件系统的两种集群环境,并通过大量测试对两者的性能进行了比较和分析,其测试结果如图3。
图3 Exa与reiserfs文件系统集群耗时对比
从图3可以看出,当测试的访问日志大小改变时,ext3文件系统集群与reiserfs文件系统集群进行日志分析工作时所用的时间也不同,并在不同的文件大小区域内呈现不同的趋势。如在2~20 G区域ext3集群耗时较少,在40~60 G区域reiserfs集群耗时较少。根据此特性,笔者可以在不同应用条件下选择性能相对较高的文件系统构建集群,以使分布式计算发挥出最大优势。
3 总结与展望
随着互联网的迅速普及和发展,网络安全维护已经成为网络运维的重要工作之一。与此同时,并行.计算及分布式模式也已日趋主流。本文分析泛洪攻击这一典型网络安全问题的特点,将分布式处理模式与网络安全防御策略相结合,力图为快速高效解决这一问题寻求突破口。此外,笔者期望将程序扩展为可处理和分析多种日志的分布式日志分析系统,针对各类型的日志进行分类提取重要信息,进而为网络运维工作提供多方面的帮助。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于Hadoop的分布式日志分析系统
本文网址:http://www.toberp.com/html/consultation/1083936581.html