การแจ้งเตือนใหม่ยังคงปรากฏขึ้น: ข้อผิดพลาดที่เซิร์ฟเวอร์ส่งคืน 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

คำตอบ:


31

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

ข้อผิดพลาดเดียวกันเกิดขึ้นกับเครื่องเดสก์ท็อปของฉันฉันไม่รู้ว่าจะใช้กับเซิร์ฟเวอร์ด้วยหรือไม่

มันดูเหมือนว่าระบบของฉันมีการกำหนดค่าเก่าในสถานที่ที่ทำให้เกิดความขัดแย้งระหว่างสองบริการ: และresolvconfsystemd-resolved

symlink /etc/resolv.confชี้ไปที่../run/resolvconf/resolv.conf

เปลี่ยนเป็นชี้ไป/run/systemd/resolve/resolv.confที่จัดการโดย systemd แก้ไขให้ฉัน

อ่านเพิ่มเติมที่นี่

หวังว่าจะช่วย


6
Mine กำลังชี้ไป/run/systemd/resolve/stub-resolv.confที่อินสแตนซ์ของ Ubuntu 18.10
datashaman

ลืมพูดถึงระบบของฉัน KDE Neon ล่าสุด, (ใช้ Ubuntu), 18.04.1, 4.15.0-39-generic
Panagiotis Tabakis

1
นี่เป็นการแก้ไขปัญหาสำหรับฉันเช่นกัน ขอบคุณ!
Witek

3
@datashaman มันเป็นกรณีเดียวกันสำหรับฉัน แต่การเปลี่ยน symlink ให้ชี้/run/systemd/resolve/resolv.confจากการ/run/systemd/resolve/stub-resolv.confแก้ไขปัญหาสำหรับฉัน ฉันไม่เห็นข้อผิดพลาดนั้นอีก
Karthic Raghupathi

ทำงานเหมือนกันสำหรับฉัน ฉันอายุ 18.10 แต่ย้ายจาก 18.04 การเปลี่ยนวิธีการ/etc/resolv.conf -> /run/systemd/resolve/resolv.confทำไม่ได้
Igor Kupczyń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>

คุณคิดว่าจะเพิ่มลิงค์ไปยังคำแนะนำในคำตอบของคุณหรือไม่ มันจะเป็นประโยชน์สำหรับผู้อื่นที่มีปัญหาเดียวกัน ขอบคุณ!
Leo


1
ไม่ทำงานใน ubunto 18.04
ajcg

8

คำเตือนนี้ถูกบันทึกโดย systemd- แก้ไขเมื่อใดก็ตามที่ชื่อไม่สามารถแก้ไขได้โดยระบบ DNS (เช่น nslookup www.kjfoiqaefah34876asdf.com) สิ่งนี้สามารถยอมรับได้และไม่มีเหตุผลที่จะตื่นตระหนก นี่ไม่ใช่ข้อผิดพลาดและไม่มีอะไรต้องแก้ไข

การเปลี่ยนเส้นทาง /etc/resolv.conf ไปยัง /run/systemd/resolve/resolv.conf ผิดเพราะวิธีนี้แก้ไขปัญหา systemd ถูกข้ามไปและแอปพลิเคชันที่มีการร้องขอ DNS ที่ผิดพลาดจะพูดถึงเซิร์ฟเวอร์ชื่อโดยตรงและไม่แก้ไขปัญหา systemd ต้นขั้วอีกต่อไป วิธีนี้แก้ไขปัญหาระบบไม่ได้แจ้งให้ทราบถึงเหตุการณ์ของ NXDOMAIN อีกต่อไปดังนั้นจึงไม่สามารถบันทึกได้อีก

เหตุการณ์ NXDOMAIN เกิดจากแพ็คเกจซึ่งพยายามเข้าถึงเซิร์ฟเวอร์ที่ไม่มีอยู่ระหว่างการเริ่มต้นระบบ


3
มีวิธีใดที่จะค้นพบชื่อที่ไม่ได้รับการแก้ไขคืออะไร
หยุดทำร้ายโมนิก้า

4
@OrangeDogtcpdump -vv port 53 | grep NXDomain
bain

7

ฉันสังเกตเห็นสิ่งเดียวกันบนเซิร์ฟเวอร์ Ubuntu 18.04 ซึ่งเพิ่งปรับปรุงเป็น 18.04.1

มันจะปรากฏว่า systemd- แก้ไขบันทึกข้อความนั้นเมื่อใดก็ตามที่ได้รับการตอบสนองใด ๆ ของ NXDOMAIN ในกรณีของฉันฉันมี postfix ทำงานอยู่ ดังนั้นฉันจึงได้รับ NXDOMAINS มากมายเมื่อเซิร์ฟเวอร์สุ่มเชื่อมต่อที่ไม่มีชุดระเบียน PTR

คุณสามารถทดสอบด้วย

systemd-resolve securelogin.example.com

จากนั้นคุณจะเห็นข้อความบันทึกปรากฏขึ้น

ด้วยสิ่งนี้ในใจมันจะเป็นข้อผิดพลาดที่ค่อนข้างไร้พิษและคุณสามารถเพิกเฉยได้


เพิ่มบันทึก PTR และยังไม่ได้รับการแจ้งเตือน (จนถึงตอนนี้) ขอบคุณ!
เกรกอรี่ชูลทซ์

Nope ยังคงได้รับพวกเขา คิดว่าขั้นตอนต่อไปคือการทำให้ OSSEC ข้ามไป มันจะเป็นสิ่งที่เกี่ยวข้องกับ Cloudflare ขณะที่มันกำลังผ่านระบบของพวกเขาและไม่ถูกข้าม? นอกจากนี้ฉันเห็นว่า OSSEC มีการอัปเดต (บน 2.9.4 อัปเดตเป็น 3.0.0) จะอัปเดตและดูว่าเกิดอะไรขึ้น
เกรกอรี่ชูลทซ์

มันเป็นเพียงส่วนหนึ่งของการทำงานของ systemd หาก systemd-resol พยายามแก้ไขโดเมนที่ไม่สามารถแก้ไขได้นั้นจะบันทึกข้อความนั้น
Rwky

3

ความเข้าใจของฉันหลังจากอ่านคำตอบก่อนหน้าและหน้าเว็บอื่น ๆ เช่นUbuntu 18.04 ข้อผิดพลาดที่แก้ไขแล้ว systemd แก้ไข NXDOMAINคือนี่เป็นการเตือนมากกว่าข้อผิดพลาดและไม่มีอะไรที่ฉันสามารถทำได้เกี่ยวกับเรื่องนี้

ดังนั้นฉันเห็นด้วยกับผู้ที่กล่าวว่าเราไม่ควรพยายามทำอะไรบางอย่างในด้านของเราเพื่อไม่ให้มีการสร้างข้อความเหล่านี้อีกต่อไป หากเราประสบความสำเร็จเป็นไปได้ว่าเราได้เปลี่ยนวิธีการปกติในการแก้ไขคำขอ DNS

อย่างไรก็ตามเนื่องจากฉันมีหลายพันคน (ฉันยังอยู่ในเดสก์ท็อป - ไม่ใช่เซิร์ฟเวอร์) ฉันไม่ต้องการไฟล์เหล่านั้นในไฟล์ syslog ของฉัน ดังนั้นต่อไปนี้https://www.rsyslog.com/doc/v8-stable/configuration/filters.htmlและจำนวนคำนำหน้าคู่ config ไฟล์ฉันเพิ่มไฟล์ชื่อ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-resol


2

สรุป:

ข้อความแสดงข้อผิดพลาดNXDOMAINหมายความว่าไม่มีโดเมน

ISP บางรายเริ่มต้นการหักหลัง DNS หรือเปลี่ยนเส้นทาง DNS สำหรับข้อความแสดงข้อผิดพลาด NXDOMAIN เป็นการฝึกเปลี่ยนเส้นทางการแก้ปัญหาชื่อระบบชื่อโดเมน (DNS) ไปยังเซิร์ฟเวอร์ DNS หรือเว็บเซิร์ฟเวอร์อื่น ๆ

ใช้สำหรับแสดงโฆษณาหรือรวบรวมสถิติ

การปฏิบัตินี้ละเมิดมาตรฐาน RFC สำหรับการตอบสนอง DNS (NXDOMAIN)

ฟิชชิง: การโจมตีสคริปต์ข้ามไซต์สามารถเกิดขึ้นได้เนื่องจากการไฮแจ็กที่เป็นอันตราย

การเซ็นเซอร์: ผู้ให้บริการ DNS เพื่อบล็อกการเข้าถึงโดเมนที่เลือก

แสดงที่นี่: https://www.dnsknowledge.com/whatis/nxdomain-non-existent-domain-2/


0

ผมสามารถที่จะกำจัดข้อความและโดยวิธีการที่ผมยังสามารถไปจนเชื่อมต่อกับเซิร์ฟเวอร์แซมบ้าของฉันโดยการเปลี่ยนชื่อเซิร์ฟเวอร์เพื่อ แทนที่จะเป็นเพียงserver.domainserver


0

ปรากฏขึ้นซึ่งเกี่ยวข้องกับ EDNS ความแตกต่างระหว่างการใช้stub-resolv.confและมีresolv.confoptions edns0

กลไกการขยายสำหรับ DNS (EDNS) เป็นข้อกำหนดสำหรับการขยายขนาดของพารามิเตอร์ต่างๆของโปรโตคอลระบบชื่อโดเมน (DNS) ซึ่งมีข้อ จำกัด ด้านขนาดที่ชุมชนวิศวกรรมอินเทอร์เน็ตถือว่ามีข้อ จำกัด เกินไปสำหรับการเพิ่มฟังก์ชันการทำงานของโปรโตคอล

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

รายละเอียดเพิ่มเติมภายใต้ปัญหานี้: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1766969

ดูเหมือนว่าคุณสามารถปิด "ตัวเลือก" นั้นได้


0

ปัญหา

แม้ว่าอาจมีสถานการณ์อื่น ๆ ที่ข้อผิดพลาดนี้จะเกิดขึ้นฉันสามารถพูดได้อย่างแน่นอนว่าฉันได้เห็นมัน puked ในผลลัพธ์ของ:

systemctl status systemd-resolved

... เมื่อsystemd-resolvedไม่ได้กำหนดค่า

และAzure Ubuntu 18.04 VM ไม่ได้systemd-resolvedกำหนดค่าเอาไว้ (ณ วันนี้ 20191008)

วิธีการแก้:

systemd-resolvedกำหนดค่า

Mini systemd-resolvedConfig HowTo:

บันทึก : คำแนะนำต่อไปนี้จัดทำขึ้นโดยใช้Ubuntu 18.04

แก้ไขhostsคำสั่งใน/etc/nsswitch.confโดยการเตรียมresolveชุดที่แก้ไขระบบเป็นแหล่งที่มาแรกของการแก้ไข 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 ควรทำงานในลักษณะที่คาดไว้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.