Nisja e parë: regjistrimi për një flotë pajisjesh WireGuard
Një imazh, një çelës për çdo pllakë dhe një hap autorizimi që nuk i beson pohimin e vetë pajisjes. Katër faza nga nisja te një peer i konfirmuar.
Pllaka niset nga imazhi i përbashkët, merr një qira DHCP dhe një skript përgatitjeje ekzekutohet përpara se dikush ta ketë prekur pajisjen. Diku në atë skript duhet të marrë një identitet WireGuard që i përket kësaj pllake dhe asnjë tjetre, ta autorizojë atë identitet dhe të shkruajë një profil që porta do ta pranojë. Imazhi mund të mbajë softuerin e klientit, një shabllon të rishikuar dhe çelësin publik të portës. Ajo që nuk duhet të mbajë kurrë është një çelës privat i vetëm i ndarë nga e gjithë flota, sepse kjo e kthen një pllakë të vjedhur në incident për të gjithë flotën. Rendi më poshtë e mban identitetin lokal dhe autorizimin të qartë.
Çfarë mbart imazhi dhe çfarë jo
Dërgoni paketën, shabllonin me mbajtës vendi, çelësin publik të portës dhe klientin e regjistrimit. Shablloni është formë, jo sekret: duhet të jetë i lexueshëm nga përdoruesi i përgatitjes dhe të mos përmbajë asnjë material çelësi.
Çelësi privat gjenerohet në pajisje në nisjen e parë dhe nuk e lë atë kurrë. Udhëton vetëm gjysma publike, brenda një kërkese regjistrimi që autorizohet nga diçka tjetër përveç pohimit të vetë pajisjes për atë se kush është. Pikërisht ky dallim e pengon një pllakë të vjedhur të bëhet problem për të gjithë flotën. Dhe është gjithashtu pjesa që shumica e skripteve të nisjes së parë e bëjnë gabim.
Hapi 1: gjenero çelësin lokalisht
Kryeni gjenerimin në një drejtori të mbrojtur pasi lidhja themelore e rrjetit të jetë miratuar dhe të funksionojë. Nën-shell-i e mban ndryshimin e umask lokal për këtë operacion, dhe set -C refuzon të mbishkruajë një skedar ekzistues:
(
umask 077
set -C
wg genkey > /etc/wireguard/device.key &&
wg pubkey < /etc/wireguard/device.key > /etc/wireguard/device.pub
)
Nisje e shpejtë e WireGuard dokumenton lidhjen e gjenerimit të çelësave në të cilën mbështeten këto dy komanda. Nëse gjenerimi ndërpritet, lëre pajisjen të paregjistruar dhe lëre rrjedhën e punës t'i rakordojë skedarët. Mos fshi një identitet ekzistues vetëm që skripti të ekzekutohet pastër nga fillimi.
Ruaj çelësin në pritje ndërmjet përpjekjeve të reja. Rigjenerimi i një identiteti pas çdo dështimi të përkohshëm të rrjetit është mënyra se si një flotë mbetet me peer të jetimë që askush nuk mund t'i përputhë me një pajisje.
Hapi 2: autorizo një rekord pajisjeje
Supozoni se inventari e quan këtë pllakë device-042 dhe i cakton 10.90.0.42/32. Shërbimi i regjistrimit duhet të verifikojë që ky kërkues ka të drejtë për atë rekord. Një numër serial i shtypur në një formular nuk është provë, sepse numrat serialë shtypen në pjesën e jashtme të kutisë.
Një kredencial bootstrap për çdo pajisje, një miratim operatori ose një atestim i mbështetur nga hardueri mund ta vërtetojnë pohimin. Mbro integritetin e kërkesës dhe autenticitetin e përgjigjes, dhe mos zëvendëso një sekret VPN të përbashkët me një kredencial fabrike të përbashkët.
Rekordi i regjistruar lidh pajisjen, çelësin e saj publik, adresën e caktuar dhe rolin e lejuar të menaxhimit. Vetë WireGuard nuk përcakton asnjë API regjistrimi, ndaj ai shërbim është diçka që e ndërtoni dhe e operoni me qëllim.
Hapi 3: shkruaj dy konfigurime që përputhen
Pajisjes i duhet një profil që i drejton prefikset e menaxhimit në tunel, dhe portës i duhet një zë peer që lejon vetëm adresën burimore të kësaj pajisjeje. Me portën në 10.90.0.1 dhe rrjetin e menaxhimit 10.60.0.0/16, ana e pajisjes duket kështu:
[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
Vlerat në kllapa katrore janë mbajtës vendi, jo çelësa. Keepalive ka rëndësi kur pllaka qëndron pas NAT dhe duhet të mbetet e arritshme; nuk kërkohet kudo, dhe shtimi i tij nga zakoni mban një radio zgjuar pa arsye.
Në portë, zëri peer është qëllimisht i ngushtë:
[Peer]
PublicKey = <device-042 public key>
AllowedIPs = 10.90.0.42/32
Mos e kopjo listën e destinacioneve të pajisjes në zërin peer të portës. Në pajisje ajo listë thotë çfarë të drejtohet në tunel; në portë thotë cilat adresa burimore ky peer mund të përdorë, dhe këto janë pohime të ndryshme.
Përcjellja, rregullat e firewall-it dhe rruga e kthimit drejt rrjetit të menaxhimit ende duhet të lejojnë aksesin e miratuar. Një peer i regjistruar nuk është leje për çdo aplikacion pas tij.
Hapi 4: konfirmo regjistrimin si gjendje e ciklit të jetës
Zbato rekordin e portës dhe profilin e pajisjes përmes atij që zotëron secilin konfigurim, pastaj shëno regjistrimin si të plotë vetëm kur identiteti dhe adresa e synuar pranohen. Përpjekjet e reja duhet të rakordojnë të njëjtin rekord në vend që të akordojnë një peer të dytë ose një adresë të dytë.
Mbaj një rrugë rikuperimi për përgatitjen e ndërprerë, duke përfshirë rastin kur porta e pranoi çelësin dhe pajisja nuk e shkruajti kurrë profilin e saj.
Kur një pllakë zëvendësohet ose tërhiqet, hiq çelësin e saj publik dhe autorizimin e saj së bashku. Një çelës i ri është një ngjarje e qëllimshme riregjistrimi, jo një efekt anësor i një imazhi të ri. Rendi i punës: gjenero lokalisht, autorizo kundrejt inventarit, shkruaj të dyja anët, konfirmo gjendjen, pastaj testo një kërkesë menaxhimi përmes tunelit.