Plokštė paleidžiama iš bendro atvaizdžio, gauna DHCP nuomą, ir paruošimo scenarijus paleidžiamas dar prieš kam nors palietus įrenginį. Kažkur tame scenarijuje jis turi gauti WireGuard tapatybę, kuri priklauso šiai plokštei ir jokiai kitai, duoti šią tapatybę autorizuoti ir įrašyti profilį, kurį priims vartai. Atvaizdis gali nešti kliento programinę įrangą, peržiūrėtą šabloną ir viešąjį vartų raktą. Ko jis niekada neturi nešti, tai vieno privataus rakto, kurį dalijasi visas parkas, nes tai vieną pavogtą plokštę paverčia viso parko incidentu. Žemiau pateikta tvarka palieka tapatybę vietinę, o autorizaciją aiškią.

Ką atvaizdis neša, o ko ne

Siųskite paketą, šabloną su vietų žymekliais, viešąjį vartų raktą ir registracijos klientą. Šablonas yra forma, o ne paslaptis: jis turi būti įskaitomas paruošimo naudotojui ir neturėti jokios raktų medžiagos.

Privatus raktas generuojamas įrenginyje pirmojo paleidimo metu ir niekada jo nepalieka. Keliauja tik viešoji pusė, registracijos užklausos viduje, kuri autorizuojama kuo nors kitu nei paties įrenginio teiginiu apie tai, kas jis yra. Būtent šis skirtumas neleidžia pavogtai plokštei tapti viso parko problema. Ir būtent šią dalį dauguma pirmojo paleidimo scenarijų padaro neteisingai.

1 žingsnis: raktą generuoti vietoje

Vykdykite generavimą apsaugotame kataloge po to, kai pagrindinis tinklo ryšys patvirtintas ir veikia. Poshellis išlaiko umask pakeitimą vietinį šiai operacijai, o set -C atsisako perrašyti esamą failą:

(
    umask 077
    set -C
    wg genkey > /etc/wireguard/device.key &&
        wg pubkey < /etc/wireguard/device.key > /etc/wireguard/device.pub
)

WireGuard greitas startas dokumentuoja raktų generavimo ryšį, kuriuo remiasi šios dvi komandos. Jei generavimas nutraukiamas, palikite įrenginį neregistruotą ir leiskite darbo eigai suderinti failus. Netrinkite esamos tapatybės vien tam, kad scenarijus švariai veiktų nuo pradžių.

Išsaugokite laukiantį raktą tarp pakartotinių bandymų. Tapatybės regeneravimas po kiekvieno laikino tinklo gedimo yra būdas, kuriuo parkas lieka su našlaičiais peer, kurių niekas negali susieti su įrenginiu.

2 žingsnis: autorizuoti įrenginio įrašą

Tarkime, inventorius šią plokštę vadina device-042 ir jai priskiria 10.90.0.42/32. Registracijos tarnyba turi patikrinti, ar šis prašytojas turi teisę į tą įrašą. Formoje įvestas serijos numeris nėra įrodymas, nes serijos numeriai spausdinami dėžutės išorėje.

Kiekvieno įrenginio pradinis prisijungimo duomuo, operatoriaus patvirtinimas arba technine įranga pagrįsta atestacija gali pagrįsti teiginį. Apsaugokite užklausos vientisumą ir atsakymo autentiškumą, ir nepakeiskite vienos bendros VPN paslapties vienu bendru gamykliniu duomeniu.

Registruotas įrašas susieja įrenginį, jo viešąjį raktą, priskirtą adresą ir leidžiamą valdymo vaidmenį. Pats WireGuard neapibrėžia jokios registracijos API, todėl ši tarnyba yra tai, ką sąmoningai kuriate ir valdote.

3 žingsnis: įrašyti dvi suderintas konfigūracijas

Įrenginiui reikia profilio, kuris valdymo prefiksus nukreiptų į tunelį, o vartams reikia peer įrašo, kuris leistų tik šio įrenginio savąjį šaltinio adresą. Kai vartai yra 10.90.0.1, o valdymo tinklas 10.60.0.0/16, įrenginio pusė atrodo taip:

[Interface]
PrivateKey = <device-042 private key>
Address = 10.90.0.42/32

[Peer]
PublicKey = <trusted gateway public key>
Endpoint = vpn.example.com:51820
AllowedIPs = 10.90.0.1/32, 10.60.0.0/16
PersistentKeepalive = 25

Reikšmės laužtiniuose skliaustuose yra vietų žymekliai, o ne raktai. Keepalive svarbus, kai plokštė yra už NAT ir turi likti pasiekiama; jis reikalingas ne visur, o įprastai pridėjus jis be priežasties laiko radiją pabudusį.

Vartuose peer įrašas sąmoningai siauras:

[Peer]
PublicKey = <device-042 public key>
AllowedIPs = 10.90.0.42/32

Nekopijuokite įrenginio paskirties sąrašo į vartų peer įrašą. Įrenginyje šis sąrašas sako, ką nukreipti į tunelį; vartuose jis sako, kuriuos šaltinio adresus šis peer gali naudoti, ir tai yra skirtingi teiginiai.

Persiuntimas, ugniasienės taisyklės ir grįžimo kelias į valdymo tinklą vis dar turi leisti patvirtintą prieigą. Registruotas peer nėra leidimas kiekvienai programai už jo.

4 žingsnis: įtvirtinti registraciją kaip gyvavimo ciklo būseną

Taikykite vartų įrašą ir įrenginio profilį per tą, kuris valdo atitinkamą konfigūraciją, tada pažymėkite registraciją baigta tik kai numatyta tapatybė ir adresas priimami. Pakartotiniai bandymai turėtų suderinti tą patį įrašą, o ne skirti antrą peer ar antrą adresą.

Laikykite atkūrimo kelią nutrauktam paruošimui, įskaitant atvejį, kai vartai priėmė raktą, o įrenginys niekada neįrašė savo profilio.

Kai plokštė pakeičiama arba išimama iš eksploatacijos, pašalinkite jos viešąjį raktą ir autorizaciją kartu. Naujas raktas yra sąmoningas pakartotinės registracijos įvykis, o ne atvaizdžio perrašymo šalutinis poveikis. Darbo tvarka: generuoti vietoje, autorizuoti pagal inventorių, įrašyti abi puses, įtvirtinti būseną, tada išbandyti vieną valdymo užklausą per tunelį.

Susiję straipsniai