首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >bind9:禁用递归查询的错误日志记录

bind9:禁用递归查询的错误日志记录
EN

Server Fault用户
提问于 2013-07-05 23:18:06
回答 4查看 15.7K关注 0票数 6

无意中,我运行的一个bind9服务器是一个开放的解析器。哇哦。

现在已经过了几个月了,对isc.org的递归查询仍在传入。如果我的/var/log/syslog不像这样,我不会介意:

代码语言:javascript
运行
复制
Jul  6 01:10:23 servername last message repeated 6 times
Jul  6 01:10:23 servername named[2580]: client YYY.YY.YYY.YYY#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername named[2580]: client ZZZ.ZZ.ZZZ.ZZ#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername last message repeated 7 times
Jul  6 01:10:23 servername named[2580]: client AAA.AAA.A.AAA#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername named[2580]: client BBB.BB.BB.BBB#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername last message repeated 6 times

(人们可能会觉得有趣的是,上述信息都在一秒钟内出现.我再也不想了。)

这使得很难捕捉到系统上的其他服务可能报告的任何真正的错误。

我想让bind9不再记录这些消息。我在祈祷只有这些信息从日志中消失是可能的。

如何禁用不允许递归出现在syslog (或其他日志)中的消息?

代码语言:javascript
运行
复制
servername:/etc/bind9# named -V
BIND 9.8.4-rpz2+rl005.12-P1 built with '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--localstatedir=/var' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--enable-ipv6' 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2'
using OpenSSL version: OpenSSL 1.0.1c 10 May 2012
using libxml2 version: 2.8.0

servernane:/etc/bind9# uname -a
Linux servername 3.2.0-4-686-pae #1 SMP Debian 3.2.35-2 i686 GNU/Linux

澄清:

我感兴趣的是关于如何使‘递归拒绝’类型的消息保持沉默的更详细的示例。

EN

回答 4

Server Fault用户

回答已采纳

发布于 2013-07-22 15:51:41

关于禁用递归查询的所有绑定错误日志记录,例如"query (cache)‘thwat.net/ANY/IN’denied“

下面的/etc/named.conf将这些重定向到/var/named/data/named.security,总的大小限制为15 m字节的滚动日志。请注意,类别安全性仅为“批准和拒绝请求”。

代码语言:javascript
运行
复制
logging {
        channel default_debug {
                    file "data/named.run";
                severity dynamic;
        };
        // Redirect all of those 'denied' logs for non-existing domains or external ones (we are 'recursion no;')
        //   logs to /var/named/data/named.security, up to 3 files of 5mbytes each
        //   independent hack_detect processes can then scan for flooders and known abusers and block their IPs
        channel hd_security {
                file "data/named.security" versions 3 size 5m;
                print-time yes;
                print-severity yes;
                print-category yes;
        };
        category security { hd_security; };
};
票数 6
EN

Server Fault用户

发布于 2013-07-07 03:36:49

请参阅BIND管理员的参考手册(也称为“ARM",它包含在源代码发行版中,或查阅ISC知识库中的链接表用于查找绑定版本的特定版本),然后转到第6.2.10节,其中讨论日志记录。

绑定错误消息在不同类别中发出,您可以根据类别指定它们的目的地。虽然我不直接知道,并且必须检查源,才能确切地知道哪个类别是您想要抑制的错误消息,但一旦您识别了该类别(通过检查源或通过试用和错误),您可以使用ARM中所示的示例语法来抑制该类别的错误消息,即:

代码语言:javascript
运行
复制
To discard all messages in a category, specify the null channel:
category xfer-out { null; };
category notify { null; };

我会从“解析器”类别开始,尽管因为它是一条拒绝消息,它可能属于“安全”--实际上,您所描述的区域位于几个可能的类别之间(这就是为什么我不能说我的头顶是正确的。)“解析器”听起来像是消息,如果您不试图为客户执行递归,那么无论如何都不会发现有用的消息。

票数 4
EN

Server Fault用户

发布于 2013-07-05 23:50:22

是的,沉默是有可能的。检查您的配置类别和通道定义。如果这在你的syslog中出现,那么找到提到syslog的频道(S)。还有一个内置的default_syslog通道。然后找到登录到这些通道的类别。注释掉该类别或将其重定向到另一个频道。您可能希望在测试时重定向到日志。

更多细节可以在这里找到:http://www.zytrax.com/books/dns/ch7/logging.html

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/521191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档