docx文档 基于开源软件的DNS 查询日志分析系统

专业资料 > 经营营销 > 人力资源管理 > 文档预览
14 页 0 下载 178 浏览 0 评论 0 收藏 3.0分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
基于开源软件的DNS 查询日志分析系统 第 1 页 基于开源软件的DNS 查询日志分析系统 第 2 页 基于开源软件的DNS 查询日志分析系统 第 3 页 基于开源软件的DNS 查询日志分析系统 第 4 页 基于开源软件的DNS 查询日志分析系统 第 5 页
下载文档到电脑,方便使用
还有 9 页可预览,继续阅读

基于开源软件的DNS 查询日志分析系统内容摘要:

doi:10.6043/j.issn.0438-0479.201604023 基于开源软件的 DNS 查询日志分析系统 郑海山 (厦门大学信息与网络中心,福建 厦门 361005) 摘要:域名系统(Domain Name System,DNS)是互联网的核心基础服务,服务的健壮性 和安全性异常重要,然而高校的 DNS 配置还存在着大量的问题。本文通过厦门大学建立 DNS 服务的经验提出了一个基于开源软件的 DNS 查询日志分析系统,给出构建 DNS 集群 自动化部署的最佳实践,给出利用开源工具监控 DNS 的配置信息和运行状态的方法,并利 用大数据分析工具结合少量的编程生成查询日志的可视化图表。本系统通过横向扩展可应 对每日上亿条数据的实时分析要求。应用本系统后 DNS 服务整体架构清晰,安全性提高, 用户的上网日志可实时统计展示,为分析 DNS 服务的运行状态、攻击预警、网络性能调优 等方面提供了帮助。 关键词:域名系统;BIND;大数据; 日志分析; 可视化;部署自动化 中图分类号:TP 393 文献标志码: A 域名系统(Domain Name System,DNS)作为最古老的互联网服务存在,提供域名和 服务器 IP 地址之间的相互映射,使得用户无需记忆物理服务器的 IP 地址而只通过直观的 主机名即可访问互联网服务。由于其重要性,所以 DNS 协议设计得非常简单,并且一般客 户端会设置至少两个 DNS 服务器地址以免其中某台出现故障。协议的简单和客户端的冗余 配置使得 DNS 故障率较低,或者故障被冗余配置掩盖,导致管理员对 DNS 服务器疏于维 护。实际上,随着上网客户端越来越多,网络攻击越来越普遍 [1] ,黑客水平越来越高 , BIND 等 DNS 软件特性开发导致默认配置参数的持续变更,使得 DNS 服务器应当投入更多 的维护工作,然而教育网内部分高校 DNS 系统尚存在着诸多安全隐患。 对于 DNS 日志的分析,由于 DNS 日志量较为庞大,而且 DNS 服务器日志多台分散, 很多高校没有意识或者能力对 DNS 日志进行分析,或者只是利用错误日志进行分析,排查 问题。随着技术的进步,存储价格下降,机器性能提高,通过大数据技术基于 DNS 日志数 据进行分析变得可行。季成对 CN 节点的 DNS 查询日志使用聚类和统计分布进行了分析 [2] ,苏政利用信息地理学对 CN 域名日志进行了多个尺度的空间分析,揭示了互联网访问在 收稿日期:2016-04-14 录用日期:2016-07-06 Email:haishion@xmu.edu.cn 空间上的规律[3]。章思宇[4]提出一套基于 DNS 流量评估各类恶意软件的方法。查诚吉 [5]、董 再旺 [6]、王帅 [7]、BEGLEITER R[8]、JOSE A S[9]等应用大数据框架 Hadoop 对日志进行分析。 以上文献均对 DNS 的查询日志做了各类有意义的挖掘,分析过程大多利用了 Hadoop 工具。 然而,Hadoop 在 DNS 日志分析方面显得过于复杂,需要较多的集群安装、配置和编程工 作量,并且挖掘所得的结果不够直观。董再旺 [6]对挖掘结果使用 PHP 语言实现的可视化分 析监控系统也存在编程工作量稍大的问题。同时,以上文献只被动利用 DNS 日志的分析结 果查找安全问题,对于实践中 DNS 集群的自动化部署和安全配置等最佳实践涉及较少。 本文提出一个新的方法,通过开源 Ansible 软件自动化构建高效安全的 DNS 服务器集 群 , 结 合 dig 、 tcpdump 、 bindgraph 、 Nagios 对 服 务 器 进 行 监 控 , 基 于 开 源 Filebeat、Logstash、Elasticsearch 软件,提供比 Hadoop 更简单的安装配置和更实时的分析 结果,同时使用 Kibana 软件通过简单的编程和配置即可提供基于各种维度的可视化分析图 表。 1. 高校 DNS 系统的问题和解决思路 高校 DNS 系统常见问题包括以下几点: 1) 操作系统没有更新到最新,没有安装必要的安全补丁。 2) 没有配备或者配置防火墙。 3) DNS 配置错误导致信息泄露。配置错误包括开放 DNS 查询,导致 DNS 不必要地 对互联网提供服务,增加被攻击和被利用发起发射攻击的风险。包括没有配置严 格的 ACL。包括 AXFR(Authoritative Transfer,权威记录传输协议)配置错误导 致整个域信息被恶意下载。 4) 缺乏对 DNS 服务器运行状态的有效监控。 5) BIND 软件没有更新到最新,导致存在内存泄露和拒绝服务攻击等问题。 6) DNS 攻击发现手段缺乏,没有充分利用查询日志。 为解决以上问题,高校应使用最新的操作系统,部署最新的 DNS 软件,规划 DNS 服 务器集群架构,应当把 DNS 服务器分为数据中心内网 DNS 和对外 DNS 服务,按角色分开 部署。集群内配置适当的防火墙策略,对外只提供必要的服务。对于有些学校,可限制缓 存 DNS 只在校内提供服务,可在防火墙端设置或者使用 ACL 限制。 为了使得安装配置自动化,可采用开源运维自动化工具 Ansible 来部署整个 DNS 集群。 Ansible 可自动化部署应用软件,自动化管理配置项。配置 DNS 集群,只需要定义好各个 角色,每个角色需要安装的软件,修改的配置,把 IP 加入角色,一个命令即可高效完成整 个集群部署。 对于配置错误引起的问题,应通读 DNS 软件手册和更新记录,并使用监控或者自定义 脚本定期运行核查配置。 对于 DNS 查询日志的分析可采用开源软件 Elasticsearch,Elasticsearch 是一个分布式的 搜索和分析引擎,基于开源的 Lucene 轻量级全文索引引擎工具包,Lucene 可对所有文档进 行全文分词索引,通过自定义的查询语言可以实现对文档高性能的查询。索引的结果使用 开源软件 Kibana 展示,既可实时分析日志,也可保存分析语句便于在任意时刻调用结果, 甚至可跟监控系统对接实现某些指标超过阈值后自动报警。 2. 系统设计方案和实现的功能 通过以上对高校 DNS 系统问题的研究,结合解决思路设计了如图 1 的系统整体架构。 图 1 域名系统查询日志分析系统架构图 Fig.1 Architectureof Domain Name System Log Analysis System 图 1 中的所有角色均支持横向扩展,其中 Logstash 对 CPU 要求较高,内存和硬盘空间 要求较低,而 Elasticsearch 集群内部负责数据存储的节点对硬盘空间要求较高,负责检索 的节点对 CPU 和内存要求较高,应差异化配置服务器。 系统实现的源代码保存在版本控制系统内,分为以下四个主要模块: 1) Ansible 脚本定义代码。编写 Ansible 配置文件定义图 1 所示的整个 DNS 集群和日 志分析集群。Ansible 脚本通过角色定义各个服务器配置,服务器的防火墙配置, 服务器运行的软件和软件的配置,开源监控系统的配置。对于服务器的配置变更 和增加修改均可通过修改 Ansible 脚本并运行一条命令完成。 2) DNS 记录数据代码。DNS 记录数据为文本格式,属于 DNS 软件的配置,本应在 模块 1 内定义。然而由于记录的变更较为频繁,如果每次变更一个记录均需运行 整个集群的 Ansible 脚本较为繁琐。所以对于频繁修改的记录数据和整个集群定义 脚本隔离开来,方便记录更新和使用自动化工具生成。 3) 自定义脚本代码。自定义脚本代码包括一些对简单脚本的组合和保存常用脚本运 行命令参数的搭配方式,方便自动化运行脚本检查和通过拷贝替换参数即可针对 某些项目进行分析。 4) 查询日志分析子系统代码。查询日志分析子系统的配置首先通过 Kibana 自带的 GUI 配置,该配置属于手工操作,本应无法自动化。然而由于配置信息以 JSON 文本形式存在于 Elasticsearch 内,所以配置变更后通过脚本自动下载配置信息保 存到源代码,方便系统重建时快速建立整个查询日志分析子系统和对子系统变更 历史的追朔。 查询日志分析子系统保存 60 天内的 DNS 查询记录,可视化揭示用户上网行为和攻击 行为的模式和趋势。通过分析厦门大学的需求本子系统已实现以下功能: 1) 结合 Lucene 查询语句可实现各类自定义查询统计,各个字段均可查询,可组合查 询。可保存常用查询。 2) 可按时间钻取(drilldown)查询,提供各种时间粒度的查询结果,可合并集群内 多个服务器的日志。 3) 查询可可视化,在单一仪表盘内一次性展示多个可视化图表。 4) 按饼状图显示服务器域名查询量。 5) 折线图显示各服务器域名查询量随时间分布情况。 6) 显示查询量最大的前几个客户机。 7) 显示校内域名被查次数最多的前几个站点列表。 8) 显示 IPv4 和 IPv6 DNS 查询数量。 9) DNS 查询请求类型分析。 10) 旭日图显示校内用户对互联网 ISP 访问的排名情况[10] 11) 查询错误日志,展示十几类错误信息的数量。 12) 3. DNS 规划和安装配置 1. DNS 软件选型 DNS 软件可选较多,常见的有 BIND、PowerDNS、Dnsmasq、MicrosoftDNS、互联网 DNS 提供商提供的云 DNS 服务、硬件 DNS 产品等[11]。Windows 下的域名系统服务器可基 于图形界面管理或者采用脚本管理,自动化程度较低,配置文件不如文本配置直观。云 DNS 服务使用较为简单,成本较低,但是对于 DNS 记录的变更控制力较弱。硬件 DNS 产 品完整性较高,功能较多,使用也较为方便。然而硬件存在价格的成本,产品化较高导致 自定义功能较弱,同时软件的安全更新频率也较低。所以本文选择了当前互联网最为广泛 使用的 BIND9 DNS 软件。 2. DNS 整体架构 首先应当将权威服务器和缓存服务器分开部署,权威服务器只负责面对互联网的缓存 服务器查询本校域名使用,权威服务器又分为主服务器和从服务器。缓存服务器提供给本 校师生使用,缓存服务器可安装任意多个。分开部署使得其中任何一个服务器即使遭受攻 击也不会影响其他服务器,也有利于日志收集时对查询日志进行分类。 服务器可采用虚拟机和实体机混合,操作系统采用 Windows 和 Linux 混合,多个操作 系统版本混合,采用多个 DNS 软件,分布在不同的物理位置以提高多样性。 图 1 中的权威服务器为主从两台服务器,为了更

本文档由 sddwt2022-04-08 05:24:55上传分享
给文档打分
您好可以输入 255 个字符
本站的域名是什么?( 答案:sciwk.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言