kno DNS 03 Tips - DNS Cookies

DNS cookies (RFC7873)是一种针对DDoS拒绝服务和放大攻击的轻量级安全机制,其主要思路是是过在Query/Answer 包中增加 OPT RR,在Query第一次交互时,通过 DNS Client 请求中 EDNS cookie 来验证 DNS Client 的真实性。
DNS Server & Client 都需要支持 DNS Cookies 机制;
DNS Server & Client 支持双向认证Cookie ;
DNS Server 会定期维护一个密匙(Server Secret),该值用于生成 Cookie & 响应 OPT RR 给 DNS Client;

knot mod-cookies

mod-cookies:- id: STRsecret-lifetime: TIMEbadcookie-slip: INTsecret: STR|HEXSTR

示例

全局启用DNS Cookie & 使用默认参数;

template:- id: defaultglobal-module: mod-cookies # 全局启用

全局启用DNS Cookie & 30 小时更新一次密匙(Server Secret) & 每3个DNS请求响应一次 Cookie;

mod-cookies:- id: defaultsecret-lifetime: 30h # 每30小时更新一次 Server Secretbadcookie-slip: 3    # 每3个DNS请求响应一次 Cookietemplate:- id: defaultglobal-module: mod-cookies/default # 全局启用

DNS Cookie使用固定密匙(Server Secret), 长度必须等于16字节或32个16进制字符;

mod-cookies:- id: defaultsecret: 0xdeadbeefdeadbeefdeadbeefdeadbeef

dig 验证

cookie

dig www.cnddos.com @127.0.0.1

注:

  • dig 包含在 bind-utils 工具包, bind 版本需使用 9.11 以上版本才可以支持 DNS Cookies;
  • dig 默认启用 +badcookie, 接收到 OPT RR 后设置 EDNS cookie 重新发起 DNS Query;

通过 tcpdump 抓包可以看到实际发生了 2 次 DNS Query 交互:

  • 第一次Query 返回 OPT RR & Cookie;
  • 第二次Query 返回 A 记录;



Wireshark 详细展示:


nobadcookie

dig www.cnddos.com @127.0.0.1 +nobadcookie

参考

https://www.knot-dns.cz/docs/2.7/html/modules.html
https://tools.ietf.org/html/rfc7873

kno DNS 03 Tips - DNS Cookies相关推荐

  1. 【高级篇 / DNS】(7.0) ❀ 03. FortiGate作为Window DNS的备用DNS服务器 ❀ FortiGate 防火墙

    [简介]在公司总部,有建立Windows DNS服务器,可以通过域名解析出内网地址来.分公司通过VPN连接总公司,能不能也利用公司总部的DNS服务器来解析内网地址呢?如果可以实现,那么所有分公司都可以 ...

  2. 03 Wireshark DNS

    1 nslookup nslookup工具是最基本的操作,它允许运行该工具的主机查询任何指定的DNS服务器的DNS记录.查询的DNS服务器可以是根DNS服务器.顶级域DNS服务器.权威DNS服务器和中 ...

  3. 路由器连接显示主服务器dns,路由器主dns服务器怎么设置 - 卡饭网

    磊科路由器的拨号服务器的设置方法 磊科路由器的拨号服务器的设置方法 对于一个大型企业或学校来说,为了更好的管理网络,主要是防止有人非法接入网络,配置一台拨号服务器是必须做的事情,这样所有上网的用户,必 ...

  4. Linux在shell终端中清空DNS缓存,刷新DNS的方法(ubuntu,debian)

    前言 在Linux系统里查询DNS使用如下命令 dig baidu.com @114.114.114.114 或者使用系统默认的DNS服务器查询 nslookup baidu.com 下文中的方法不一 ...

  5. DNS重绑定DNS Rebinding攻击

    DNS重绑定DNS Rebinding攻击 在网页浏览过程中,用户在地址栏中输入包含域名的网址.浏览器通过DNS服务器将域名解析为IP地址,然后向对应的IP地址请求资源,最后展现给用户.而对于域名所有 ...

  6. php dns刷新,Windows DNS缓存自动刷新

    Windows DNS缓存自动刷新 admin • 2018 年 09 月 04 日 DNS(域名服务器) DNS(Domain Name Server)是进行域名和与之相对应的ip地址转换的服务器. ...

  7. 微软DNS服务器默认,DNS 服务器成为一座岛 - Windows Server | Microsoft Docs

    当域控制器指向 DNS 服务器自身时,DNS 服务器将成为一座_msdcs.ForestDnsName 域 10/19/2020 本文内容 本文提供了一种解决方案,解决当域控制器指向 DNS 服务器自 ...

  8. linux dns函数,Linux DNS (1)的基本概念

    欢迎大家留言 ,有什么好的建议都可以说 我这个文章那里做的不到位,希望大家给予意见    我们共同进步.谢谢大家. DNS服务器 DNS是Domain Name System,它能够把形如www.la ...

  9. internet协议dns服务器地址,DNS服务器配置使用 及全国DNS地址大全

    五.通过配置TCP/IP协议的方式使用DNS: 以下内容描述了如何在Windows XP中通过配置TCP/IP协议的方式使用域名服务(DNS). DNS是一种用以将域名转换为IP地址的Internet ...

  10. 计算机网络:小明在家打开一个网址过程细致版(DNS缓存、DNS查询、TCP/IP协议、ARP协议、HTML渲染)

    文章目录 前言 一.DNS缓存 浏览器缓存 操作系统缓存 路由器缓存 ISP缓存 二.DNS查询 1.发起DNS查询 2.DNS服务器设计结构 3.DNS服务器查询步骤 4.ARP请求 5.封装TCP ...

最新文章

  1. Java之相对路径找不到文件问题解决方法
  2. 管理系统中计算机应用知识总结,自考《管理系统中计算机应用》章节知识点复习:管理信息...
  3. 牛客小白月赛2-B小马过河(求点到直线的垂足)
  4. 计算机编程的 20 年变迁!
  5. vue的route和router的区别
  6. java几次,java兑现限制用户几次登录
  7. 项目管理系统TOP10,好用的产品研发项目管理系统都在这里了
  8. .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  9. 河南2002年计算机比赛,河南省体育局竞技体育管理信息系统(TYMIS2003)
  10. Delphi 编译的程序在win10中怎样默认以管理员身份运行
  11. LayoutManager实现翻页动画
  12. 多种导出方式,教你快速将每个快递信息导出CSV表格
  13. 直播美颜SDK动态贴纸详解
  14. Android导航组件Navigation从入门到精通
  15. 离散数学·集合论【自然数和基数】
  16. 产业链图谱:2021年中国半导体产业链图谱|产业链全景图
  17. 中国交通物流行业规模预测及未来发展趋势分析报告2021-2027年
  18. 通过 Flowable-UI 来体验一把 Flowable 流程引擎
  19. SpringBoot整合JUnit5
  20. android录制avi视频

热门文章

  1. mac如何清空Recent Places
  2. Python基本图形绘制:turtle库
  3. vue学习笔记-6-属性绑定
  4. java 新浪博客_Java
  5. mysql集群和memcached_Memcached 高可用集群架构
  6. python26章_[Python设计模式] 第26章 千人千面,内在共享——享元模式
  7. 串口调试助手哪个好用_哪个员工考勤系统好用?选择打卡助手就对了
  8. mysql查看实例下的表_mysql 实例下具体查看库,和表的大小
  9. pantum打印机驱动安装m6506_奔图PantumM6506NW驱动官方版
  10. 查找单词个数案列实现(字符串流)