A DNS zászló napja 2020 kezdeményezés a töredezettség és a TCP-támogatással kapcsolatos problémák megoldására

Ma számos nagy DNS-szolgáltatás és DNS-kiszolgáló gyártó közös rendezvényt tart DNS zászló napja 2020úgy tervezték, hogy összpontosítsák a figyelmet a döntés problémák nagy DNS-üzenetek feldolgozásakor az IP-töredezettséggel. Ez a második ilyen rendezvény, tavaly a „DNS zászló napja” koncentrált volt az EDNS-kérelmek helyes feldolgozásáról.

A DNS flag day 2020 kezdeményezés résztvevői azt kérik, hogy az EDNS ajánlott pufferméretét 1232 bájtra rögzítsék (1280 MTU méret mínusz 48 bájt a fejléceknél), valamint fordít A kérések TCP-n keresztüli feldolgozása kötelező szolgáltatás a szervereken. BAN BEN RFC 1035 Csak az UDP-n keresztüli kérelmek feldolgozásának támogatása van megjelölve kötelező, a TCP pedig kívánatos, de a működéshez nem szükséges. Új RFC 7766 и RFC 5966 kifejezetten felsorolja a TCP-t a DNS megfelelő működéséhez szükséges képességként. A kezdeményezés azt javasolja, hogy kényszerítsék ki az átállást az UDP-n keresztüli kérések küldéséről a TCP használatára olyan esetekben, amikor a megállapított EDNS-pufferméret nem elegendő.

A javasolt változtatások kiküszöbölik az EDNS pufferméret kiválasztásával kapcsolatos zavart, és megoldják a nagyméretű UDP-üzenetek töredezettségének problémáját, amelyek feldolgozása gyakran csomagvesztéshez és időtúllépéshez vezet a kliens oldalon. A kliens oldalon az EDNS puffer mérete állandó lesz, és a nagy válaszok azonnal elküldésre kerülnek a kliensnek TCP-n keresztül. A nagy üzenetek UDP-n keresztüli küldésének elkerülése megoldja a nagy csomagok eldobásával kapcsolatos problémákat is, és lehetővé teszi a blokkolást. támadások DNS-gyorsítótár mérgezésére, töredezett UDP-csomagok manipulálása alapján (fragmentekre bontva a második töredék nem tartalmaz azonosítóval ellátott fejlécet, így hamisítható, amihez elég csak az ellenőrzőösszeg egyezése) .

Mától kezdve a résztvevő DNS-szolgáltatók, köztük a CloudFlare, a Quad 9, a Cisco (OpenDNS) és a Google, fokozatosan változni fog Az EDNS puffer mérete 4096-ról 1232 bájtra a DNS-kiszolgálókon (az EDNS változás 4-6 hétre oszlik el, és idővel egyre több kérést fed le). Az új korlátba nem illeszkedő UDP-kérésekre adott válaszok TCP-n keresztül kerülnek elküldésre. A DNS-kiszolgáló gyártói, köztük a BIND, az Unbound, a Knot, az NSD és a PowerDNS frissítéseket adnak ki, hogy az alapértelmezett EDNS-pufferméretet 4096 bájtról 1232 bájtra módosítsák.

Végső soron ezek a változtatások megoldási problémákhoz vezethetnek olyan DNS-kiszolgálók elérésekor, amelyek UDP DNS-válaszai meghaladják az 1232 bájtot, és nem tudnak TCP-választ küldeni. A Google-nál végzett kísérlet kimutatta, hogy az EDNS puffer méretének változtatása gyakorlatilag nem volt hatással a hibaarányra – 4096 bájtos puffer mellett a csonkolt UDP kérések száma 0.345%, a TCP-n keresztül elérhetetlen újrapróbálkozások száma pedig 0.115 volt. %. 1232 bájtos pufferrel ezek a számok 0.367% és 0.116%. A TCP-támogatás kötelező DNS-funkcióvá tétele a DNS-kiszolgálók körülbelül 0.1%-ánál fog problémákat okozni. Megjegyzendő, hogy a modern körülmények között, TCP nélkül, ezeknek a szervereknek a működése már instabil.

A mérvadó DNS-kiszolgálók adminisztrátorainak gondoskodniuk kell arról, hogy szerverük TCP-n keresztül válaszoljon az 53-as hálózati porton, és hogy ezt a TCP-portot ne blokkolja a tűzfal. Egy jó hírű DNS-kiszolgáló sem küldhet nagyobb UDP-válaszokat, mint
kért EDNS pufferméretet. Magán a szerveren az EDNS puffer méretét 1232 bájtra kell beállítani. A feloldóknak megközelítőleg ugyanazok a követelményei – kötelező válaszadási képesség TCP-n keresztül, kötelező támogatás az ismételt kérések TCP-n keresztül történő küldéséhez csonka UDP-válasz fogadásakor, és az EDNS-puffer beállítása 1232 bájtra.

A következő paraméterek felelősek az EDNS puffer méretének beállításáért a különböző DNS-kiszolgálókon:

  • BIND

    lehetőségek {
    edns-udp-size 1232;
    max-udp-size 1232;
    };

  • Csomó DNS

    max-udp-payload: 1232

  • Knot Resolver

    net.bufsize(1232)

  • PowerDNS hiteles

    udp-truncation-threshold=1232

  • PowerDNS Rekurzor

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

  • Nincs korlátozás

    edns-buffer-size: 1232

  • NBI

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

    Forrás: opennet.ru

  • Hozzászólás