DNS flag day 2020 algatus probleemide lahendamiseks fraktsioonimise ja TCP toe osas.

TĂ€napĂ€eval korraldavad mitmed suured DNS-teenuste pakkujad ja DNS-serverite tootjad ĂŒhisĂŒrituse DNS lipupĂ€ev 2020, mille eesmĂ€rk on keskenduda lahendusele probleemide IP-fragmentatsiooni kohta suure mahuga DNS-sĂ”numite töötlemisel. See on teine ​​sarnane ĂŒritus, eelmisel aastal toimus "DNS flag day" oli keskendunud EDNS-i pĂ€ringute korrektsele töötlemisele.

DNS flag day 2020 algatuse osalised kutsuvad ĂŒles fikseerima EDNS-i soovitatavad puufferi suurused kuni 1232 baitini (MTU suurus 1280 miinus 48 baiti pĂ€iste jaoks), samuti tĂ”lkida TCP-pĂ€ringute töötlemine peab olema serverites kohustuslikult toetatud. RFC 1035 tĂ€histab kohustuslikult vaid UDP-pĂ€ringute töötlemise toetust, samas kui TCP on mĂ€rgitud soovitatavaks, kuid mitte kohustuslikuks. Uued mĂ€rgitud on ainult UDP pĂ€ringute töötlemise toetus, samas kui TCP on mĂ€rgitud kui soovitav, kuid mitte kohustuslik tööks. Uued RFC 7766 ja RFC 5966 seavad TCP selgelt kohustuslike vĂ”imaluste hulka, mis on DNS-i korrektseks toimimiseks hĂ€davajalikud. KĂ€imasoleva algatuse raames pakutakse vĂ€lja, et tulla ĂŒle UDP-pĂ€ringute saatmiselt TCP kasutamisele olukordades, kus EDNS-i puufferi seadistatud suurus ei ole piisav.

Ettepanekud kĂ”rvaldab segaduse EDNS-i puhvri suuruse valikul ja lahendavad probleemid suurte UDP-sĂ”numite fragmenteerimisega, mille töötlemine toob sageli kaasa pakettide kadumise ja klientide poolseid taimerite ĂŒletamisi. Klientide poolel on EDNS-i puhvri suurus konstantne ning suured vastused saadetakse kohe kliendile TCP kaudu. Suurte sĂ”numite saatmise vĂ€listamine UDP-u kaudu lahendab ka probleemid suurte pakettide kĂ”rvaldamisega mĂ”nedes tulemĂŒĂŒrides ja vĂ”imaldab blokeerida rĂŒnnaku DNS vahemĂ€lu rikke korral vĂ”ivad tekkida probleemid, mis on tingitud fragmentide UDP-pakettide manipuleerimisest (fragmentimisel ei hĂ”lma teine fragment identifikaatori pead, seetĂ”ttu saab selle manipuleerida, et ainult kontrollsumma vastaks).

Alates tĂ€nasest osalevad DNS-i teenusepakkujad, sealhulgas CloudFlare, Quad 9, Cisco (OpenDNS) ja Google, hakkavad jĂ€rk-jĂ€rgult muutma EDNS-i puhvri suurust 4096 baitilt 1232 baitini oma DNS-serverites (EDNS-i muudatus kestab 4–6 nĂ€dalat ja aja jooksul hĂ”lmab see ĂŒha rohkem kĂŒsimusi). UDP-pĂ€ringutele, mis ei mahu uude piirangusse, saadetakse vastused TCP kaudu. DNS-serverite tootjad, sealhulgas BIND, Unbound, Knot, NSD ja PowerDNS, avaldavad vĂ€rskendused, mis muudavad vaikimisi EDNS-i puhvri suuruse 4096 baitilt 1232 baitini.

LĂ”ppkokkuvĂ”ttes vĂ”ivad sisseviidud muudatused pĂ”hjustada probleeme nimede lahendamisel, kui pöörduda DNS-serverite poole, mille UDP vastused ĂŒletavad 1232 baiti ja mis ei saa vastust TCP kaudu saata. Google'is lĂ€bi viidud eksperimendi pĂ”hjal muutus EDNS-i puhvri suuruse muutmine praktiliselt ebaefektiivseks, kuna 4096-baitise puhvri kasutamisel oli kĂ€rbitud UDP pĂ€ringute osakaal 0,345% ja TCP kaudu kĂ€ttesaamatute korduvate vastuste osakaal 0,115%. 1232-baitise puhvri korral olid need nĂ€itajad vastavalt 0,367% ja 0,116%. TCP toe muutmine DNS-i kohustuslikuks funktsiooniks pĂ”hjustab probleeme umbes 0,1% DNS-serveritega. Toodud asjaolusid arvestades on tĂ€napĂ€eva tingimustes nende serverite töö TCP-ita ikkagi ebastabiilne.

Autoriteetsete DNS-serverite administraatorid peaksid veenduma, et nende server vastab TCP-le vĂ”rgupordil 53 ja et antud TCP-port ei ole tulemĂŒĂŒriga blokeeritud. Autoriteetne DNS-server ei tohi samuti saata UDP vastuseid, mille suurus ĂŒletab
taotletud EDNS-i puhvri suurus. Serveris peab EDNS-i puhvri suurus olema seatud 1232 baitiks. Resolutoreid kehtivad sarnased nĂ”uded — kohustuslik TCP-vastuse vĂ”imalus, kohustuslik TCP korduspalvete saatmise tugi vĂ€hendatud UDP vastuse saamisel, ja EDNS-i puhvri seadmine 1232 baitiks.

EDNS-i puhvri suuruse seadistamine erinevates DNS-serverites sÔltub jÀrgmistest parameetritest:

  • BIND

    options {
    edns-udp-size 1232;
    max-udp-size 1232;
    };

  • Knot DNS

    max-udp-payload: 1232

  • Knot Resolver

    net.bufsize(1232)

  • PowerDNS Authoritative

    udp-truncation-threshold=1232

  • PowerDNS Recursor

    edns-outgoing-bufsize=1232
    udp-truncation-threshold=1232

  • Unbound

    edns-buffer-size: 1232

  • NSD

    ipv4-edns-size: 1232
    ipv6-edns-size: 1232

    Allikas: opennet.ru

  • Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster