Zašto VPN ne čini vaš razvojni pregled sigurnim za dijeljenje
VPN daje testerima rutu do vašeg prototipa; ne čini pregled sigurnim. Odredite publiku, okruženje izvršavanja, podatke i nuspojave prije nego što ga podijelite.
Stavljanje prototipa iza VPN-a djeluje privatno, pa jedino preostalo pitanje izgleda kao ko dobija profil. Ta pretpostavka pada na poseban način: tunel kontroliše ko može doći do hosta, a ne šta host otkriva kada stignu. Pregled i dalje izvršava okruženje, drži podatke i poziva integracije koje mogu poslati pravi e-mail ili pisati u pravu bazu podataka. Tretirajte VPN kao ulazna vrata i zatim dizajnirajte sobu iza njih.
Ruta nije publika
Upisivanje testera u VPN odgovara tačno na jedno pitanje: može li ovaj uređaj doći do adrese? Ne govori ništa o tome koje stranice, API-ji ili konzole taj uređaj smije koristiti. To su odvojene dozvole, a mrežni prolaz koji zna samo adrese ne može ih provesti.
Napišite ugovor o pregledu kao kratku listu: ime hosta, slušalac, dozvoljene operacije i ko drži svaku ulogu. Zatim provjerite da li se lista poklapa s onim što je stvarno izloženo.
Testeru koji može otvoriti prototip ne trebaju konzola za implementaciju, stranica za administraciju baze podataka ni kućni direktorij razvijača. Ako prolaz daje rutu do podmreže, sve je to dostupno po defaultu. Preferirajte rutu po odredištu ili stavite dodatne servise iza njihove vlastite autentifikacije. Bilo koji izbor sužava šta ukradeni profil može učiniti.
Okruženje koje dijelite dio je ugovora
Razvojni server s debagerom i automatskim ponovnim učitavanjem alat je za jednu osobu na jednom računaru. Dokumentacija okvira je otvorena o tome: Flaskov vodič za implementaciju kaže da njegov razvojni server i debager nisu za produkciju, i privatne ili jednokorisničke servise takođe računa kao produkciju. Isto rezonovanje važi za svaki okvir s ponovnim učitavačem i interaktivnom stranicom greške. Pogodnosti su dizajnirane da skrate petlju između čuvanja datoteke i viđenja promjene, a ne da se suoče s testerom kojim ne upravljate.
Interaktivni trag je curenje informacija i, u nekim debagerima, površina za izvršavanje koda. Držite ga podalje od pregleda ili ograničite pregled na build koji ga ne može omogućiti. Ako testerima trebaju dijagnostike, dajte im zapise umjesto konzole.
Slušalac s džokerom je druga polovina ove greške. Vezivanje na svaki interfejs izlaže servis na mrežama koje niste namjeravali, uključujući Wi-Fi u kafiću.
Koristite jednokratne račune i podatke bez stvarnih nuspojava
Koristite račune stvorene za testiranje i podatke koji nikoga ne mogu osramotiti. Opasni dio rijetko je red u bazi podataka; to je integracija iza dugmeta. E-mail, plaćanja, SMS, webhookovi i izvoz datoteka svi dosežu izvan pregleda.
Navedite svaki izlazni efekat koji prototip može pokrenuti, zatim svaki usmjerite u pješčanik ili ga onemogućite. Privatna ruta ne čini živu krajnju tačku plaćanja bezopasnom.
Produkcijske vjerodajnice isti su problem u drugom obliku. Pregled koji naslijedi produkcijski API ključ da uštedi vrijeme na postavljanju je produkcijski sistem s debug sučeljem. Kreirajte ograničene vjerodajnice s najmanjim korisnim dozvolama. Rotirajte ih kada pregled završi, jer opozvan pregled sa živim ključevima još je živ.
Provjerite stranicu, resurse i utičnicu
Stranica koja se prikaže nije pregled koji radi. HTML se može učitati dok host resursa, API ili WebSocket još pokazuje na URL do kojeg tester ne može doći. Svaki od njih je zaseban unos u ugovoru.
S odobrenog uređaja zatražite stranicu i najveći resurs odvojeno:
curl -sS -o /dev/null -w "%{http_code}" https://preview.staging.example/
curl -sS -o /dev/null -w "%{http_code}" https://preview.staging.example/assets/app.js
Zatim gledajte konzolu preglednika tokom stvarne interakcije i potvrdite da se utičnica za uživo ponovno učitavanje povezuje. Ako ne, ispravka je namjerna ruta za tu krajnju tačku, a ne pravilo koje se širi dok stranica ne izgleda kompletno.
Povucite pregled na datum, ne na pamćenje
Dajte pregledu vlasnika i krajnji datum u trenutku kada ga kreirate. Kada datum dođe, uklonite unos, identitete testera i privremene vjerodajnice kroz konfiguraciju koja ih posjeduje. Zaboravljen pregled je način na koji privatni prototip postaje trajno javni.
Provjerite povlačenje izvana: ime hosta treba prestati da se razrješava ili prestati da odgovara neodobrenim klijentima.
Zadržite izvor i bilješke o oporavku, ali ne i rezervni put. Test dobre granice pregleda je dosadan: odobreni uređaj može izvršiti tražene radnje, a neodobreni identitet ne može. Isto mora vrijediti nakon što se tunel isključi. Taj rezultat vrijedi više od VPN ikone pored prototipa koji radi sa svim uključenim razvojnim funkcijama.