Lansiran baru terus muncul: Server mengembalikan kesalahan NXDOMAIN, mengurangi potensi pelanggaran DNS DVE-2018-0001

38

Saya baru saja menginstal Ubuntu Server 18.04 baru. Saya menetapkan nama host saya hostnamectl set-hostname ****.openbayou.bizdan saya mengatur /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

Saya juga menginstal OSSEC untuk memonitor file baru, kesalahan dan perubahan pada server saya dan saya sekarang mendapatkan peringatan ini:

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

Sekarang berulang sendiri:

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.]

Saya mencari solusi di internet dan tidak ada yang melaporkan masalah ini.

Gregory Schultz
sumber
Apakah Anda berada di balik portal captive?
Dobby
Tidak, ini adalah server Linode 4GB
Gregory Schultz
Jika Anda mengomentari dua baris yang Anda tambahkan, apakah ada bedanya? Saya tidak berpikir kesalahannya adalah tentang / etc / hosts Anda. Mereka terjadi karena infrastruktur server di belakang kemungkinan melakukan sesuatu yang salah. github.com/systemd/systemd/pull/8608 tampaknya menjadi masalah yang Anda alami, dan merupakan hasil pencarian pertama untuk "DVE-2018-0001." Saya tidak berpikir Anda akan mendapatkan jawaban yang memuaskan sampai masalah hulu diperbaiki dan dirilis.
Dobby

Jawaban:

34

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

Kesalahan yang sama terjadi pada mesin desktop saya, saya tidak tahu apakah itu berlaku untuk server juga.

Tampaknya sistem saya memiliki konfigurasi lama di tempat itu, mengakibatkan konflik antara dua layanan: resolvconfdan systemd-resolved.

Symlink /etc/resolv.confmenunjuk ke../run/resolvconf/resolv.conf

Mengubahnya ke titik /run/systemd/resolve/resolv.confyang dikelola oleh systemd, memperbaikinya untuk saya.

Baca lebih lanjut di sini .

Harapan itu membantu.

Panagiotis Tabakis
sumber
6
Milik saya menunjuk /run/systemd/resolve/stub-resolv.confpada contoh Ubuntu 18.10.
datashaman
Lupa menyebutkan sistem saya. KDE Neon Terbaru, (berbasis Ubuntu), 18.04.1, 4.15.0-39-generik.
Panagiotis Tabakis
1
Ini memperbaiki masalah bagi saya juga. Terima kasih!
Witek
3
@dashashaman Itu adalah kasus yang sama bagi saya tetapi mengubah symlink ke titik /run/systemd/resolve/resolv.confdari /run/systemd/resolve/stub-resolv.confmemperbaiki masalah bagi saya. Saya tidak lagi melihat kesalahan itu.
Karthic Raghupathi
Sama bekerja untuk saya. Saya pada 18.10, tetapi bermigrasi dari 18.04. Mengubah /etc/resolv.conf -> /run/systemd/resolve/resolv.conftrik berhasil.
Igor Kupczyński
10

Saya bertanya pada OSSEC GitHub tentang kesalahan ini dan mereka merekomendasikan penulisan aturan untuk mengabaikan kesalahan NXDOMAIN. Tambahkan/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>
Gregory Schultz
sumber
apakah Anda keberatan menambahkan tautan ke rekomendasi dalam jawaban Anda? Ini akan bermanfaat bagi orang lain yang memiliki masalah yang sama. Terima kasih!
Leo
1
tidak bekerja di ubunto 18.04
ajcg
9

Peringatan ini dicatat oleh systemd-resolved, setiap kali sebuah nama tidak dapat diatasi oleh sistem DNS (mis. Nslookup www.kjfoiqaefah34876asdf.com). Ini bisa ditoleransi dan tidak ada alasan untuk khawatir. Ini bukan kesalahan dan tidak ada yang perlu diperbaiki.

Mengarahkan /etc/resolv.conf ke /run/systemd/resolve/resolv.conf salah, karena cara ini systemd-resolved dilewati dan aplikasi dengan permintaan DNS yang salah berbicara langsung ke server nama dan bukan ke systemd-resolved rintisan lagi. Dengan cara ini systemd-diselesaikan tidak melihat peristiwa NXDOMAIN lagi dan karenanya tidak dapat mencatatnya lagi.

Peristiwa NXDOMAIN disebabkan oleh paket, yang mencoba mengakses server yang tidak ada selama startup sistem.

Hermann Klein
sumber
4
Apakah ada cara untuk menemukan nama-nama yang belum terselesaikan?
Stop Harming Monica
5
@OrangeDogtcpdump -vv port 53 | grep NXDomain
bain
7

Saya perhatikan hal yang sama pada server Ubuntu 18.04 yang baru-baru ini diperbarui ke 18.04.1.

Akan muncul bahwa systemd-resolve log pesan itu setiap kali mendapat respons NXDOMAIN. Dalam kasus saya, saya menjalankan postfix. Jadi saya mendapatkan banyak NXDOMAINS ketika server acak terhubung yang tidak memiliki catatan PTR.

Anda dapat mengujinya dengan

systemd-resolve securelogin.example.com

Maka Anda akan melihat pesan log muncul.

Dengan mengingat hal ini maka akan muncul kesalahan yang relatif tidak berbahaya dan Anda dapat mengabaikannya.

Rwky
sumber
Menambahkan catatan PTR dan belum mendapat pemberitahuan (sejauh ini). Terima kasih!
Gregory Schultz
Nggak. Masih mendapatkannya. Pikirkan tahap selanjutnya adalah membuat OSSEC mengabaikannya. Apakah itu sesuatu yang terkait dengan Cloudflare karena melalui sistem mereka dan tidak dilewati? Juga, saya melihat bahwa OSSEC memiliki pembaruan (pada 2.9.4, perbarui ke 3.0.0). Akan memperbarui dan melihat apa yang terjadi.
Gregory Schultz
Itu hanya bagian dari cara kerja systemd. Jika systemd-resolve mencoba menyelesaikan domain yang tidak menyelesaikannya, log pesan itu.
Rwky
3

Pemahaman saya setelah membaca jawaban sebelumnya dan halaman web lain seperti kesalahan Ubuntu 18.04 systemd-diselesaikan NXDOMAIN adalah bahwa ini lebih merupakan peringatan daripada kesalahan dan tidak ada yang bisa saya lakukan di pihak saya tentang hal itu.

Karena itu, saya setuju dengan mereka yang mengatakan bahwa kita tidak boleh mencoba melakukan sesuatu di pihak kita sehingga pesan-pesan ini tidak diproduksi lagi. Jika kami berhasil, kemungkinan kami telah mengubah cara normal sistem menyelesaikan permintaan DNS.

Namun, karena saya memiliki ribuan dari mereka (saya juga di desktop - ini bukan server), saya tidak ingin mereka di file syslog saya. Oleh karena itu, mengikuti https://www.rsyslog.com/doc/v8-stable/configuration/filters.html dan awalan pasangan Nomor untuk mengonfigurasi file , saya menambahkan file yang diberi nama 10-resolv.confdengan satu baris :msg, contains, "Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP" ~dalam direktori /etc/rsyslog.d .

Nama 10-resolv.confitu tidak penting, tetapi harus mendahului semua nama file lainnya di direktori dalam urutan abjad. Perintah :msg, contains, <message-part> ~mengatakan bahwa semua pesan yang mengandung <message-part> harus diabaikan: tilde ~dalam perintah mengatakan untuk menjatuhkan pesan.

Catatan ditambahkan: Karena saya menulis jawaban ini, saya menginstal beberapa paket (untuk alasan lain) dan pesan kesalahan tidak diproduksi lagi seperti dicentang journalctl -u systemd-resolved -f. Satu paket terinstal yang mungkin menjelaskan hilangnya pesan ini adalah libnss-resolve.

Dominic108
sumber
2

Ringkasan:

Pesan kesalahan NXDOMAIN berarti bahwa domain tidak ada.

Beberapa ISP memulai pembajakan DNS atau pengalihan DNS untuk pesan kesalahan NXDOMAIN. Ini adalah praktik pengalihan resolusi nama Domain Name System (DNS) ke server DNS lain atau server web.

Biasa digunakan untuk menampilkan iklan atau mengumpulkan statistik.

Praktik ini melanggar standar RFC untuk tanggapan DNS (NXDOMAIN).

Phishing: Serangan skrip lintas situs dapat terjadi karena pembajakan berbahaya.

Sensor: Penyedia layanan DNS untuk memblokir akses ke domain yang dipilih.

Ditampilkan di sini: https://www.dnsknowledge.com/whatis/nxdomain-non-existent-domain-2/

Tamu
sumber
0

Saya dapat menyingkirkan pesan itu, dan omong-omong saya juga akhirnya bisa terhubung ke server samba saya, dengan mengubah nama server menjadi server.domainbukan hanya server.

Rosch
sumber
0

Ini muncul terkait dengan EDNS. Perbedaan antara menggunakan stub-resolv.confdan resolv.confis options edns0.

Mekanisme ekstensi untuk DNS (EDNS) adalah spesifikasi untuk memperluas ukuran beberapa parameter protokol Domain Name System (DNS) yang memiliki batasan ukuran yang oleh komunitas rekayasa Internet dianggap terlalu terbatas untuk meningkatkan fungsionalitas protokol.

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

Lebih detail dalam masalah ini: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1766969

Kedengarannya seperti, Anda cukup mematikan "opsi" itu.

Carson Reinke
sumber
0

Masalah

Meskipun mungkin ada keadaan lain di mana kesalahan ini akan terjadi, saya pasti bisa mengatakan bahwa saya telah melihatnya muntah di output:

systemctl status systemd-resolved

... saat systemd-resolvedtidak dikonfigurasi.

Dan Azure Ubuntu 18.04 VM tidak memiliki systemd-resolvedkonfigurasi out-of-the-box (pada hari ini, 20191008).

Larutan:

Konfigurasikan systemd-resolved.

Mini systemd-resolvedConfig HowTo:

CATATAN : Instruksi berikut disiapkan menggunakan Ubuntu 18.04

Edit hostsarahan /etc/nsswitch.confdengan menambahkan resolveyang menetapkan systemd-diselesaikan sebagai sumber pertama dari resolusi DNS yang akan dikonsultasikan:

hosts:          resolve files dns

Edit /etc/systemd/resolved.conf. Beberapa pengaturan yang disarankan:

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

Mulai ulang systemd-resolved:

sudo systemctl restart systemd-resolved

Ketika Anda selanjutnya memeriksa systemd-resolvedstatus, kesalahan sekarang harus dihapus:

systemctl status systemd-resolved

Dan resolusi DNS sekarang harus berperilaku dengan cara yang diharapkan.

F1Linux
sumber