Klaidingas VPN bandymas: kuri prisijungimo duomenų klasė peržengė ribą?
Nepavykęs bandymas galėjo nieko nesiųsti arba atiduoti slaptažodį tam, kas atsakė. Suskirstykite artefaktą prieš nuspręsdami, ką atšaukti.
Prisijungėte prie netinkamo VPN, o klientas pranešė apie klaidą. Ar tai turėjo reikšmės, priklauso nuo to, kas prieš klaidą perėjo linija, o pats žodis to jums nepasako. Vieni rankos paspaudimai visai nenešioja paslapties, o kiti atiduoda slaptažodį kiekvienam, kuris atsakė į adresą. Nustatykite, kuris iš dviejų atvejų įvyko, prieš ką nors atšaukdami.
Sustokite ir išsaugokite įrodymus
Išsaugokite kliento žurnalą, pasirinktą profilį, įvestą adresą ir apytikslį laiką. Užsirašykite juos už kliento ribų, nes profilio redagavimas ar perdiegimas sunaikina įrašą, kurio jums prireiks. Sulaikykite kiekvieną tolesnį bandymą, kol galutinis taškas bus patvirtintas jūsų kontroliuojamu keliu.
Niekada neskelbkite nesuredaguoto profilio ar žurnalo viešame forume, kai klausiate, ar bandymas buvo saugus. Tuose dokumentuose dažnai būna privataus rakto kelias, vidinis hosto vardas arba žetonas, todėl pirmiausia sureduguokite ir pasidalykite su administratoriumi, kuriam priklauso galutinis taškas.
Kas gali peržengti ribą
Dauguma painiavos kyla dėl to, kad kiekviena klaida laikoma vienos rūšies įvykiu. Į kitą pusę gali patekti keturi skirtingi dalykai: viešas sertifikatas, parašas, įrodantis, kad raktas buvo panaudotas, slaptažodis arba vienkartinis kodas, ir failas, kurį pasirinkote patys. Kiekvienas turi savo pasekmę ir savo taisymą. Artefakto suskirstymas yra žingsnis, lemiantis viską, kas po jo.
Sertifikato atvejis švelniausias, nes tai, kas keliauja, iš prigimties yra vieša, o jo identifikuojantys laukai jau matomi kiekvienam, kuris jungiasi. Parašas ant iššūkio sako, kad raktas buvo panaudotas, o ne kad jis buvo išsiųstas. Slaptažodis yra priešingas atvejis: kas jį gauna, gali išbandyti kitur, o paslauga, sukurta slaptažodžiams tikrinti, yra numatytas būtent tos reikšmės gavėjas.
Rakto įrodymas nėra rakto įkėlimas
Šiuolaikinis TLS sąmoningai skiria šias dvi idėjas. RFC 8446 aprašo CertificateVerify pranešimą, kuriame klientas pasirašo iššūkį privačiu raktu, atitinkančiu jo sertifikatą. Parašas parodo valdymą nepernešdamas rakto, todėl sertifikatu autentifikuotas bandymas nėra automatiškai rakto kompromitavimas.
Tas nuraminimas turi ribą, kurią verta pasakyti. Įrodymas rodo, kad raktas dalyvavo tame mainę, ir nieko nesako apie tai, ką vietinė programinė įranga mašinoje galėjo jau perskaityti. Jis taip pat nieko nesako apie tai, kiek toli nežinomas bandymas iš tikrųjų nuėjo, todėl žurnalas vis dar svarbesnis už teoriją.
Slaptažodžiai laikosi visai kito pasitikėjimo modelio. Koncentratorius, sukonfigūruotas su išoriniu tikrintuvu, gali persiųsti pateiktą reikšmę, todėl jos gavimas yra numatyta funkcija, o neteisinga paskirtis yra tikra apsaugos spraga, o ne teorinė.
Atkurkite bandymą iš žurnalo
Keturi faktai atkuria bandymą: adresas, su kuriuo iš tikrųjų susisiekta, ar serverio tapatybė buvo patvirtinta, kuris autentifikavimo metodas pasirinktas ir kur procesas sustojo. Kiekvienas jų matomas kliento žurnale, ir kiekvienas atmeta skirtingą versiją. Klaida dėl maršrutų ar priskirto adreso nieko nesako apie tai, kas jau buvo linijoje, nes autentifikavimas galėjo baigtis prieš tai, kai tunelio nustatymas nepavyko.
Išgaukite šiuos faktus iš paties kliento žurnalo, o ne iš atminties. Siauras filtras išlaiko išvestį pakankamai trumpą sureduguoti ir pasidalyti:
grep -n -i -E 'verify|authentication|certificate|error|timeout' client.log | tail -30
Nepakeiskite hosto vardo nė vienu iš šių. Pažįstamas vardas, dabartinis DNS atsakymas ir programinės įrangos rodomas sertifikato įspėjimas apibūdina dabartį, o ne ankstesnį ryšį. Slaptažodžio užklausa taip pat neįrodo, kad kažkas buvo išsiųsta, nes klientas galėjo nepavykti prieš ją pateikdamas.
Nuspręskite, tada veikite
Sprendimas kyla iš artefakto, o ne iš to, kaip nerimą keliančiai atrodė klaida. Perskaitykite keturias eilutes prieš atkurtus faktus:
| Decision | Evidence that puts you here | Evidence that rules it out |
|---|---|---|
| Change the password now | A password was submitted and a server reply arrived | The log stops before any submission |
| Review active sessions | A one-time code was accepted by the wrong endpoint | The code was never sent, or was rejected before use |
| Revoke and reissue | The file you selected contained key material, not just settings | The upload was a profile with no embedded key |
| No further action | The attempt ended before any authentication value was offered | You later find an earlier attempt you had forgotten |
Jei slaptažodis pasiekė nenumatytą paslaugą, pakeiskite jį per paskyros valdymo kanalą ir patikrinkite, kur dar jis buvo panaudotas pakartotinai. Pasibaigęs vienkartinis kodas uždaro tą kelią, bet su juo sukurta sesija ne, todėl paprašykite tapatybės administratoriaus peržiūrėti sesijas. Jei rakto failas iš tikrųjų buvo įkeltas, vadovaukitės išduodančios organizacijos atšaukimo procedūra, o ne laukite piktnaudžiavimo įrodymų.
Tada užrašykite apribotą rezultatą: kas buvo išsiųsta, kas lieka nežinoma ir kuri prisijungimo duomenų dalis reikalauja veiksmų. Būtent šio įrašo paprašys vėlesnė peržiūra, ir jis naudingesnis už bet kurią iš dviejų patogių išvadų.