AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 588419
Accepted
Recct
Recct
Asked: 2014-04-12 08:00:49 +0800 CST2014-04-12 08:00:49 +0800 CST 2014-04-12 08:00:49 +0800 CST

如何防止 Bind 响应欺骗的 IP 地址?

  • 772

我们都知道开放式解析器,这个问题是针对相反的情况。我有一个被锁定到某些 CIDR 的 DNS 服务器acl trusted {[..]

options {
[..]
allow-query {
            // Accept queries from our "trusted" ACL.  We will
            // allow anyone to query our master zones below.
            // This prevents us from becoming a free DNS server
            // to the masses.
            trusted;
};

这行得通。

但是,它不会阻止允许范围内的受感染主机发送欺骗性(最常见的类型为 ANY)请求。这些都已解决,响应仍会发送到“请求”它的欺骗 IP(通常是攻击者的目标)。

如何防止 DNS 服务器解析受信任范围之外请求的域?这甚至是绑定应该做的事情吗?

domain-name-system
  • 3 3 个回答
  • 1302 Views

3 个回答

  • Voted
  1. Best Answer
    Andrew B
    2014-04-12T08:11:24+08:002014-04-12T08:11:24+08:00

    这不是您应该尝试在服务层解决的问题。

    • 不要让网外流量向您的 DNS 侦听器发出入站请求。
    • 对客户生成的数据包执行源地址验证(如果适用)。这可以防止来自网络内部的放大攻击。

    这些问题的根源在于您面前的网络拓扑设计。尝试从服务器本身解决这些问题是一场失败的战斗。

    • 10
  2. BillThor
    2014-04-12T16:58:09+08:002014-04-12T16:58:09+08:00

    您可以采取多种方法。您可能希望将它们组合起来。

    • 使用拆分 DNS 配置外部区域以拒绝递归。拆分 DNS 将允许您在外部提供非递归权威 DNS 服务器,并在内部提供功能齐全的递归 DNS 服务器。考虑记录失败的请求。
    • 阻止不需要的网络向您的服务器发送请求。(端口 53 UDP 和 TCP。)这可以在外部防火墙上完成,或者在包括 Debian 在内的某些系统上,服务器的防火墙上完成。考虑将可以查询服务器的 CIDR 限制为它应该支持的 CIDR。
    • 用于fail2ban动态阻止请求网络。

    从您的问题来看,您似乎有许多计算机感染了僵尸网络软件。识别和清理这些系统很重要。这超出了这个问题的范围。如果您的路由器支持它,请考虑限制可以发起请求的 IP 地址。

    • 2
  3. Håkan Lindqvist
    2014-04-12T17:30:06+08:002014-04-12T17:30:06+08:00

    问题中配置摘录中的注释是指您的服务器对某些区域做出权威回答。对于攻击者滥用权威服务器的情况,配置响应速率限制来缓解这种情况是有意义的。

    然而,在攻击滥用启用递归的服务器的情况下,结合入口过滤锁定对您自己网络的递归访问是阻止这种情况的最佳方法。(正如@Andrew-B 所建议的那样。)

    具体就 BIND 而言,了解不同的allow-*配置指令在您覆盖其中一个或多个指令时如何交互是很重要的(如果不理解,例如,覆盖allow-query如何影响其他指令,如allow-recursion.

    • 2

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve