Ljudi pitaju je li WireGuard spreman za produkciju, što zvuči kao pitanje o kriptografiji, a u stvari je pitanje o vašem okruženju. Protokol se pregleda godinama; postavljanje još mora odgovoriti prenose li vaše mreže njegov saobraćaj, ko upisuje i povlači uređaje i ko zakrpljuje paket na oba kraja. Ti odgovori se razlikuju između dva servera u jednom racku i hiljadu laptopova. Protokol je u oba slučaja isti; poslovi nisu.

Pitanje iza pitanja

Ono što ljudi obično žele znati jeste mogu li se obavezati na dizajn koji ih neće osramotiti za šest meseci. To je pitanje postavljanja sa četiri dela, a svaki deo može pasti nezavisno od ostalih. Dobri odgovori na tri od njih ne nadoknađuju četvrti.

Staro upozorenje o pretpreglednom izdanju činjenica je o tom izdanju, a ne trajna oznaka na svakom kasnijem paketu. Isto tako, nijedan blog post ne može proglasiti vašu konkretnu kombinaciju jezgra, klijenta, mreže i osoblja spremnom. Posao je učiniti kombinaciju eksplicitnom i proveriti je.

Tretirajte spremnost kao skup kapija koje ili prolazite ili beležite kao otvorene. To raspravu pretvara u kontrolnu listu sa vlasnicima. Takođe čini otvorene stavke vidljivim svakome ko potpisuje, umesto da ostanu zakopane u pilot izveštaju.

Prva kapija: put mora nositi UDP

WireGuard prenosi svoj saobraćaj preko UDP-a i dokumentuje da ne nudi TCP režim ni zamućivanje saobraćaja. Dizajn koji se oslanja na to da izgleda kao običan web saobraćaj ili na promenu porta radi TCP ponašanja, gradi se na pretpostavci koju softver ne podržava.

Zato je prva kapija istraživanje, a ne test na jednom stroju. Popišite pristupna okruženja u kojima vaši korisnici zaista rade, zatim proverite odobreni UDP put u svakome od njih i odlučite šta se dešava kad nije dostupan.

Veza koja radi iz kancelarije ne dokazuje ništa o hotelskoj mreži, univerzitetskom firewallu ili mobilnom operateru koji drugačije obrađuje UDP. Ta okruženja su razlog zašto postavljanja udaljenog pristupa padaju posle uspešnog pilota. Pilot nije bio pogrešan; bio je uzak. Njegovo proširenje su kapija.

Zapišite i rezervni put. Ako je odgovor da rezervnog puta nema, to je odluka koju vredi izreći unapred, umesto da je otkrijete tokom poslovnog puta.

Druga kapija: neko mora posedovati ključeve

WireGuard peerovi se autentifikuju ključevima, jedan par po učesniku. To je jednostavno opisati i operativno zahtevno, jer ništa u protokolu ne upisuje uređaj, ne prati ko drži koji ključ i ne uklanja pristup kad se laptop izgubi. Protokol pretpostavlja da su ključevi već ispravni, a ispravnost je nečiji posao.

Imenujte osobu koja upisuje uređaj, zapis koji javni ključ povezuje sa osobom i uređajem, i postupak uklanjanja. Ako uklanjanje zavisi od pamćenja gde su instalirane kopije konfiguracione datoteke, postupak nije dovršen.

Izaberite jedan uređaj tokom pilota i povucite ga od početka do kraja. Ta vežba daje korisnije informacije od još jednog testa povezanosti, jer otkriva praznine u vašim zapisima.

Treća kapija: paket treba održavaoca

WireGuard može doći kao implementacija u jezgru, kao distribucioni paket ili kao klijent u korisničkom prostoru, a svaki ima svoj put ažuriranja. Operativno pitanje je koji pokrećete, odakle dolazi i ko primenjuje bezbednosni bilten.

Koristimo WireGuard nije inventar. Ne označava paket koji treba zakrpati, verziju na pristupniku ni osobu koja može vratiti loše ažuriranje.

Četvrta kapija: prihvatite radni teret, a ne rukovanje

Kriterijumi prihvatanja treba da opisuju šta korisnici rade. Dosezanje interne aplikacije, razrešavanje njenog privatnog imena, odbijanje na neovlašćenom odredištu i praćenje definisanog ponašanja kad je tunel pao — sve je to vidljivo, a uspešno rukovanje nije ništa od toga.

Provedite te provere kroz promenu mreže, ponovno pokretanje uređaja i prozor za održavanje pristupnika, jer se postavljanja lome upravo na tim prelazima.

Držite dokaze uz kriterijume, uključujući lokalno stanje koje ih je proizvelo:

wg show
ss -lunp | grep 51820
ip -4 route get 10.63.0.1

Zeleni test na mirnoj mreži sa jednim laptopom je početno zapažanje. To nije tvrdnja o pouzdanosti, i tretiranje kao takve je način na koji dizajn koji radi postaje dizajn kojem se veruje.

Povezani članci