Iniciativa DNS flag day 2020 për të zgjidhur problemet me fragmentimin dhe mbështetje të TCP

Sot, një numër i madh shërbimesh DNS dhe prodhuesish të DNS-serverëve do të mbajnë një ngjarje të përbashkët. DNS flag day 2020, e cila ka për qëllim të fokusohet në zgjidhjen problemi në lidhje me fragmentimin e IP-së gjatë përpunimit të mesazheve DNS me përmasa të mëdha. Ky është evenimenti i dytë i tillë, vitin e kaluar "Dita e flamurit DNS". ishte e fokusuar në përpunimin e saktë të kërkesave EDNS.

Pjesëmarrësit e iniciativës Dita e Flamurit DNS 2020 kërkojnë të vendosin dimensionet e rekomanduara të bufereve për EDNS në arritje deri në 1232 byte (përmasat MTU 1280 minus 48 byte për tituj), si dhe të kaloj përpunimin e kërkesave përmes TCP si një kërkesë të detyruar për serverët. Në RFC 1035 të detyrueshëm është shënuar vetëm mbështetja për procesimin e kërkesave përmes UDP, ndërsa TCP është përmendur si i dëshiruari, por jo i detyrueshëm për funksionimin. RFC-të e reja RFC 7766 dhe RFC 5966 shprehimisht e klasifikojnë TCP si një nga funksionalitetet e detyruara, të nevojshme për funksionimin e duhur të DNS. Në kuadër të iniciativës së zhvilluar, propozohet forcimi i kalimit nga dërgimi i kërkesave përmes UDP në përdorimin e TCP në raste kur dimensioni i vendosur i bufereve EDNS është i pamjaftueshëm.

Ndryshimet e propozuara do të eliminojnë konfuzionin me zgjedhjen e dimensionit të bufereve EDNS dhe do të zgjidhin problemin me fragmentimin e mesazheve të mëdha UDP, procesi i të cilave shpesh shkakton humbje paketa dhe kalime të kohës në anën e klientit. Në anën e klientit, dimensioni i bufereve EDNS do të jetë konstant, dhe përgjigjet e mëdha do të dërgohen menjëherë në klient përmes TCP. Përjashtimi i dërgimit të mesazheve të mëdha përmes UDP gjithashtu do të zgjidhë problemet me hedhjen e pakove të mëdha në disa firewall-e dhe do të lejojë bllokimin. sulm nga ndotja e caches DNS, që bazohen në manipulimin e paketa UDP të fraksionuara (në mënyrë që të ndahen në fraksione, fraksioni i dytë nuk përfshin një krye me identifikuesin, prandaj mund të përfakej mjaftueshëm që të përputhet vetëm kontrolla e shumës).

Duke filluar nga dita e sotme, ofruesit e DNS të përfshirë në iniciativë, duke përfshirë CloudFlare, Quad 9, Cisco (OpenDNS) dhe Google, do të ndryshojnë gradualisht dimensionin e bufereve EDNS nga 4096 në 1232 byte në serverët e tyre DNS (ndryshimi EDNS do të shtrihet për 4-6 javë dhe me kalimin e kohës do të përfshijë një numër gjithnjë e më të madh kërkesash). Përgjigjet për kërkesat UDP, që nuk përshtaten me kufizimin e ri, do të dërgohen përmes TCP. Prodhuesit e DNS-serverëve, duke përfshirë BIND, Unbound, Knot, NSD dhe PowerDNS, do të lëshojnë përditësime me ndërrimin e dimensionit të bufereve EDNS nga 4096 në 1232 byte si parazgjedhje.

Në fund, ndryshimet e futur mund të shkaktojnë probleme me zgjidhjen kur iu qaseni serverëve DNS, përgjigjet DNS 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 zhvilluar nga Google tregoi se ndryshimi i madhësisë së buferit EDNS nuk do të ketë një ndikim të rëndësishëm në nivelin e dështimeve - me një bufer prej 4096 byte, numri i kërkesave UDP të shkurtuara arrin në 0.345%, ndërsa numri i përgjigjeve të padisponueshme përsëri për TCP është 0.115%. Me një bufer prej 1232 byte, këto tregues arrijnë 0.367% dhe 0.116%. Kalimi i mbështetjes për TCP në një funksionalitet të detyrueshëm të DNS do të sjellë probleme në ndërveprimin me rreth 0.1% të serverëve DNS. Raportohet se në kushte moderne, pa TCP, funksionimi i këtyre serverëve është tashmë i paqëndrueshëm.

Administratorët e serverëve DNS autoritarë duhet të sigurohen që serveri i tyre përgjigjet për TCP në portin rrjetor 53 dhe që ky port TCP nuk bllokohet nga firewall-i. Një server DNS autoritar gjithashtu nuk duhet të dërgojë përgjigje UDP, të cilat tejkalojnë
madhësinë e kërkuar të buferit EDNS. Në vetë serverin, madhësia e buferit EDNS duhet të vendoset në 1232 byte. Kërkesat për resolverët janë pothuajse të njëjta — mbështetje e detyrueshme për përgjigje për TCP, mbështetje e detyrueshme për dërgimin e kërkesave të përsëritura për TCP kur merr përgjigje të shkurtuara UDP dhe vendosja e buferit EDNS në 1232 byte.

Për konfigurimin e madhësisë së buferit EDNS në serverët e ndryshëm DNS, përgjigjen këto parametra:

  • 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

    Burimi: opennet.ru

  • Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster