Kodėl serverio raktams ir naudotojo prisijungimo duomenims reikia atskirų savininkų
Tinklų vartų tapatybė ir naudotojo leidimas yra skirtingos paslaptys su skirtingomis pasekmėmis. Trys klausimai nusprendžia, kaip kiekvieną saugoti, išduoti ir panaikinti.
Raktas, įrodantis, kad jūsų vartai yra jie patys, ir prisijungimo duomuo, sakantis, kad žmogus gali prisijungti, abu yra paslaptys, ir čia panašumas baigiasi. Vienas identifikuoja paslaugą kiekvienam klientui; kitas identifikuoja vieną naudotoją tai paslaugai. Juos sumaišius sutaupoma vienas žingsnis diegiant ir prarandama popietė per incidentą, nes kiekvieno atkūrimas nėra ta pati operacija. Atskyrimas nuobodus įrengti ir įsimintinas praleidus.
Dvi paslaptys, du skirtingi savininkai
Vartai laiko privatų raktą arba sertifikatą, kurių vienintelis darbas yra įrodyti savo tapatybę rankos paspaudimo metu. Klientams reikia atitinkamos viešos medžiagos, kad galėtų ją patikrinti, o privačios pusės jiems niekada nereikia. Būtent ši asimetrija leidžia serverio autentifikaciją neleidžiant kiekvienam naudotojui apsimesti serveriu.
Naudotojo medžiaga eina priešinga kryptimi. Kliento privatus raktas, kliento sertifikatas arba slaptažodis parodo, kad būtent šiam asmeniui ar įrenginiui buvo suteikta prieiga. Tikimasi, kad ji bus platinama, kopijuojama tarp įrenginių ir galiausiai panaikinta.
WireGuard padaro atskyrimą akivaizdų, nes kiekvienas dalyvis turi raktų porą: serverio privatus raktas lieka serveryje, o konfigūracijos failas, kurį duodate naudotojui, turi jo paties privatų raktą ir serverio viešą raktą. Profilis, kuriame yra serverio privatus raktas, nėra trumpasis kelias, tai kompromitacija, laukianti failų bendrinimo.
Trys klausimai, nusprendžiantys atskyrimą
Paklauskite, kas turi galėti perskaityti paslaptį, ką atskleidimas leistų padaryti užpuolikui ir ar pataisa yra vienas panaikinimas, ar paslaugos perstatymas.
Jei naudotojas gali ją perskaityti ir ji įrodo vartų tapatybę, atsakymas į antrą klausimą yra tai, kad užpuolikas gali apsimesti jūsų serveriu prieš kiekvieną klientą — tai blogiausias rezultatas, nes klientai sukurti pasitikėti ta tapatybe. Jei ji įrodo tik vieną naudotoją, atskleidimas suteikia tam naudotojui prieigą prie vieno partnerio, o panaikinimas yra įprasta operacija. Jei tai sertifikavimo institucijos raktas, atskleidimas blogesnis už abu, nes užpuolikas gali sukurti tapatybes, kuriomis pasitiki kiekvienas galinis taškas.
Tie trys atsakymai duoda saugojimo taisyklę: CA raktas gyvena neprisijungus arba seife, vartų raktas gyvena vartuose, o naudotojų raktai gyvena pas naudotojus. Bet koks išdėstymas, kuris visus tris patogumui padeda į vieną katalogą, pavertė sprendimą nelaimingu atsitikimu.
Ko klientui iš tikrųjų reikia
Klientui reikia viešo sertifikato arba viešo partnerio rakto, CA medžiagos arba piršto atspaudo, kuriuo reikia pasitikėti, savo privataus rakto ir galinio taško informacijos. Šiame sąraše nėra nieko, kas priklausytų privačiai vartų tapatybei.
Dokumentacija yra vieta, kur tai nuteka. Vadovas, sakantis nukopijuokite serverio katalogą ir ištrinkite tai, ko jums nereikia, jau išmokė neteisingo modelio, nes failas, likęs po trynimo žingsnio, retai kada tikrinamas.
Panaikinkite vieną naudotoją neliesdami vartų
Kadangi naudotojo tapatybės išduodamos atskirai, jos gali būti atskirai atšauktos. Sertifikatais pagrįstas diegimas panaikina kliento sertifikatą ir paskelbia atnaujintą panaikinimo sąrašą; WireGuard diegimas pašalina partnerio įrašą iš serverio konfigūracijos. Nė viena iš šių operacijų nekeičia pačių vartų rakto.
Saugokite išdavimo įrašą, kitaip nežinosite, kurią tapatybę atšaukti. Skaičiuoklė pakanka, jei joje nurodytas asmuo, įrenginys, serijos numeris arba viešas raktas ir data, ir jei kas nors ja rūpinasi po to, kai ją sukūręs asmuo išeina.
Toliau pateiktos komandos patikrina kliento sertifikatą ir tada jį panaikina per OpenSSL stiliaus instituciją, o tai yra srautas, kurį apgaubia easy-rsa:
openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pemPaskelbkite naują sąrašą ten, kur klientai jį tikrina, kitaip panaikinimas yra užrašas faile, kuris nieko nekeičia. Jei jūsų vartai priima kliento sertifikatus nepasitikrindami panaikinimo sąrašo, pasakykite tai atvirai, o ne užsiminkite, kad panaikinimas veikia.
Saugokite atsargines kopijas taip atskirai, kaip paslaptis
Perstatymo archyve pagrįstai yra vartų raktas ir CA medžiaga, nes be jų atkūrimas negali atkurti paslaugos. Kliento diegimo pakete jų neturi būti, ir abu neturi būti saugomi kartu. Pažymėkite kiekvieną archyvą pagal tai, kas gali jį laikyti, o ne pagal sukūrimo datą. Būtent tą žymą perskaito pavargęs administratorius antrą valandą nakties.
Šis skirtumas taip pat nustato, kas gali gauti kiekvieną. Vartų administravimas, naudotojo tapatybių išdavimas ir atsarginių kopijų skaitymas yra trys skirtingi įgaliojimai, o kam reikia vieno, tam automatiškai nereikia kitų. Užrašykite tas teises ir tada patikrinkite jas pagal tai, ką jūsų saugykla iš tikrųjų leidžia, nes katalogų paveldėjimas tyliai suteikia daugiau, nei numato politika.