浅谈DNS放大攻击的工作原理以及防御措施

DDOS分布式拒绝服务,主要是针对目标系统的恶意网络攻击行为,导致被攻击者的业务无法正常访问。相信各位站长对于DDOS已经是耳熟能详,倒背如流了的境界了,但是对于不和网络相关工作的人员或者是一些企业网站运维人员就不见得可以分辨出DDOS的攻击类型。在前面小编讲了关于NTP放大攻击的操作流程预计防御措施。那么这次主要分享下DNS放大攻击的操作流程以及防御措施。 DNS放大攻击与NTP放大攻击是相似的,但相比NTP放大频率DNS放大频率更高。一般攻击者会利用僵尸网络中的被控主机伪装成被攻击主机,然后设置成特定的时间点连续向多个允许递归查询的DNS服务器发送大量DNS服务请求,然后让其提供应答服务,应答数据经DNS服务器放大后发送到被攻击主机,形成大量的流量攻击,耗尽服务器的资源,导致其无法提供正常服务甚至瘫痪。 DNS放大攻击工作原理: 基本上大部分的放大攻击是攻击者通过许多请求然后将其放大以此来消耗目标Web资源间的带宽。通常黑客利用DNS服务器放大攻击的特性,使用受损的被控僵尸主机将带有欺骗性IP地址,然后利用DNS服务器向被攻击者返回查询的结果。通常查询应答数据包会比查询请求数据包大数倍。导致被攻击者的源服务器因为泛滥的流量而变得不堪重负,最终导致拒绝服务。 DNS放大攻击的防御措施: 1.正确配置防火墙和网络容量;2.增大链路带宽;3.限制DNS解析器仅响应来自可信源的查询或者关闭DNS服务器的递归查询;4.使用DDoS防御产品,将入口异常访问请求进行过滤清洗,然后将正常的访问请求分发给服务器进行业务处理。 最近金融方面的一些小型企业用户对墨者安全反映说遭到了DDoS攻击,因此建议这类客户对自己的网络基础设施进行全方面的排查,安装最新补丁。对服务器各个协议的配置进行排查,禁用可能会被攻击工具利用的服务。提前做好防护,避免潜在危险。

July 13, 2019 · 1 min · jiezi

域名背后那些事

互联网中的地址是数字的 IP 地址,例如 61.135.169.125 就是百度的官网地址之一,如果每次访问百度都需要输入 IP 的话,估计到今天互联网都还没有走出鸿蒙阶段。 在网络发展历史上,最开始确实就是直接使用 IP 地址来访问远程主机的。早期联网的每台计算机都是采用主机文件(即我们俗称的 hosts 文件)来进行地址配置和解析的,后来联网机器越来越多,主机文件的更新和同步就成了很大的问题。于是,1983 年保罗·莫卡派乔斯发明了域名解析服务和域名系统,在 1985 年 1 月 1 日,世界上第一个域名 nordu.net 才被注册成功。 域名比 IP 地址更容易记忆,本质上只是为数字化的互联网资源提供了易于记忆的别名,就像在北京提起「故宫博物院」就都知道指的是「东城区景山前街 4 号」的那个大院子一样。如果把 IP 地址看成电话号码,那域名系统就是通讯录。我们在通讯录里保存了朋友和家人的信息,每次通过名字找到某人打电话的时候,通讯录就会查出与之关联的电话号码,然后拨号过去。我们可能记不下多少完整的电话号码,但是联系人的名字却是一定记得的。 既然「域名」只是一个别名,单凭这一个名字我们并不能访问到正确的地址,只有能将域名解析成实际的网络地址,网络访问才能成功。这种解析工作由专门的「域名系统」(Domain Name System,简称 DNS)完成,DNS 也是互联网的核心基础服务之一。 域名解析是怎么完成的DNS 解析的过程是什么样子的呢?在开始这个问题之前,我们先看一看域名的层次结构。 域名的层级结构在讨论域名的时候,我们经常听到有人说「顶级域名」、「一级域名」、「二级域名」等概念,域名级别究竟是怎么划分的呢? 根域名。还是以百度为例,通过一些域名解析工具,我们可以看到百度官网域名显示为 www.baidu.com.,细心的人会注意到,这里最后有一个 .,这不是 bug,而是所有域名的尾部都有一个根域名。www.baidu.com 真正的域名是 www.baidu.com.root,简写为www.baidu.com.,又因为根域名 .root 对于所有域名都是一样的,所以平时是省略的,最终就变成了我们常见的样子。根域名的下一级叫做顶级域名(top-level domain,缩写为 TLD),也叫做一级域名,常见的如 .com / .net / .org / .cn 等等,他们就是顶级域名。再下一级叫做二级域名(second-level domain,缩写为 SLD),比如 baidu.com。这是我们能够购买和注册的最高级域名。次级域名之下,就是主机名(host),也可以称为三级域名,比如 www.baidu.com,由此往下,基本上 N 级域名就是在 N-1 级域名前追加一级。总结一下,常见的域名层级结构如下: 主机名.次级域名.顶级域名.根域名# iewww.baidu.com.root一般来说我们购买一个域名就是购买一个二级域名(SLD)的管理权(如 leancloud.cn),有了这个管理权我们就可以随意设置三级、四级域名了。 域名解析的过程与域名的分级结构对应,DNS 系统也是一个树状结构,不同级别的域名由不同的域名服务器来解析,整个过程是一个「层级式」的。 ...

July 12, 2019 · 4 min · jiezi

带你了解DDOS防御中流量清洗的技术方法

遇见DDoS攻击的时,目前的防护技术中避免不了的会出现流量清洗过滤等词,客户都会很疑惑流量清洗,是怎么清洗的,会不会把正常的访问请求一起过滤清洗掉呢?这是站在客户角度最关心的一个问题,这种想法很正常,因为谁都不想损失客户嘛。那接下来分享下DDoS防御中流量清洗的技术方法吧。 流量清洗的意思是全部的网络流量中区分出正常的流量和恶意的流量,将恶意流量阻断和丢弃,而只将正常的流量回源给源服务器。墨者安全一般建议选择优秀的流量清洗设备。有些漏报率太高的,对大量的正常请求过程中会造成中断,有可能会影响到业务的正常运行,相当于优秀的清洗设备,可以降低漏报率以及误报率,在不影响业务正常运行的情况下可以将恶意攻击流量最大化的从网络流量中去除。但是做到这一步需要用到准确而高效的清洗技术。如: 1、攻击特征的匹配:在发动DDoS攻击过程中是需要借助一些攻击工具的,比如僵尸网络等。同时网络犯罪分子为了提高发送请求的效率,攻击工具发出的数据包通常是编写者伪造并固化到工具当中的。因此每种攻击工具所发出的数据包都有一些特征存在。那么流量清洗技术将会利用这些数据包中的特征作为指纹依据,通过静态指纹技术或者是动态指纹技术识别攻击流量。静态指纹识别的原理是预先将多种攻击工具的指纹特征保存在流量清洗设备中的数据库,因此所有的访问数据都会先进行内部数据库比对,如果是符合的会选择直接丢弃。动态指纹识别清洗设备对流过的网络数据包进行若干个数据包学习,然后将攻击特征记录下来,后续有访问数据命中这些特征的直接丢弃。 2、IP信誉检查:IP信誉机制是互联网上的IP地址赋予一定的信誉值.有一些经常用来当作僵尸主机的,会发送垃圾邮件或被用来做DDOS攻击的IP地址。会被赋予较低的信誉值.说明这些IP地址可能成为网络攻击的来源。所以当发生DDOS攻击的时候会对网络流量中的IP信誉检查,所以在清洗的时候会优先丢弃信誉低的IP,一般IP信誉检查的极端情况是IP黑名单机制。 3.协议完整性验证:为提高发送攻击请求的效率,大多数的都是只发送攻击请求,而不接收服务器响应的数据。因此.如果采取对请求来源进行交替严重,就可以检测到请求来源协议的完整性,然后在对其不完整的请求来源丢弃处理。在DNS解析的过程中,攻击方的工具不接收解析请求的响应数据,所以不会用TCP端口进行连接。所有流量清洗设备会利用这种方式区分合法用户与攻击方,拦截恶意的DNS攻击请求。这种验证方式也适用于HTTP协议的Web服务器。主要是利用HTTP协议中的302重定向来验证请求,确认来源是否接收了响应数据并完整实现了HTTP协议的功能。正常的合法用户在接收到302 重定向后会顺着跳转地址寻找对应的资源。而攻击者的攻击工具不接收响应数据,则不会进行跳转,直接会被清洗拦截,WEB服务器也不会受到任何影响。 针对精准的流量清洗还需要很多种的精确技术,比如速度检查与限制、协议代理和验证、客户端真实性验证等技术方法。因为时间原因,剩下的三种方法后续分享给大家。

July 10, 2019 · 1 min · jiezi

干货-云解析DNS之网站监控

云解析是在域名解析的基础上,由京东云团队,结合京东云的优质网络、主机资源研发的高可用、高可靠、功能丰富的权威DNS服务器。云解析拥有简单易用的控制台,方便用户对域名进行操作。采用多集群、多节点部署,拥有百G防护套餐,专业DNS团队提供全面的服务保障能力。本次操作需要用到京东云云解析【企业高级版】¥3888/年,因为只有这个版本才有网站监控功能 一、搭建测试站点具体配置如下: 计费模式:按配置地域与可用区:华北-北京(可用区随意)镜像:CentOS 7.4 64位规格:1核4GB存储:保持默认安全组:开放全部端口(仅用于测试,生产环境根据需求开放)带宽:1Mbps名称:自定义自定义数据:如下云主机dns_test1: 1 #!/bin/bash2 yum install httpd -y3 systemctl enable httpd4 systemctl start httpd5 echo "Web01" > /var/www/html/index.html云主机dns_test2: 1 #!/bin/bash2 yum install httpd -y3 systemctl enable httpd4 systemctl start httpd5 echo "Web02" > /var/www/html/index.html云主机创建完成如下: 浏览器中分别输入以上两个云主机的公网IP可验证测试站点是否创建成功 二、在云解析中添加域名1. 添加域名 打开京东云控制台:https://console.jdcloud.com/,在左侧导航中依次点击域名服务-云解析,如图添加需要被解析的域名(需要填写一级域名) 添加完成后,需要到原域名服务商所在的控制台修改NS 各个服务商界面不同 NS修改完成 NS修改是否生效,由于控制台是定时查询同步,所以会有所延迟,具体可查询whois:https://net.jdcloud.com/domai...2. 添加域名解析记录 如图添加两条A记录,分别指向上一步创建的云主机dns_test1的公网IP和云主机dns_test2的公网IP(这里设置的两条记录主机记录要相同,记录值不同,具体看后面操作) 解析记录添加完如下: 验证添加的记录 三、设置网站监控1. 设置报警联系人信息 注意:网站监控报警只有安全设置中绑定的手机号和邮箱才能收到信息,联系人管理中设置的联系人信息无法收到报警。 2. 添加网站监控 ...

July 4, 2019 · 1 min · jiezi

云原生计算基金会宣布CoreDNS毕业

快速增长的DNS服务器,作为Kubernetes的官方默认DNS支持Kubernetes®和Prometheus™等开源技术的Cloud Native Computing Foundation®云原生计算基金会(CNCF®)今天宣布,在去年毕业的Kubernetes、Prometheus和Envoy之后,CoreDNS是2019年第一个毕业的项目。要从孵化的成熟水平升级到毕业,项目必须表现出蓬勃的采用、多样性、正式的治理过程,以及对社区可持续性和包容性的坚定承诺。CoreDNS是一个快速、灵活且现代的DNS服务器,可在云原生部署中提供服务发现。由于它提供了与Kubernetes向后兼容但可扩展的集成,最新的Kubernetes版本(1.13)正式推荐CoreDNS作为所有部署的默认DNS。该服务器还可用于AWS的混合云环境,使用AWS Route53和etcd集成,亦计划尽快添加Google Cloud DNS支持。“CoreDNS成为CNCF的一部分已经近两年,被社区培养以达到毕业水平,并正式成为Kubernetes的DNS服务器,”CNCF的首席运营官,Chris Aniszczyk表示。“此外,CoreDNS是一个出色的独立DNS服务器,可继续在更多环境中使用。我们很高兴能够随着社区的发展继续提供支持。”该项目由Miek Gieben于2016年3月创建,他当时是Google的站点可靠性工程师。在构建CoreDNS时,社区考虑了其他DNS服务器的局限性,创建可与多个后端通信的通用DNS服务器,如etcd、Consul和Kubernetes。CoreDNS后来于2017年加入了Cloud Native Sandbox,于2018年2月成为孵化项目。今天,该项目有100多个贡献者,16个活跃的维护者,以及许多在Kubernetes内外使用它的组织,包括Bose、Hellofresh、Skyscanner、SoundCloud、Trainline和Zalando。“自从2017年初加入CNCF以来,CoreDNS一直能够看到出色的社区增长和生产中的惊人使用,”CoreDNS维护者,Yong Tang表示。“我们非常感谢CNCF帮助CoreDNS成为成功的项目,并期待与CNCF一起继续发展我们的社区。”“CoreDNS项目和社区已经走过了一段漫长的道路,从而达到成为CNCF项目毕业的重要里程碑,”CoreDNS维护者和Okkur Labs创始人,Michael Grosser说道。“从一个简单的DNS服务器暴露Prometheus指标,到一个内置巨大灵活性的成熟DNS解决方案。成为大多数Kubernetes集群的核心组件,为用户带来更多的稳定性和灵活性,让我们对支持CoreDNS的强大社区充满信心。”“CoreDNS的灵活、基于插件的架构,已被证明是DNS服务器的强大设计。易于集成和扩展,使得CoreDNS在实施各种DNS服务和用例变得至关重,从Kubernetes服务发,到基于政策的DNS和广告拦截,”Google云计算高级软件工程师和CoreDNS高级维护者,John Belamaric表示。“CNCF对该项目的支持对CoreDNS的成功至关重要,我们很高兴能够毕业,并继续发展我们多元化的社区。”“作为项目维护者,我专注于调整CoreDNS以供Kubernetes社区采用,在Kubernetes部署CoreDNS上进行协作,并将项目验证为Kubernetes集群的DNS服务器,”Infoblox软件经理,Francois Tur表示。“今天CoreDNS从CNCF毕业,对我们的项目社区来说是一项了不起的成就。这个旅程始于两年多以前,我们才刚刚开始。”为了正式从孵化状态毕业,该项目采用了CNCF行为准则。CoreDNS团队在过去一年中还完成了12个版本,现在有35个内置插件和15个外部插件,其中几个为Kubernetes社区开发。它参与了过去两年的Google Summer of Code,当中导师与学生实习生配对,帮助推进不断发展的云原生项目。“在Infoblox Inc.,我们很光荣能够在我们的SAAS DNS产品中使用CoreDNS,我们已经在全球范围内部署了多个CoreDNS实例。它目前正在为所有Infoblox云客户在生产环境提供DNS流量,包括一些财富500强企业,”Infoblox高级软件经理,Naveen Singh表示。“我们非常欣赏CoreDNS的插件架构,它为我们提供了更大的灵活性、更高的开发速度和更快的发布周期。”“使用CoreDNS作为坚实的基础上构建GitNS.com是一个很好的决定。DNS的基本特性使得在高性能、可靠和可扩展的系统之上构建至关重要,“GitNS创始人,Michael Grosser说。“该项目有一个令人难以置信的社区,我们非常乐意支持。随着CoreDNS从CNCF毕业,它成为构建基础架构和自定义用例的最佳DNS平台之一。”CoreDNS背景CoreDNS是用Go编写的DNS服务器。它根据Apache许可证版本2授权许可,并且是完全开源的。CoreDNS因其灵活性,可用于多种环境和用例。可用于Kubernetes服务发现、权威的DNS服务器、DNS重型应用程序的本地缓存等等。每个插件链接在一起赋能其他功能,如Prometheus指标或开箱即用的查询重写。除了从标准区域文件提供DNS之外,CoreDNS通过Kubernetes插件与Kubernetes集成,使用etcd插件直接通过etcd,以及与许多其他后端数据提供程序集成。有关下载、文档和参与项目的背景信息,请到https://github.com/coredns/co…。2019年KubeCon + CloudNativeCon中国论坛提案征集(CFP)现已开放KubeCon + CloudNativeCon 论坛让用户、开发人员、从业人员汇聚一堂,面对面进行交流合作。与会人员有 Kubernetes、Prometheus 及其他云原生计算基金会 (CNCF) 主办项目的领导,和我们一同探讨云原生生态系统发展方向。2019年中国开源峰会提案征集(CFP)现已开放在中国开源峰会上,与会者将共同合作及共享信息,了解最新和最有趣的开源技术,包括Linux、IoT、区块链、AI、网络等;并获得如何在开源社区中导向和引领的信息。大会日期:提案征集截止日期:太平洋标准时间 2 月 15 日,星期五,晚上 11:59提案征集通知日期:2019 年 4 月 1 日会议日程通告日期:2019 年 4 月 3 日幻灯片提交截止日期:6 月 17 日,星期一会议活动举办日期:2019 年 6 月 24 至 26 日2019年KubeCon + CloudNativeCon + Open Source Summit China赞助方案出炉啦

January 25, 2019 · 1 min · jiezi