DNS 反射器攻击——保护

DNS 反射器攻击——保护
[~]# /usr/bin/dig +recurs @MYIP www.facebook.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.5 <<>> +recurs @MYIP www.facebook.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 31758
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.facebook.com.              IN      A

;; Query time: 24 msec
;; SERVER: MYIP#53(MYIP)
;; WHEN: Tue Apr  2 22:39:24 2013
;; MSG SIZE  rcvd: 34

options {
    /* make named use port 53 for the source of all queries, to allow
         * firewalls to block all ports except 53:
         */

    // query-source    port 53;

    /* We no longer enable this by default as the dns posion exploit
        has forced many providers to open up their firewalls a bit */

    // Put files that named is allowed to write in the data/ directory:
    directory                "/var/named"; // the default
    pid-file                 "/var/run/named/named.pid";
    dump-file                "data/cache_dump.db";
    statistics-file          "data/named_stats.txt";
   /* memstatistics-file     "data/named_mem_stats.txt"; */
    allow-transfer {"none";};
    recursion no;
};

这是否意味着我可以免受基于 DNS 的攻击?以及像反射器这样的攻击?

答案1

你的问题提错了。正确的表述应该是“我的 DNS 服务器是否配置正确,不会放大 DNS 反射器攻击?”。——这是因为,重要的是要意识到攻击者不会攻击 DNS 服务器,他们滥用 DNS 服务器来攻击选定的受害者,当然,当我们处理 DNS 反射器/放大器类型的滥用时(是的,受害者仍然可以是运行 DNS 的主机,但这有点无关紧要)。

因此,如果您的问题仅仅是这个,您可以运行tcpdump并比较 DNS 请求和响应大小,但是是的,由于您已禁用递归,这意味着您的服务器不会发送与其自身区域无关的任何数据。但是,如果它托管的区域有一些非常长的记录,正如您可能理解的那样,它仍然可以作为放大器(根据定义)响应欺骗性的简短答案。虽然与开放递归服务器相比,攻击者以这种方式使用它会更困难一些,但仍然是可能的。

缓解此类攻击的唯一正确方法是从分发层开始,在所有可能的层级实施反欺骗保护。对于单独的 DNS 服务器来说,通常为时已晚 — 通常它无法确定自己是否响应了欺骗的 IP 源。

更新:实际上,您可以查看有关此主题的 IETF 备忘录:https://www.rfc-editor.org/rfc/rfc5358

相关内容