使用BIND在DNS服务器上configurationRRL

我想configurationDNS服务器以使用响应速率限制(RRL)来缓解DNS DDoS攻击。 无论如何,我必须将它configuration为顶级使用RRL,其中'slip'参数为2。

我已经做了一些search,但是我还没有发现任何关于这个参数的明确信息。 我发现的唯一的东西是它表示“有多less个UDP请求可以用截断的响应来回答 ”,并且“ 设置为'2'意味着每隔一个查询得到一个简短的回答 ”。 来源: https : //conference.apnic.net/data/37/apricot-2014-rrl_1393309768.pdf (幻灯片26)

那是什么意思? 如果DNS服务器收到3个UDP请求,最后一个会被截断? 但是多久?

slip参数影响如何处理限速响应。 比方说,例如,8个回复将受到速率限制。 通过默认的slip=2 ,那些响应中的4个(每隔一个)将是一个截断的响应,4个将不会被发送。 当slip=0 ,根本不会发送响应。 当slip=1 ,将发送8个截断的响应。 当slip=4 ,将发送2个截断的响应。

基本上,滑动允许一些响应通过(“滑过”),否则将被RRL阻止。

来自官方BIND9.10 ARM第6.2.16.21节“响应速率限制”的更多信息:

使用DNS的许多攻击涉及具有伪造源地址的UDP请求。 速率限制防止使用BIND 9洪泛networking与请求与伪造的源地址的响应,但可能让第三方阻止对合法请求的反应。 有一种机制可以解决一些客户在洪水中伪造地址的合法请求。 将slip设置为2(默认值)会导致每个其他的UDP请求被一个小的截断(TC = 1)响应回答。 由于体积小,频率降低以及缺乏放大等“滑倒”响应,使得它们对reflectionDoS攻击没有吸引力。 滑差必须介于0和10之间。值0不“滑动”:由于速率限制不发送截断的响应,所有的响应都被丢弃。 值为1会导致每个响应失败; 2到10之间的值导致每个第n个响应滑动。 包括REFUSED和SERVFAIL在内的一些错误响应不能被截断的响应所替代,而是以滑移率泄漏。