尽管 IT 管理员尽心尽责地监控设备、主机和网络是否存在恶意活动的迹象,却往往出力不讨好。主机入侵检测和端点保护对很多公司来说可能是“必需”的安全措施,但如果要找出 RAT、rootkit、APT 或其他盘踞在网络上的恶意软件,就没什么比监控 DNS 流量更有效了。

为什么是 DNS ?

犯罪分子会抓住任何互联网服务或协议的漏洞发动攻击,这当然也包括域名系统( DNS )。他们会注册一次性域名用于垃圾邮件活动和僵尸网络管理,还会盗用域名进行钓鱼和恶意软件下载。他们会注入恶意查询代码以利用域名服务器的漏洞或扰乱域名解析过程。他们会注入伪造的响应污染解析器缓存或强化 DDOS 攻击。他们甚至将 DNS 用作数据渗漏或恶意软件更新的隐蔽通道。

你可能没办法了解每一个新的 DNS 漏洞攻击,但是可以使用防火墙、网络入侵监测系统或域名解析器报告可疑的 DNS 行为迹象,作为主动防范的措施。

要找什么

预示网络中正出现可疑或恶意代码的 DNS 组合查询或流量特征。例如:

1.来自伪造源地址的 DNS 查询、或未授权使用且无出口过滤地址的 DNS 查询,若同时观察到异常大的 DNS 查询量或使用 TCP 而非 UDP 进行 DNS 查询,这可能表明网络内存在被感染的主机,受到了 DDoS 攻击。

2.异常 DNS 查询可能是针对域名服务器或解析器(根据目标 IP 地址确定)的漏洞攻击的标志。与此同时,这些查询也可能表明网络中有不正常运行的设备。原因可能是恶意软件或未能成功清除恶意软件。

3.在很多情况下,DNS 查询要求解析的域名如果是已知的恶意域名,或具有域名生成算法( DGA )(与非法僵尸网络有关)常见特征的域名,或者向未授权使用的解析器发送的查询,都是证明网络中存在被感染主机的有力证据。

4.DNS 响应也能显露可疑或恶意数据在网络主机间传播的迹象。例如,DNS 响应的长度或组合特征可以暴露恶意或非法行为。例如,响应消息异常巨大(放大攻击),或响应消息的 Answer Section 或 Additional Section 非常可疑(缓存污染,隐蔽通道)。

5.针对自身域名组合的 DNS 响应,如果解析至不同于你发布在授权区域中的 IP 地址,或来自未授权区域主机的域名服务器的响应,或解析为名称错误( NXDOMAIN )的对区域主机名的肯定响应,均表明域名或注册账号可能被劫持或 DNS 响应被篡改。

6.来自可疑 IP 地址的 DNS 响应,例如来自分配给宽带接入网络 IP 段的地址、非标准端口上出现的 DNS 流量,异常大量的解析至短生存时间( TTL )域名的响应消息,或异常大量的包含“ name error ”( NXDOMAIN )的响应消息,往往是主机被僵尸网络控制、运行恶意软件或被感染的表现。

很多时候,各种形式的 DNS 监控可以及时地暴露这些威胁。下面笔者将会讲述如何借助网络入侵检测系统、流量分析和日志数据在网络防火墙上应用这些机制以检测此类威胁。

监控DNS流量五大招

防火墙

我们从最常用的安全系统开始吧,那就是防火墙。所有的防火墙都允许自定义规则以防止 IP 地址欺骗。添加一条规则,拒绝接收来自指定范围段以外的 IP 地址的 DNS 查询,从而避免域名解析器被 DDOS 攻击用作开放的反射器。

接下来,启动 DNS 流量检测功能,监测是否存在可疑的字节模式或异常 DNS 流量,以阻止域名服务器软件漏洞攻击。具备本功能的常用防火墙的介绍资料在许多网站都可以找到(例如 Palo Alto、思科、沃奇卫士等)。Sonicwall 和 Palo Alto 还可以监测并拦截特定的 DNS 隧道流量。

入侵检测系统

无论你使用 Snort、Suricata 还是 OSSEC,都可以制定规则,要求系统对未授权客户的 DNS 请求发送报告。你也可以制定规则来计数或报告 NXDomain 响应、包含较小 TTL 数值记录的响应、通过 TCP 发起的 DNS 查询、对非标准端口的 DNS 查询和可疑的大规模 DNS 响应等。DNS 查询或响应信息中的任何字段、任何数值基本上都“能检测”。唯一能限制你的,就是你的想象力和对 DNS 的熟悉程度。防火墙的 IDS (入侵检测系统)对大多数常见检测项目都提供了允许和拒绝两种配置规则。

流量分析工具

Wireshark 和 Bro 的实际案例都表明,被动流量分析对识别恶意软件流量很有效果。捕获并过滤客户端与解析器之间的 DNS 数据,保存为 PCAP (网络封包)文件。创建脚本程序搜索这些网络封包,以寻找你正在调查的某种可疑行为。或使用 PacketQ (最初是 DNS2DB )对网络封包直接进行 SQL 查询。
 
(记住:除了自己的本地解析器之外,禁止客户使用任何其他解析器或非标准端口。)

DNS 被动复制

该方法涉及对解析器使用传感器以创建数据库,使之包含通过给定解析器或解析器组进行的所有 DNS 交易(查询/响应)。在分析中包含 DNS 被动数据对识别恶意软件域名有着重要作用,尤其适用于恶意软件使用由算法生成的域名的情况。将 Suricata 用做 IDS (入侵检测系统)引擎的 Palo Alto 防火墙和安全管理系统,正是结合使用被动 DNS 与 IPS (入侵防御系统)以防御已知恶意域名的安全系统范例。

解析器日志记录

本地解析器的日志文件是调查 DNS 流量的最后一项,也可能是最明显的数据来源。在开启日志记录的情况下,你可以使用 Splunk 加 getwatchlist 或是 OSSEC 之类的工具收集 DNS 服务器的日志,并搜索已知恶意域名。

尽管本文提到了不少资料链接、案例分析和实际例子,但也只是涉及了众多监控 DNS 流量方法中的九牛一毛,疏漏在所难免,要想全面快捷及时有效监控 DNS 流量,不妨试试 DNS 服务器监控。

DNS 服务器监控

应用管理器可对域名系统( DNS )进行全面深入的可用性和性能监控,也可监控 DNS 监控器的个别属性,比如响应时间、记录类型、可用记录、搜索字段、搜索值、搜索值状态以及搜索时间等。

DNS 中被监控的一些关键组件:

响应时间 给出 DNS 监控器的响应时间,以毫秒表示
记录类型 显示记录类型连接到 DNS 服务器的耗时
可用记录 根据可用记录类型输出 True 或 False
搜索字段 显示用于 DNS 服务器的字段类型
搜索值 显示在DNS 服务器中执行的搜索值
搜索值状态 根据输出信息显示搜索值状态:Success (成功)或 Failed (失败)
搜索时间 DNS 服务器中的搜索执行时间

监控可用性和响应时间等性能统计数据。这些数据可绘制成性能图表和报表,即时可用,还可以按照可用性和完善性对报表进行分组显示。

若 DNS 服务器或系统内任何特定属性出现问题,会根据配置好的阈值生成通知和警告,并根据配置自动执行相关操作。目前,国内外 DNS 监控工具主要有 New relic、appDynamic、OneAPM

(图片来源:Cloud Test

本文系 OneAPM 工程师编译整理。Cloud Test 是基于云技术的实时监控系统,能够帮大家实时监控网站性能,监控CDN、DNS、API等第三方服务提供商的可用性,实现应用性能及时监测及时报警。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

监控 DNS 流量,预防安全隐患五大招!的更多相关文章

  1. 运用Ntop监控网络流量(视频Demo)

    运用Ntop监控网络流量 ____网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据,在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降.网络性能降低.通过流量 ...

  2. Ntop监控网络流量

    运用Ntop监控网络流量 ____ 网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据,在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降. 网络性能降低.通过 ...

  3. 在RedHa上安装MRTG监控网卡流量

    http://os.51cto.com/art/201103/252149.htm 2011-03-30 15:05 张微波 phpchina 字号:T | T 在RedHa上安装MRTG监控网卡流量 ...

  4. Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,运用Ntop监控网络流量

    Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量 ...

  5. ubuntu下使用nethogs监控网络流量

    NetHogs是一款小巧免费的开源命令行工具,用来按进程或程序实时统计网络带宽使用率. 对于使用类似于“repo tool”.“depot_tools”等工具checkout源码时非常有用,可以查看当 ...

  6. mrtg监控网络流量简单配置

    Mrtg服务器搭建(监控网络流量) [日期:2012-07-03] 来源:Linux社区  作者:split_two [字体:大 中 小]   [实验环境] 监控机:Red Hat linux 5.3 ...

  7. zabbix问题之snmp监控端口流量断图

    zabbix之snmp监控端口断图问题 在使用zabbix的snmp方式的监控端口流量时,某一个图总是断断续续的(被监控设备有较大的端口流量),经常会出现几分钟内没有图像的问题. 端口流量断图原因: ...

  8. 【spring cloud】【spring boot】网管服务-->配置文件添加endpoints.enabled = false,SpringBoot应用监控Actuator使用的安全隐患

    转载:https://xz.aliyun.com/t/2233 ==================================================================== ...

  9. 监控linux流量python版

    python版监控linux流量 直接上代码,使用OptionParser来传入参数 #coding:utf-8 #------------- #Author:Hu #Data:20150520 #- ...

随机推荐

  1. tcpreplay安装使用

    #Author: ypguo#Data: 2010.4.23#Version:  1.2 增加了修改VLAN tag内容.                 1.1 修改了cygwin下安装的内容    ...

  2. Day04 - Python 迭代器、装饰器、软件开发规范

    1. 列表生成式 实现对列表中每个数值都加一 第一种,使用for循环,取列表中的值,值加一后,添加到一空列表中,并将新列表赋值给原列表 >>> a = [0, 1, 2, 3, 4, ...

  3. [学习笔记]设计模式之Adapter

    写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 Adapter(适配器)模式主要解决接口不匹配的问题.为此,让我们要回到最初Builder模式创建平行世界时,白雪公主和小霍比特人的谜 ...

  4. Cracking the coding interview-String

    关于字符串 问题描述:一般这类程序设计的题目较简单,通过设计字符串的反转,寻找子串,以及字符串的拼接.删除操作等问题. 问题 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复)? 设计算法并写 ...

  5. 19个非常有用的Javascript类库

    Blackbird是一款非常酷的JavaScript调试工具,带有一个漂亮的界面显示和过滤调试信息. http://www.gscottolson.com/blackbirdjs/ Treesaver ...

  6. sqlserver 启用邮箱服务

    1,打开数据库,找到管理 找到数据库邮件,单击右键选择配置 2,直接下一步 3. 4 填写基本的配置信息,邮箱密码不要写错了. 不然到时候发不出去邮件,也不会报错! 直接点击下一步.然后完成.. 到了 ...

  7. 用Markdown优雅的渲染我们的网页

    认识 Markdown Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版.字体设置.它使我们专心于码字 ...

  8. (转)C#中的泛型

    来源:http://www.cnblogs.com/JimmyZhang/archive/2008/12/17/1356727.html .Net 1.1版本最受诟病的一个缺陷就是没有提供对泛型的支持 ...

  9. 关于wordpress忘记密码 找回密码的方式

    1.通过直接修改数据库中密码的加密字符(如果wordpress的版本不同,那么此方法是不好实现的) 2.使用找回密码的方式:通过邮箱找回密码 前端登录密码错误后 会显示   错误); 方法二 打开WP ...

  10. 枚举N行N列的自然数列

    数据库环境:SQL SERVER 2005 现有一个需求,要枚举1-50个自然数,分10行5列展示.如图,