无意中,我运行的一个 bind9 服务器是一个开放的解析器。哎呀。
现在已经几个月了,递归查询isc.org
仍在传入。我不介意我的/var/log/syslog
外观不是这样的:
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 不再记录这些消息。而且我正在祈祷有可能只让这些消息从日志中消失。
我可以通过什么方式禁用不允许递归出现在系统日志(或其他日志)中的消息?
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
澄清:
我对有关如何仅使“递归被拒绝”类型消息静音的更详细示例感兴趣。
关于禁用递归查询的所有绑定错误日志记录,例如“查询(缓存)'theswat.net/ANY/IN' denied”
/etc/named.conf 中的以下内容将这些重定向到 /var/named/data/named.security,滚动日志的总大小限制为 15 兆字节。请注意,类别安全性只是“批准和拒绝请求”。
请参阅 BIND 管理员参考手册(也称为“ARM”,包含在您的源代码分发中,或查阅 ISC 知识库中的链接表以查找特定于您的 BIND 版本的版本)并转到第 6.2.10 节,其中涵盖日志记录。
BIND 错误消息以各种类别发出,您可以根据类别指定它们的目的地。虽然我不知道并且必须检查源以确切知道要抑制的错误消息属于哪个类别,但一旦确定了类别(通过检查源或通过反复试验),您就可以抑制该类别的错误消息使用 ARM 中显示的示例语法,即:
我将从“解析器”类别开始,尽管因为它是一个拒绝消息,它可能属于“安全”——实际上你所描述的区域介于几个可能的类别之间(这就是为什么我不能在顶部说我的头脑是正确的..)“解析器”听起来像是您不希望发现有用的消息,如果您不尝试为客户端执行递归。
是的,可以使绑定静音。检查您的配置以了解类别和频道定义。如果这出现在您的 syslog 中,请找到提及 syslog 的频道。还内置了一个 default_syslog 通道。然后找到记录到这些通道的类别。注释掉类别或将其重定向到不同的频道。您可能希望在测试时重定向到日志。
更多细节可以在这里找到:http ://www.zytrax.com/books/dns/ch7/logging.html
对于那些使用 syslog 并且不想丢弃所有内容的人。从技术上讲,您不想将所有内容都发送到 NULL。这里 WARNING 和 CRITICAL 仍在记录中。