分布式日志检测的网络安全方案设计
2026-05-09 11:37:49 来源: 作者:liunanfang
摘要:网络日志异常分析是网络安全技术的重要内容,通过 Hadoop 平台实现分布式异常数据存储和分析,成为日志检测分析的主要手段。
摘 要 :网络日志异常分析是网络安全技术的重要内容,通过 Hadoop 平台实现分布式异常数据存储和分析,成为日志检测分析的主要手段。将主流的大数据分析手段引入网络安全方案体系,能够大幅提高网络安全方案的稳定性和适用范围,同时提高大数据方案的覆盖能力。方案利用 HDFS 平台实现分布式异常数据存储和调度将结构化数据提供给 MapReduce 平台,利用聚类算法对日志数据进行分析,利用统计学算法对异常数据进行呈现。设计符合方案程序体系的日志检测方案流程,并将该方法与现有大数据体系和网络安全方案体系相结合,有效提升了网络安全和大数据方案的管理水平。
关键词 :日志分析 ;网络异常数据 ;Hadoop ;大数据 ;网络安全
0 引言
随着计算机网络的高速发展,网络安全成为互联网发展的重要瓶颈和技术难题 [1]。通过日志分析的方法,定位网络入侵和网络威胁,能够快速、有效、准确地解决主机威胁和内网入侵等安全问题 [2]。日志管理过程会产生海量日志数据,对这些数据的采集、分析、存储、管理成为网络安全研究领域的重点问题 [3]。
Hadoop 平台具有应用广泛、部署灵活、扩展能力强的特点,利用其分布式存储平台以及分布式数据分析平台,对海量日志数据进行多数据源采集、分布式存储、高速读写、异构数据处理、多数据源结构化、异常数据分析以及分布式数据呈现,能够为网络日志检测研究提供覆盖能力强、适用范围广、实施便捷的解决方案 [4]。
网络日志检测过程基于 Hadoop 生态体系的 HDFS (分布式文件系统)与 MapReduce(分布式并行编程模型)实现。具体而言,通过 Sniffer 平台实现对日志数据采集和格式转换,搭建基于 Hadoop 体系的 MapReduce 平台 [5]。该平台利用 Flume 系统实现网络日志分布式流量采集和数据预处理 ;利用 HDFS 实现分布式数据存储 ;利用 MapReduce 的内嵌函数完成异常日志流量的分布式分析和呈现 [6]。同时,与企业大数据方案和网络安全方案体系紧密结合,设计完善的方案流程。
1 分布式网络日志安全方案结构
1.1 Hadoop 生态系统
形成 Master、Slave、NameNode、DataNode、Job Client、JobTracker 等角色, 通过 Map 过程和 Reduce过程,实现 TasteTracker、JVM、多种聚类算法等处理单元的数据处理过程。日志检测方案架构如图 1 所示。

1.2 MapReduce 数据处理平台
为了满足使用者的需求, Hadoop 利用 MapReduce平台,提供编程模式简单、模型输入便捷的分布式并行编程环境,并与 HDFS 数据存储系统无缝对接, 实现Hadoop 生态体系内的资源共享和整合。该平台利用分布式原理,对 Map 队列和 Reduce 队列进行映射,通过 JobTracker 和 TaskTracker 在集群中的部署,保证数据处理结果与数据输入的耦合,实现 Hadoop 集群资源的合理配置和灵活扩展。
2 日志检测内容
本方案利用虚拟化技术,基于Vmware Vsphere 虚拟化平台,搭建 Hadoop 分布式服务器集群。选用 8 台虚拟化服务器作为 NameNode 和 DataNode, 软件版本选用CentOS 7、OpenJDK 1.7、Flume-1.6.0、Zookeeper3.4.8、 Hadoop-2.7.1。
2.1 方案环境
使用一台 DellR710 服务器搭建硬件环境,配置 Intel Xeon2.5G*4/2566G/5T。部署Vsphere 虚拟化平台, 并新建8 台虚拟化服务器,配置为 CPU2核/16G/100G。全部节点安装 CentOS、Hadoop、HDFS, 分别部署 NameNode、 Secondary NameNode、DataNode,将JobTracker 与Secondary NameNode 部署在同一服务器,该服务器为 Master,得到 6 个子节点的服务器集群。
2.2 数据存储和管理
调试 HDFS, 保证各节点能够与 NameNode 通信 ;调试存储资源调度管理,并实时监视节点状态 ;为所有节点安装JDK 环境,配置节点 IP 地址,同步各节点私钥和公钥,设置 SSH 免登录功能,测试各节点间链接正常 ;安装 Zookeeper,设置配置文件的存储数据目录,填入各节点地址,解决各节点发生单点故障时的数据同步和备份调度问题,保障数据安全 ;配置 HDFS 系统的站点文件及 NameService,写明数据存储和传输的各节点 IP 地址,保证数据存储和传输的准确性。
2.3 日志数据处理
使用网络攻击模拟器产生日志数据,部署在集群中的 Flume 系统采集到日志文件,传输给 HDFS 平台后,需要对全部数据进行特征提取、特征子集优化,从而得到表意能力较强的特征子集。经过特征优化后的数据集能够准确描述每条日志表示的网络行为,为日志分析过程中的网络行为威胁分析提供数据基础。日志数据处理流程如下 :首先,数据采集模块对网络数据进行采集和存储 ;其次,特征提取模块对全部特征进行提取和排序,筛选完毕后,数据样本重新进入 HDFS 存储节点 ;再次,预处理模块根据预测模型的数据类型,对数据集进行针对性调整,将数据集拆分为学习数据集和预测数据集 ;从次, 根据预测模型的学习过程, 通过 Map函数, JobStacker 将不同数据子集拆分为 TaskTracker加载进模型,得到检测准确率、误报率、漏报率 ;最后,使用 Reduce 函数合并各节点结果,形成日志的分析结果,重新存入 HDFS。日志数据处理过程如图 2 所示。

3 步骤及结果
3.1 Hadoop 集群部署
(1) 安装 Hadoop 和JDK。命令 :sudo tar Hadoop- 2.7.1.tar.gz ;安装完成后检测 Hadoop 平台和JDK 环境是否正确。
(2)创建集群节点的用户和组, 一般为“hadoop”,并赋值。命令 :sudo chown -Rhadoop:hadoop hadoop-
(3)设置各节点免密码登录,同传公钥、私钥。命令 :ssh-keygen -t rsa -f ~/.ssh/id_rsa ;复制 public key至全部节点。
(4)设置节点通信参数。修改 hadoop-env.sh 脚本环境变量, 在 core-site.xml xml 中写入 HDFS 和 Mapreduce 的 I/O 参数 ;在 hdfs-site.xml xml 中写入 NameNode、Secondary NameNode、DataNodes ;在 Mapreduce 的 mapred-site.xml 写入JobTracker 和 Tasktracker ;在 masters、slaves 文件中写入 8 各节点的主机信息。
(5)部署 HBase 数据库管理系统。全部节点安装Zookeeper,可采用主机推送方法 ;安装 HBase,修改hbase-env.sh、hbase-site.xml、regionservers 的环境变量对应项 ;使用 Hadoop 的jar 文件, 替换 HBase 的对应文件,保证各节点数据管理方式一致。
3.2 日志数据采集与分析
(1)Flume 日志采集。选用 LOIC 网络攻击模拟器产生日志数据,由 Flume 收集数据,将主机的 access.log、 error.log 日志文件通过 tail–F 命令传输到 HDFS 中。
(2) 产生工作任务。调用 submitJobInternal 方法,产生工作任务 ;调用 getNewJobID 方法,取得Job Tracker 的JobID,确定任务的输入输出路径是否正常 ;调用 max(minimumSize, min(maximumSize, blockSize)) 方法,拆分任务准备进入 Map 方法 ;调用 submitJob 方法,请求任务执行,将参数写入job.xml ;调 用JobStatus status =jobSubmitClient.submitJob (jobId),启动 JobTracker。
(3)JobTracker 调度任务。产生任务列表,调用任务调度器 ;任务调度器根据任务拆分信息,创建每个子任务的 Map 业务 ;调用 mapred.reduce.tasks 创建Reduce 任务 ;调用 setNumReduceTasks() 方法得到相应的 Reduce 任务 ID。
(4)任务分配。TaskTracker 利用 heartbeat 属性,与 JobTracker 同步,实现任务分配。
(5)任务执行。TaskTracker 得到分配的任务后,下载对应任务的jar 数据 ;调用 TaskRunner 启动新任务的执行。
3.3 结果分析
任务执行过程中包括多种动作,当 MapReduce 模型执行完毕后,统计页面浏览数 PV、访客数量 UV,也可以自定义检测动作, 如 pass、log、alert、activate、 dynamic 等。
以 alert 动作为例, 定义动作规则 :alert icmp ! [* **.***.***.0/24] any -> any any (msg:"illegal icmp with TTL=50";ttl:50;), 任务执行完毕后, 会在/etc/snort/ rules目录下产生告警信息,数据如下 :
01/29-18:22:45.143241 [**] [1:3234:2] NETBIOS Messenger message little endian overflow attempt [**] [Classification: Attempted Administrator Privilege Gain] [Priority: 1] {UDP} ***.***.***.*** -> ***. *********
4 结语
基于 Hadoop 生态体系,利用 HDFS 文件存储系统实现日志文件的存储。通过 MapReduce 进行日志文件安全检测,并通过默认统计和自定义统计方法输出检测结果。通过大量的数据积累,形成对网络日志正确率、误报率、漏报率的综合评价。
参考文献
[1] 程豪.基于 Hadoop 的交通大数据计算应用研究[D].西安:长安大学,2014.
[2] 王丹宁,柴旭超,王文青. Hadoop平台下的地震波形数据存储与应用规划[J].软件工程,2016,19(1): 48-49.
[3] 李辉,王建文,叶明雯.基于Hadoop的海量气象水文数据并发处理模型[J].计算机应用,2018,38(S2): 187-191.
[4] 马晓亮,孙艳红.基于远程评估分析的政务系统安全防护研究[J].电脑知识与技术,2018,14(21):298-300.
[5] 郝璇.基于Apache Flume的分布式日志收集系统设计与实现[J].软件导刊,2014,2014(7): 110-111.
[6] 冯斌,刘文杰,樊鑫,罗钟铉,雷娜.多机位人脸图像采集方案设计[J].方案室科学,2017,20(5):32-35.