TĂ€na korraldab rida suuremaid DNS-teenuseid ja DNS-serverite tootjaid ĂŒhise ĂŒrituse , mille eesmĂ€rk on keskenduda IP-fragmentatsiooniga suurte DNS-sĂ”numite töötlemisel. See on teine selletaoline ĂŒritus, eelmisel aastal oli âDNS flag dayâ EDNSi pĂ€ringute korrektsele töötlemisele.
DNS flag day 2020 algatuse osalised kutsuvad ĂŒles kinnitama soovitatavaid EDNS-i puhver-Suurusi kuni 1232 baitini (MTU 1280 miinus 48 baiti peade jaoks) ja samuti TCP pĂ€ringute töötlemise serverites kohustuslikuks. RFC 1035 RFC 7766 ja Pakutud muudatused vabastavad segadusest EDNS-i puhvri suuruse valimisel ja lahendavad probleemid suurte UDP-sĂ”numite fragmentatsiooniga, mille töötlemine toob sageli kaasa pakettide kadumise ja ajaĂŒlesandeid kliendi poolel. Kliendi poolel jÀÀb EDNS-i puhvri suurus pĂŒsivaks ning suured vastused saadetakse kliendile kohe TCP kaudu. Suurte sĂ”numite saatmise vĂ€listamine UDP kaudu lahendab ka probleemid suurte pakettide mahajĂ€tmisega mĂ”nede tulemĂŒĂŒride peal ning vĂ”imaldab blokeerida
DNS-i vahemÀlu rikkumisi, mis pÔhinevad fragmentide UDP-pakettide manipulatsioonil (fragmentimise korral ei sisalda teine fragment identifikaatori pead, seega saab seda valehÀireks manipuleerida, et kontrollsumma kokku sobiks). Alates tÀnasest hakkavad algatusega liitunud DNS-i edastajad, sealhulgas CloudFlare, Quad 9, Cisco (OpenDNS) ja Google,
aeglaselt muutma EDNS-i puhver suurus muutub 4096 baitist 1232 baitini nende DNS-serverites (EDNS-i muudatus kestab 4â6 nĂ€dalat ja katab aja jooksul jĂ€rjest rohkem pĂ€ringuid). UDP-pĂ€ringute vastused, mis ei mahtunud uude piirangusse, saadetakse TCP kaudu. DNS-serverite tootjad, sealhulgas BIND, Unbound, Knot, NSD ja PowerDNS, vĂ€lja annavad vĂ€rskendusi, millega muudetakse vaikimisi EDNS-i puhvri suurust 4096 baitist 1232 baidi suuruseks.
LĂ”ppkokkuvĂ”ttes vĂ”ivad tehtavad muudatused pĂ”hjustada probleeme resolviga, kui pöördute DNS-serverite poole, mille UDP kaudu antavad vastused ĂŒletavad 1232 baiti ja mis ei saa vastust TCP kaudu edastada. Google'is lĂ€bi viidud katse nĂ€itas, et EDNS-i puhvri suuruse muutmine ei mĂ”juta tĂ”rgete taset praktiliselt â 4096-byte puhvri puhul on kĂ€rbitud UDP-pĂ€ringute arv 0.345% ja TCP kaudu kĂ€tte saamata jÀÀvate vastuste arv 0.115%. 1232-byte puhvri puhul on need nĂ€itajad 0.367% ja 0.116%. TCP toe muutmine DNS-i kohustuslikuks osaks tekitab probleeme umbes 0.1% DNS-serveritega. MĂ€rgitakse, et tĂ€napĂ€evastes tingimustes on nende serverite töö TCP-ta nagunii ebastabiilne.
Autoriteetsete DNS-serverite administraatorid peaksid veenduma, et nende server vastab TCP kaudu vĂ”rguporti 53 ja et see TCP-port ei ole tulemĂŒĂŒriga blokeeritud. Autoriteetne DNS-server ei tohi samuti saata UDP vastuseid, mille suurus ĂŒletab
taotletud EDNS-i puhvri suuruse. Serveris endas peaks EDNS-i puhvri suurus olema seadistatud 1232 baitiks. Resolvritele esitatakse ligikaudu samad nĂ”uded â kohustuslik TCP-vastus, kohustuslik toetus UDP kĂ€rbitud vastuse saamisel TCP kaudu pĂ”hjalike pĂ€ringute saatmiseks ning EDNS-i puhvri seadmine 1232 baitiks.
EDNS-i puhvri suuruse seadistamine erinevates DNS-serverites toimub jÀrgmiste parameetrite kaudu:
options {
edns-udp-size 1232;
max-udp-size 1232;
};
max-udp-payload: 1232
net.bufsize(1232)
udp-truncation-threshold=1232
edns-outgoing-bufsize=1232
udp-truncation-threshold=1232
edns-buffer-size: 1232
ipv4-edns-size: 1232
ipv6-edns-size: 1232
Allikas: opennet.ru
