当前位置: 首页 > news >正文

DNS安全 -月宫吴刚

DNS面临的安全隐患:

  • DNS欺骗(DNS Spoffing)
  • 缓存感染:
    • 修改DNS缓存数据
    • DNS信息劫持:通过监听,在DNS之前将客户请求的信息劫持下来,并响应虚假数据给客户。
    • DNS重定向:将DNS名称查询重定向到恶意DNS服务器上。
  • 拒绝服务攻击(Denial ofService):在短时间里,向DNS服务器发起成千上万的请求包,并保持“半开连接”状态,耗尽服务器资源,导致服务停止工作或机器宕机。
  • 分布式拒绝服务攻击:和拒绝服务器攻击类似,但是分布式是攻击者利用控制几十台或上百台计算机同时攻击DNS服务器。
  • 缓冲区漏洞溢出攻击(bufferOverflow):利用服务器存在的漏洞对DNS进行缓存区溢出攻击,造成服务停止或直接获取root密码。

如何提升DNS的安全性(BIND为例)?

  • 选择安全性高的版本:看需求而定,一般选用稳定版,经常给DNS软件打漏洞补丁。
  • 保持DNS服务器配置的正确性和可靠性:可使用相关的工具进行安全漏洞检查。
  • 隔离DNS服务器:DNS服务器尽量不运行其它服务(非DNS服务),缩小服务器被攻击的可能性。
  • 隐藏bind版本号:黑客可通过查询到的版本,利用版本的漏洞进行攻击。
  • 避免透露服务器信处:建议不使用HINFO和TXT两个资源记录。
  • 关闭DNS服务器的glue fetching选项
  • 使用非root用户运行DNS服务(bind)
  • 控制区域传输(zero-transfer):如果允许任何人对区域进行传输,主机的主机名、主机IP、路由器名、路由器IP列表等等很容易被入侵者获取。
  • 请求限制(allow-query):限制DNS服务范围和递归询问。
  • 其它强化措施:使用存取控件列表(ACL)、使用forwarders代询服务器机制、使用allow-transfer、使用allow-update来控制访问权限。
  • 使用DNSSEC(公钥技术):防止DNS欺骗。新版的BIND已经针对这问题,完整加以设计并完成。
  • 配置DNS Flood Detector:监控用的。
  • 建立完整的域名服务器:合理建立惟高速缓存域名服务器、主域名服务器、辅助域名服务器。
  • 增强DNS服务器的Dos/DDos防范功能:可以使用SYNCookie功能、增大backlog、缩短retries次数、限制SYN频率。
  • 使用分布式DNS服务负载均衡
  • 及时更新系统补丁

总结:

DNS 是网络服务的基础建设,要长期不断地保持其正常运作,每一个DNS 服务器都应该定期检测。为了保证DNS服务器的安全运行,不仅要使用可靠的服务器软件版本,而且要对DNS服务器进行安全配置,同时还要跟踪服务器软件和操作系统的各种漏洞。

相关文章:

  • ldap 身份验证的通用步骤
  • Openssl多个安全补丁简易分析危害及修复方案
  • Redhat Linux 安全设置脚本
  • nginx中shell脚本封锁采集IP地址
  • Apache和Tomcat限制文件访问或下载
  • Postgresql默认用户名与密码
  • Oracle default SID list
  • Apache服务器禁用TRACE Method防范XSS跨站攻击
  • 网页自适应不同浏览设备的方法
  • 网站降权了魔术收录法帮你恢复收录
  • phpmyadmin加载缓慢的终极解决方法
  • 网页CSS常用英文命名说明
  • linux下mysql命令大全 整理
  • JBoss服务器 /invoker/JMXInvokerServlet/ 接口对外开放
  • IT 圈里经常被读错的词
  • php的引用
  • ES6指北【2】—— 箭头函数
  • 10个最佳ES6特性 ES7与ES8的特性
  • 4. 路由到控制器 - Laravel从零开始教程
  • Centos6.8 使用rpm安装mysql5.7
  • Docker下部署自己的LNMP工作环境
  • JAVA_NIO系列——Channel和Buffer详解
  • node入门
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • python学习笔记-类对象的信息
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 阿里云Kubernetes容器服务上体验Knative
  • 对JS继承的一点思考
  • 前嗅ForeSpider教程:创建模板
  • 小李飞刀:SQL题目刷起来!
  • 最近的计划
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (02)Hive SQL编译成MapReduce任务的过程
  • (C语言)逆序输出字符串
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (js)循环条件满足时终止循环
  • (solr系列:一)使用tomcat部署solr服务
  • (zhuan) 一些RL的文献(及笔记)
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二)linux使用docker容器运行mysql
  • (翻译)terry crowley: 写给程序员
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)u-boot-nand.bin的下载
  • (译)计算距离、方位和更多经纬度之间的点
  • .cn根服务器被攻击之后
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net core 源码_ASP.NET Core之Identity源码学习