使用bind新功能rate-limit防止DNS放大攻击和流量攻击

目前好多做DNS解析的服务,都采用了bind开源软件。好处就不多说了。但是在安全方面是个软肋,遭受DDOS流量攻击和放大攻击是常有的事情。在14年12月isc发布了最新的bind9.10-p1稳定版,同时对rate-limit默认支持(之前bind9.9的扩展支持版本,同样支持处于开发功能,需要在编译安装的时候./configure --enable-rrl开启rate-limit功能)。rate-limit可以有效防止放大攻击和DDOS流量攻击。

DDOS流量攻击就不多说了,关于放大攻击原理,大家可参考博文:

http://blog.sina.com.cn/s/blog_90bb1f200101iazl.html

http://blog.csdn.net/yatere/article/details/6418888

https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack/

isc官方对放大攻击的解释:

https://kb.isc.org/article/AA-00897/11/What-is-a-DNS-Amplification-Attack.html

正常DNS递归查询

DNS放大攻击示例

了解了DNS放大攻击后,我们来看下bind最新功能rate-limit的使用方法:

isc官方给出的说明:

https://kb.isc.org/article/AA-00994/189/Using-the-Response-Rate-Limiting-Feature-in-BIND-9.9-Subscription-Version.html

在我们的named.conf配置文件中,添加方法可参考如下配置方式:

options{
    .......
     rate-limit {
            ipv4-prefix-length 32;
            window 10;
            responses-per-second 20;
            errors-per-second 5;
            nxdomains-per-second 5;
            slip 2;
              };
    ..........
};

关于参数具体使用说明情况,大家可参考bind手册Page53-P59的说明情况。

同样,在此之前,或者不愿升级bind的,可通过iptables防止DDOS攻击和放大攻击

iptables -A INPUT -p udp --dport 53 -m recent --set --name dnslimit
iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP

效果也不错。大家可有选择性的去使用。

时间: 2024-10-10 19:23:15

使用bind新功能rate-limit防止DNS放大攻击和流量攻击的相关文章

服务接口API限流 Rate Limit

一.场景描述 很多做服务接口的人或多或少的遇到这样的场景,由于业务应用系统的负载能力有限,为了防止非预期的请求对系统压力过大而拖垮业务应用系统,便在对服务接口做了许多策略:服务接口降级.限流.引流等.本文讨论下限流策略,虽然降低了服务接口的访问频率和并发量,却换取服务接口和业务应用系统的可用性. 二.常用的限流算法 常用的限流算法由:楼桶算法和令牌桶算法.本文不具体的详细说明两种算法的原理,原理会在接下来的文章中做说明. 1.漏桶算法 漏桶(Leaky Bucket)算法思路很简单,水(请求)先

巧用React Fiber中的渲染字符串新功能

虽然React Fiber还没有正式发布,但是我们已经可以预先领教其带来的新的编程模式了. 在React Fiber中,render函数可以直接返回一个字符串了,换言之,一个组件可以直接渲染为一个字符串,而不是必须渲染为一个HTML模样的物体. 举个例子,下面这个控件LongString,显示一个input和一个p,p中文字可以是很长的字符串,相当于一个模板,在input中输入的字符串会用来填补p中的模板面. 代码如下. import React from 'react'; class Long

JavaScript大杂烩13 - 总结ECMAScript 5新功能

虽说这个标准已经出来很久了,所有的主流浏览器的最新版本也都支持了这些特性,但是很多的教程中并没有包含这个部分,这一节我们专门来总结一下这个标准中的新功能. Object的新方法 在最新的JavaScript规范(ECMAScript 5)中,Object扩展了很多不错的静态方法,下面来简单看一下: 1. create/getPrototypeOf方法 - 干净的原型链 先说简单的getPrototypeOf方法,这个方法统一了获取对象原型的方式,使用这个对象可以获取到对象的原型,这个不多说了.

MySQL 5.7 Replication 相关新功能说明

背景: MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等.因为都是和复制相关,所以本文将针对这些新特性放一起进行说明,篇幅可能稍长,本文使用的MySQL版本是5.7.13. 1,多源复制(多主一从) MySQL在5.7之后才支持多源复制,之前介绍过MariaDB 多主一从 搭建测试说明,现在介绍如何在MySQL上做多主一从,具体的方法说明可以查看官方文档. 原理:多源复制加入

Windows Serer 2016 technical preview 3 探究 - 2 新功能

新的活动目录联合服务.活动目录联合服务(AD FS)在Windows Server技术预览版包括新的功能,使您可以配置AD FS验证存储在轻量级目录访问协议(LDAP)目录用户.更多信息,查看Active Directory联合身份验证服务概述.在Hyper-V的新技术预览.本主题介绍在Windows Server技术预览版的Hyper-V角色的新的和已更改的功能,在Windows 10技术预览版客户端运行Hyper-V,和微软Hyper-V Server技术预览. Windows服务器的反恶意

Cesium 1.50重量级新功能测评

概要既Cesium 1.49中3dtile加载性能大幅提升以后,Cesium 1.50再次迎来几个重量级新功能:1 地球裁切,这下相当于可以截取一部分地形影像数据,当作一个平面场景来用了!2 射线求交,为客户提供了进行通视分析和碰撞检测的可能!3 贴地高度获取,为标签等位置的放置提供了依据.4 地面大气效果,地球效果更加好看,算是弥补了长久以来的短板吧..Cesium 1.50又新增加了如下几个示例,以下分析也是根据这几个示例来的.地面大气效果(Ground Atmosphere)Cesium

OpenStack Q版本新功能以及各核心组件功能对比

OpenStack Q版本已经发布了一段时间了.今天, 小编来总结一下OpenStack Q版本核心组件的各项主要新功能, 再来汇总一下最近2年来OpenStack N.O.P.Q各版本核心组件的主要新功能.仅供参考, 如有遗漏.错误请指正. 1.1         Q版新功能总结 Q版相对于P版, 主要还是各功能的增强和优化, 其中主要功能有: 计算组件中的vGPU支持.冷迁移至指定主机.PCI NUMA亲和性.卷共享等,镜像组件中的web方式导入镜像, 网络组件中的浮动IP QoS.DVR/

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 memcached API 直接访问 NoSQL2 1.4. 更好的复制2 1.5. Performance Schema2 2. MySQL 5.7.62 2.1. 内建中文全文索引2 2.2. 多主复制2 2.3. other2 3. 参考2 1. MySQL  5.6    5 大新特性 M

酷客多小程序DIY体系全面升级,还加入了这些新功能

在这个追求个性的时代,很多人都不愿追随大流,而是更喜欢DIY.首页模板的DIY功能一直都备受酷客多小粉丝的喜爱,昨晚伴随着扫码点餐一起推出的,还有模板DIY的全新页面.新的DIY界面加入了首页视频.背景.客服三个功能,操作流程相比之前简化了许多,商家只用拖动想要的组件到相应的位置并且链接到相应入口,就能完成模板的设计. 本次新增的DIY首页模板的三个新功能小编逐一介绍一下 1. 首页背景 新增的背景设置功能,商家可以自己设定首页的颜色或者是首页图片,使得小程序首页搭配更和谐,满足大部分追求个性化