Iniciativa për Ditën e Flamujve DNS 2020 për të zgjidhur problemet me fragmentimin dhe mbështetje për TCP

Sot, një grup i madh shërbimesh DNS dhe prodhuesish të serverëve DNS do të organizojnë një ngjarje të përbashkët Dita e flamujve DNS 2020, e cila synon të fokusohet në zgjidhjen problemeve në lidhje me fraksionimin e IP-së gjatë përpunimit të mesazheve DNS me madhësi të madhe. Kjo është ngjarja e dytë e këtij lloji, ndodhi vitin e kaluar "Dita e flamurit DNS" ishte e përqendruar në përpunimin e saktë të kërkesave EDNS.

Marrësit e iniciativës 'Dita e flamurit DNS 2020' kërkojnë që të japin rekomandimet për madhësitë e mitrave për EDNS deri në vlerat e 1232 byte (madhësia MTU 1280 minus 48 byte për tituj), si dhe të përkthyer përpunimin e kërkesave për TCP që të jetë një mundësi e domosdoshme e mbështetur në serverë. Në RFC 1035 vetëm mbështetje e përpunimit të kërkesave për UDP është e detyrueshme, ndërsa TCP përmendet si e dëshiruara, por jo e detyrueshme për funksionim. Të reja RFC 7766 dhe RFC 5966 qartësisht e klasifikon TCP si një nga mundësitë e domosdoshme për funksionimin e saktë të DNS. Në kuadër të iniciativës së realizuar, propozimi është që të detyrohet kalimi nga dërgimi i kërkesave për UDP në përdorimin e TCP kur madhësia e caktuar e mitrave EDNS nuk është e mjaftueshme.

Ndryshimet e propozuara do të eliminojnë konfuzionin në zgjedhjen e madhësisë së buffer-it EDNS dhe do të zgjidhin problemin me fragmentimin e mesazheve të mëdha UDP, përpunimi i të cilave shpesh çon në humbje paketash dhe kohëta të skadimit në anën e klientit. Në anën e klientit, madhësia e buffer-it EDNS do të jetë konstante dhe përgjigjet e mëdha do të dërgohen menjëherë te klienti përmes TCP. Përjashtimi i dërgimit të mesazheve të mëdha përmes UDP gjithashtu do të zgjidhë problemet me hedhjen e paketave të mëdha në disa firewalle dhe do të lejojë bllokimin të sulmit për shkak të manipulative të paketimeve UDP të fraksionuara, bazuar në deponimin e caches DNS (në copëza, copëza e dytë nuk përfshin një kokë tjetër me identifikuesin, prandaj mund të falsifikohet mjaft për të përputhur vetëm checksum-in).

Duke filluar nga sot, ofruesit e DNS që marrin pjesë në iniciativë, përfshirë CloudFlare, Quad 9, Cisco (OpenDNS) dhe Google, gradualisht do të ndryshojnë madhësinë e buffer-it EDNS nga 4096 në 1232 bajtë në serverat e tyre DNS (ndryshimi EDNS do të zgjatet për 4-6 javë dhe me kalimin e kohës do të mbulojë një numër gjithnjë e në rritje kërkesash). Përgjigjet në kërkesat UDP që nuk përputhen me kufizimin e ri do të dërgohen përmes TCP. Prodhuesit e serverëve DNS, duke përfshirë BIND, Unbound, Knot, NSD dhe PowerDNS, do të lëshojnë përditësime me ndryshimin e madhësisë së buffer-it EDNS si të zakonshëm nga 4096 në 1232 bajtë.

Në fund të fundit, ndryshimet e bëra mund të sjellin probleme me zgjidhjen kur iu qaset serverëve DNS, përgjigjet e DNS-së të të cilëve për UDP tejkalojnë 1232 byte dhe që nuk mund të dërgojnë përgjigje për TCP. Një eksperiment i kryer nga Google tregoi se ndryshimi i madhësisë së buffers EDNS nuk do të ketë pothuajse asnjë ndikim në nivelin e gabimeve — me një buffer prej 4096 byte, numri i kërkesave UDP të prera është 0.345%, dhe numri i përgjigjeve të pakapshme për TCP është 0.115%. Me një buffer prej 1232 byte, këto tregues arrijnë në 0.367% dhe 0.116%. Kalimi në mbështetje të TCP si një mundësi e detyrueshme për DNS do të sjellë probleme me ndërveprimin me rreth 0.1% të serverëve DNS. Vërehet se në kushtet e sotme, funksionimi i këtyre serverëve pa TCP është gjithashtu i paqëndrueshëm.

Administratoret e serverëve DNS autoritativë duhet të sigurojnë që serveri i tyre të përgjigjet për TCP në portin rrjetësor 53 dhe që ky port TCP të mos bllokohet nga firewall-i. Një server DNS autoritativ gjithashtu nuk duhet të dërgojë përgjigje UDP, të cilat tejkalojnë
kërkesa për madhësinë e tamponit EDNS. Në serverin e vet, madhësia e tamponit EDNS duhet të vendoset në 1232 byte. Kërkesa nga resolverët ka gjithashtu kërkesa të ngjashme — aftësia e detyrueshme për të u përgjigjur përmes TCP, mbështetje e detyrueshme për dërgimin e kërkesave të përsërituara përmes TCP pas marrjes së përgjigjes së shkurtuar UDP dhe vendosja e tamponit EDNS në 1232 byte.

Parametrat që kontrollojnë madhësinë e tamponit EDNS në serverat e ndryshëm DNS janë si më poshtë:

  • BIND

    opsionet {
    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

    Burimi: opennet.ru

  • Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster