新警报不断出现:服务器返回错误NXDOMAIN,从而减轻了潜在的DNS违规DVE-2018-0001


35

我刚刚安装了新的Ubuntu Server 18.04。我设置了主机名,hostnamectl set-hostname ****.openbayou.biz并设置了/etc/hosts

127.0.0.1 localhost
[ip address] ****.openbayou.biz hostname
# The following lines are desirable for IPv6 capable hosts
[ip6 address] *****.openbayou.biz hostname
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我还安装了OSSEC来监视服务器上的新文件,错误和更改,并且现在收到以下警报:

Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018- 
0001, retrying transaction with reduced feature level UDP.`

现在正在重复:

systemd-resolved[3195]: message repeated 4 times: [ Server returned error 
NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction 
with reduced feature level UDP.]

我在网上寻找解决方案,但是没有人报告此问题。


您是否在专属门户网站的背后?
dobey

不,这是一台Linode 4GB服务器
Gregory Schultz,

如果您注释掉添加的两行,会有所不同吗?我不认为这些错误与您的/ etc / hosts有关。之所以发生这种情况,是因为服务器背后的基础结构可能做错了事。 github.com/systemd/systemd/pull/8608似乎是您遇到的问题,并且是“ DVE-2018-0001”的第一个搜索结果。在上游问题解决并发布之前,我认为您不会得到满意的答案。
dobey

Answers:


31

Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018- 0001, retrying transaction with reduced feature level UDP.

我的台式机发生了同样的错误,我也不知道它是否也适用于服务器。

看来我的系统中有旧的配置,导致两个服务之间发生冲突:resolvconfsystemd-resolved

符号链接/etc/resolv.conf指向../run/resolvconf/resolv.conf

更改它以指向/run/systemd/resolve/resolv.conf由systemd管理的位置,为我修复了它。

在这里阅读更多。

希望能有所帮助。


6
我的对象指向的/run/systemd/resolve/stub-resolv.conf是Ubuntu 18.10实例。
datashaman

忘了提我的系统。最新的KDE Neon,(基于Ubuntu),通用18.04.1,4.15.0-39。
Panagiotis Tabakis

1
这也解决了我的问题。谢谢!
Witek

3
@datashaman对我来说是相同的情况,但是将符号链接更改为指向/run/systemd/resolve/resolv.conf/run/systemd/resolve/stub-resolv.conf从而为我解决了问题。我不再看到该错误。
卡尔思(Karthic Raghupathi)'18年

同样为我工作。我使用的是18.10,但已从18.04迁移。改变/etc/resolv.conf -> /run/systemd/resolve/resolv.conf了把戏。
IgorKupczyński

10

我在OSSEC GitHub上询问了此错误,他们建议编写规则以忽略NXDOMAIN错误。添加/var/ossec/rules/local_rules.xml

<rule id="234567" level="0">
 <program_name>systemd-resolved</program_name>
 <match>Server returned error NXDOMAIN</match>
 <description>Usless systemd-resolvd log message</description>
</rule>

您介意在答案中添加指向推荐的链接吗?这对于其他有相同问题的人很有用。谢谢!
狮子座


1
ubunto

8

只要DNS系统无法解析名称,此警告就会由systemd-resolved记录(例如nslookup www.kjfoiqaefah34876asdf.com)。这是可以容忍的,没有理由惊慌。这没有错误,无需修复。

将/etc/resolv.conf重定向到/run/systemd/resolve/resolv.conf是错误的,因为跳过了systemd-resolved的这种方式,并且DNS请求出错的应用程序直接与名称服务器对话,而不与systemd-resolved对话。存根了。这种方式systemd-resolved不再注意到NXDOMAIN事件,因此无法再对其进行记录。

NXDOMAIN事件是由程序包引起的,这些程序包会在系统启动期间尝试访问不存在的服务器。


3
有什么方法可以发现未解析的名称是什么?
停止危害莫妮卡

4
@OrangeDogtcpdump -vv port 53 | grep NXDomain
贝恩

7

我在最近更新为18.04.1。的Ubuntu 18.04服务器上注意到了同样的事情。

似乎每当收到任何NXDOMAIN响应时systemd-resolve都会记录该消息。就我而言,我正在运行postfix。因此,当没有PTR记录集的随机服务器连接时,我会得到很多NXDOMAINS。

你可以用

systemd-resolve securelogin.example.com

然后,您应该看到出现日志消息。

考虑到这一点,它似乎是一个相对无害的错误,您可以忽略它。


添加了PTR记录,并且尚未收到通知(到目前为止)。谢谢!
格雷戈里·舒尔茨

不。仍然得到他们。认为下一步是让OSSEC忽略它们。它会与Cloudflare相关联吗,因为它正在通过他们的系统并且不会被绕过?另外,我看到OSSEC进行了更新(在2.9.4上更新为3.0.0)。将更新,看看会发生什么。
格雷戈里·舒尔茨

这只是systemd工作方式的一部分。如果systemd-resolve尝试解析无法解析的域,则会记录该消息。
Rwky

3

阅读先前的答案和其他网页(如Ubuntu 18.04 systemd-resolved的错误NXDOMAIN)后,我的理解是,这比起错误更是一个警告,我对此无能为力。

因此,我同意那些说我们不应试图站在一边的人的意见,以便不再产生这些信息。如果成功,则可能是我们改变了系统解析DNS请求的正常方式。

但是,由于我有成千上万个它们(我也位于台式机中-它不是服务器),所以我不希望它们出现在syslog文件中。因此,在将https://www.rsyslog.com/doc/v8-stable/configuration/filters.htmlNumber对前缀作为配置文件之后,我在目录中添加了一个10-resolv.conf用单行命名的文件 。:msg, contains, "Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP" ~/etc/rsyslog.d

名称10-resolv.conf并不重要,但是必须按字母顺序在目录中的所有其他文件名之前。该命令:msg, contains, <message-part> ~说必须忽略所有包含<message-part>的消息:~命令中的代字号表示要删除该消息。

添加了注释:自从我写了这个答案以来,我安装了一些软件包(由于其他原因),并且不再显示错误消息,如通过选中journalctl -u systemd-resolved -f。一个可能说明此消息消失的已安装软件包是libnss-resolve。


2

摘要:

NXDOMAIN错误消息表示一个域不存在。

一些ISP针对NXDOMAIN错误消息启动了DNS劫持或DNS重定向。这是将域名系统(DNS)名称的解析重定向到其他DNS服务器或Web服务器的做法。

通常用于显示广告或收集统计信息。

这种做法违反了DNS的RFC标准(NXDOMAIN)响应。

网络钓鱼:由于恶意劫持,可能会发生跨站点脚本攻击。

审查:DNS服务提供商阻止对选定域的访问。

在这里显示:https : //www.dnsknowledge.com/whatis/nxdomain-non-existent-domain-2/


0

我能够摆脱该消息,并且通过将服务器名称更改为server.domain而不是,我也终于能够连接到我的samba服务器 server


0

这似乎与EDNS有关。stub-resolv.conf和之间的区别resolv.confoptions edns0

DNS的扩展机制(EDNS)是用于扩展域名系统(DNS)协议的几个参数的大小的规范,该参数具有Internet工程界认为对于增加协议功能而言过于受限的大小限制。

https://zh.wikipedia.org/wiki/Extension_mechanisms_for_DNS

此问题下的更多详细信息:https : //bugs.launchpad.net/ubuntu/+source/systemd/+bug/1766969

听起来,您只需关闭该“选项”即可。


0

问题

尽管在其他情况下可能会发生此错误,但我可以肯定地说,我在以下输出中看到了它:

systemctl status systemd-resolved

... systemd-resolved未配置时。

而且Azure Ubuntu 18.04 VM尚未systemd-resolved进行现成配置(截至今天,20191008)。

解:

配置systemd-resolved

迷你systemd-resolved配置方法:

注意:以下说明是使用Ubuntu 18.04准备的

通过hosts/etc/nsswitch.conf前面添加Edit 指令,resolve该指令将systemd-resolved设置为将要查询的DNS解析的第一个来源:

hosts:          resolve files dns

编辑/etc/systemd/resolved.conf。一些建议的设置:

[Resolve]
DNS=8.8.8.8 8.8.4.4
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
Cache=yes
DNSStubListener=yes

重新启动systemd-resolved

sudo systemctl restart systemd-resolved

下次检查systemd-resolved状态时,现在应清除错误:

systemctl status systemd-resolved

DNS解析现在应该以预期的方式运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.