Is WireGuard gereed vir produksie? Die antwoord is nie die protokol nie
Gereedheid gaan oor die UDP-pad, sleutelbesit en pakketinstandhouding, nie oor die handdruk nie. Vier hekke bepaal of jou ontplooiing werklik gereed is.
Mense vra of WireGuard gereed is vir produksie, wat soos 'n vraag oor kriptografie klink en eintlik 'n vraag oor jou omgewing is. Die protokol word al jare lank hersien; die ontplooiing moet steeds antwoord of jou netwerke sy vervoer dra, wie toestelle inskryf en buite diens stel, en wie die pakket aan beide kante pleister. Daardie antwoorde verskil tussen twee bedieners in een rek en duisend skootrekenaars. Die protokol is in beide gevalle dieselfde; die bedryf is nie.
Die vraag agter die vraag
Wat mense gewoonlik wil weet, is of hulle by 'n ontwerp kan vasbyt wat hulle oor ses maande nie in die verleentheid sal bring nie. Dit is 'n ontplooiingsvraag met vier dele, en elke deel kan onafhanklik van die ander faal. Om drie daarvan goed te antwoord, vergoed nie vir die vierde nie.
'n Ou waarskuwing oor 'n vooruitgawe is 'n feit oor daardie vooruitgawe, nie 'n permanente etiket op elke latere pakket nie. Net so kan geen blogpos jou spesifieke kombinasie van kern, kliënt, netwerk en persone gereed verklaar nie. Die werk is om die kombinasie eksplisiet te maak en dit na te gaan.
Behandel gereedheid as 'n stel hekke wat jy óf slaag óf as oop noteer. Dit verander 'n argument in 'n kontrolelys met eienaars. Dit maak ook die oop items sigbaar vir elkeen wat dit goedkeur, eerder as begrawe in 'n proefverslag.
Hek een: die pad moet UDP dra
WireGuard vervoer sy verkeer oor UDP en dokumenteer dat dit nie 'n TCP-modus of verkeersverduistering bied nie. 'n Ontwerp wat daarop staat dat dit soos gewone webverkeer lyk, of op die verandering van die poort om TCP-gedrag te kry, berus op 'n aanname wat die sagteware nie ondersteun nie.
Die eerste hek is dus 'n opname, nie 'n toets op een masjien nie. Lys die toegangsomgewings waarin jou gebruikers werklik werk, verifieer dan die goedgekeurde UDP-pad in elkeen en besluit wat gebeur wanneer dit onbeskikbaar is.
'n Verbinding wat uit die kantoor werk, bewys niks oor 'n hotelnetwerk, 'n kampusfirewall of 'n mobiele operateur wat UDP anders hanteer nie. Daardie omgewings is die rede waarom afstandtoegang-ontplooiings ná 'n suksesvolle proef faal. Die proef was nie verkeerd nie; dit was smal. Om dit te verbreed, is die hek.
Skryf die terugval ook neer. As die antwoord is dat daar geen terugval is nie, is dit 'n besluit wat die moeite werd is om vooraf te verklaar eerder as om dit tydens 'n sakereis te ontdek.
Hek twee: iemand moet die sleutels besit
Eweknieë in WireGuard verifieer met sleutels, een paar per deelnemer. Dit is maklik om te beskryf en operasioneel veeleisend, want niks in die protokol skryf 'n toestel in, hou by wie watter sleutel hou of verwyder toegang wanneer 'n skootrekenaar verloor word nie. Die protokol aanvaar dat die sleutele reeds korrek is, en korrektheid is iemand se werk.
Noem die persoon wat 'n toestel inskryf, die rekord wat 'n publieke sleutel aan 'n persoon en 'n toestel koppel, en die prosedure vir verwydering. As verwydering daarvan afhang dat jy onthou waar afskrifte van 'n konfigurasielêer geïnstalleer is, is die prosedure nie klaar nie.
Kies een toestel tydens die proef en stel dit van begin tot end buite diens. Daardie oefening lewer nuttiger inligting as nog 'n verbindingstoets, want dit ontbloot die gapings in jou rekords.
Hek drie: die pakket het 'n instandhouer nodig
WireGuard kan as 'n implementering binne die kern, as 'n verspreidingspakket of as 'n kliënt in die gebruikersruimte kom, en elkeen het sy eie opdateringspad. Die bedryfsvraag is watter een jy hardloop, waar dit vandaan kom en wie 'n advies toepas.
Ons gebruik WireGuard is nie 'n inventaris nie. Dit identifiseer nie die pakket wat gepleister moet word, die weergawe op die poort of die persoon wat 'n slegte opdatering kan terugrol nie.
Hek vier: aanvaar die werklading, nie die handdruk nie
Aanvaardingskriteria moet beskryf wat gebruikers doen. 'n Interne toepassing bereik, die privaat naam daarvan oplos, 'n ongemagtigde bestemming geweier kry en die vasgestelde gedrag volg wanneer die tonnel af is, is alles waarneembaar, en 'n suksesvolle handdruk is nie een daarvan nie.
Laat daardie kontroles deur 'n netwerkverandering, 'n toestelherstart en 'n onderhoudsvenster van die poort loop, want dit is die oorgange waar ontplooiings breek.
Hou die bewyse langs die kriteria, insluitend die plaaslike toestand wat dit opgelewer het:
wg show
ss -lunp | grep 51820
ip -4 route get 10.63.0.1
'n Groen toets op 'n stil netwerk met een skootrekenaar is 'n beginwaarneming. Dit is nie 'n betroubaarheidsbewering nie, en om dit as een te behandel, is hoe 'n ontwerp wat werk 'n ontwerp word wat vertrou word.