Apsaugoti paketai kriptografiškai nepasensta, todėl prieš penkias minutes galiojęs paketas galioja ir dabar, nes šifravimas ir vientisumo apsauga nieko nesako apie tai, kada buvo sukurti baitai. Užpuolikui, galinčiam perimti ir persiųsti srautą, nereikia laužyti šifro. Todėl kiekvienas rimtas tunelio protokolas kartu su raktais neša sekos būseną.

Mechanizmas mažas, o jo gedimo būdus lengva supainioti su paketų praradimu.

Galiojantis šifruotas tekstas nėra šviežias šifruotas tekstas

Autentifikavimas atsako į vieną klausimą: ar šie baitai atėjo nepakeisti iš rakto turėtojo. Jis neatsako, ar gavėjas juos mato pirmą kartą. Pakartotinai siunčiamas paketas puikiai praeina pirmąjį bandymą, ir būtent todėl vien vientisumo patikra negali sustabdyti pakartojimo ir todėl protokolui reikia antros taisyklės dėl priėmimo. Gavėjas, kuris tik autentifikuoja, neturi gynybos nuo užpuoliko, turinčio įrašą.

Ši taisyklė pigiai įgyvendinama ir pigiai suformuluojama: priimk duotą apsaugotą paketą vieną kartą, su duotu raktu. Visa kita šioje srityje kyla iš to, kaip įgyvendinimas seka tą vieną kartą.

Pakartojimo atmetimą skaityti kaip iššifravimo klaidą reiškia nukreipti save į visiškai neteisingą posistemį.

Sekos numeris ir langas

IPsec ESP neša sekos numerį, o gavėjas laiko slenkantį neseniai priimtų reikšmių langą, kai ESP specifikacija aprašo numatytąjį lango dydį ir galimybę jį išplėsti. WireGuard eina kitu keliu: skaitiklis kiekvienam raktui ir aiški patikra prieš jį. Nė vienas sprendimas nenumato, kad paketai atvyks tvarkingai, nes tikri tinklai juos perrikiuoja. Abu toleruoja perrikiavimą, ir nė vienas netoleruoja pasikartojimo.

Būtent langas leidžia tą toleranciją. Paketas, šiek tiek atsiliekantis nuo didžiausios matytos reikšmės, vis dar gali būti priimtas, jei anksčiau nebuvo priimtas; paketas, labai atsiliekantis, arba toks, kurio vieta jau pažymėta, išmetamas. Padidinkite langą ir toleruosite daugiau perrikiavimo, sumokėdami daugiau būsenos vienai asociacijai.

Diagnostikos skaitikliai parodo, kuriuo atveju esate. Pakartojimo atmetimai padidina konkretų skaitiklį, o ne bendrą klaidą, ir to skaitiklio skaitymas yra pirmasis naudingas stebėjimas.

nstat -az | grep -i XfrmIn
ip -s xfrm state | head -n 30
wg show wg0 transfer

Būsena priklauso raktui, o ne hostui

Skaitiklio būsena susieta su saugos asociacija arba rakto epocha, todėl rakto keitimas sukuria šviežią kontekstą ir savo sekos erdvę. Skaitiklio išvalymas nepakeitus rakto arba asociacijos naudojimas iš naujo po rankinio atstatymo sulaužo prielaidą, kuria remiasi gavėjo langas. Todėl egzistuoja protokolo valdomas raktų keitimas, o ne operatoriui matomas atstatymo mygtukas.

Kai tunelis po rankinio įsikišimo elgiasi blogai, paklauskite, ar įsikišimas palietė sekos būseną. Identiškai atrodanti konfigūracija gali elgtis kitaip, nes paveldėta būsena nėra ta, kurios ji tikisi.

Diagnozuokite priežastį prieš ką nors išjungdami

Nuostoliai, perrikiavimas, dubliuotas srautas ir įgyvendinimo defektas visi pasireiškia kaip pakartotiniai siuntimai, ir tik vienas iš jų yra pakartojimo problema. Patikros išjungimas, norint nutildyti triukšmą, pašalina savybę, kuria pasitikėjote, ir apsunkina pradinės priežasties radimą, nes dabar pakartotiniai siuntimai neturi jokio paaiškinimo.

Rinkite ribotus įrodymus: asociacijos identifikatorius, sekos numerius ir skaitiklius, be naudingosios apkrovos. To pakanka atskirti dublikatą nuo perrikiuoto atvykimo, ir tai nepaverčia jūsų diagnostikos failo naudotojo srauto kopija.

Ko patikra nežada

Apsauga nuo pakartojimo yra paketų apdorojimo vieno protokolo viduje savybė. Tai nereiškia, kad operatorius nelaiko žurnalų, kad svetainė negali atpažinti paskyros ar kad sesija yra anoniminė. Tai atskiri klausimai apie atskiras sistemas, ir stiprus anti-pakartojimo sprendimas neatsako nė į vieną iš jų.

Prižiūrima programinė įranga su palaikomais nustatymais yra praktinė kontrolė, kurią naudotojas turi. Paketą tvarko protokolas; visa kita lieka operacinis sprendimas.

Susiję straipsniai