Umiestnenie prototypu za VPN pôsobí súkromne, takže jediná zostávajúca otázka vyzerá ako kto dostane profil. Tento predpoklad zlyháva konkrétnym spôsobom: tunel riadi, kto sa k hostiteľovi dostane, nie to, čo hostiteľ po ich príchode odhalí. Náhľad stále spúšťa runtime prostredie, drží údaje a volá integrácie, ktoré môžu poslať skutočný e-mail alebo zapísať do skutočnej databázy. Berte VPN ako vstupné dvere a potom navrhnite miestnosť za nimi.

Trasa nie je publikum

Zapísanie testera do VPN odpovedá presne na jednu otázku: dostane sa toto zariadenie na adresu? Nič nehovorí o tom, ktoré stránky, API alebo konzoly toto zariadenie smie používať. To sú samostatné oprávnenia a brána, ktorá pozná len adresy, ich nedokáže vynútiť.

Napíšte zmluvu náhľadu ako krátky zoznam: názov hostiteľa, naslúchač, povolené operácie a kto drží každú rolu. Potom skontrolujte, či zoznam zodpovedá tomu, čo je skutočne vystavené.

Tester, ktorý dokáže otvoriť prototyp, nepotrebuje nasadzovaciu konzolu, administračnú stránku databázy ani domovský adresár vývojára. Ak brána poskytuje trasu do podsiete, všetko z toho je predvolene dostupné. Uprednostnite trasu pre každý cieľ alebo dajte doplnkové služby za ich vlastnú autentifikáciu. Každá z možností zúžuje, čo môže ukradnutý profil urobiť.

Runtime prostredie, ktoré zdieľate, je súčasťou zmluvy

Vývojový server s ladiacim programom a automatickým načítaním je nástroj pre jedného človeka na jednom počítači. Dokumentácia frameworkov je v tom jasná: príručka nasadenia Flasku hovorí, že jeho vývojový server a ladič nie sú pre produkciu, a za produkciu považuje aj súkromné či jednopoužívateľské služby. Rovnaká úvaha platí pre každý framework s načítačom a interaktívnou chybovou stránkou. Pohodlné funkcie majú skrátiť slučku medzi uložením súboru a uvidením zmeny, nie čeliť testerovi, ktorého neovládate.

Interaktívne trasovanie je únik informácií a v niektorých ladičoch plocha na spustenie kódu. Držte ho mimo náhľadu alebo obmedzte náhľad na build, ktorý ho nemôže zapnúť. Ak testeri potrebujú diagnostiku, dajte im logy namiesto konzoly.

Naslúchač s divokou kartou je druhá polovica tejto chyby. Viazanie na všetky rozhrania vystavuje službu sieťam, ktoré ste nezamýšľali, vrátane Wi-Fi v kaviarni.

Používajte jednorazové účty a údaje bez skutočných vedľajších účinkov

Používajte účty vytvorené na testovanie a údaje, ktoré nikoho nemôžu zahanbiť. Nebezpečná časť je málokedy riadok databázy; je to integrácia za tlačidlom. E-mail, platby, SMS, webhooky a export súborov všetky dosahujú mimo náhľadu.

Vymenujte každý odchádzajúci efekt, ktorý prototyp môže vyvolať, a potom každý nasmerujte do sandboxu alebo ho vypnite. Súkromná trasa nerobí živý platobný koncový bod neškodným.

Produkčné prihlasovacie údaje sú ten istý problém v inej podobe. Náhľad, ktorý zdedí produkčný kľúč API, aby ušetril čas nastavenia, je produkčný systém s rozhraním na ladenie. Vytvárajte obmedzené prihlasovacie údaje s najmenšími užitočnými oprávneniami. Rotujte ich, keď sa náhľad skončí, pretože odvolaný náhľad so živými kľúčmi je stále živý.

Skontrolujte stránku, prostriedky a socket

Stránka, ktorá sa vykreslí, nie je náhľad, ktorý funguje. HTML sa môže načítať, kým hostiteľ prostriedkov, API alebo WebSocket stále ukazuje na URL, na ktorú sa tester nedostane. Každý z nich je samostatná položka v zmluve.

Zo schváleného zariadenia si vyžiadajte stránku a najväčší prostriedok oddelene:

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

Potom počas skutočnej interakcie sledujte konzolu prehliadača a potvrďte, že socket živého načítania sa pripája. Ak nie, opravou je zámerná trasa pre tento koncový bod, nie pravidlo, ktoré sa rozširuje, kým stránka nevyzerá kompletne.

Ukončite náhľad k dátumu, nie podľa pamäti

Dajte náhľadu vlastníka a dátum konca v okamihu, keď ho vytvoríte. Keď dátum nastane, odstráňte záznam, identity testerov a dočasné prihlasovacie údaje cez konfiguráciu, ktorá ich vlastní. Zabudnutý náhľad je spôsob, akým sa súkromný prototyp stane trvalo verejným.

Overte ukončenie zvonku: názov hostiteľa by sa mal prestať prekladať alebo prestať odpovedať neschváleným klientom.

Uchovajte zdroj a poznámky k obnove, ale nie záložnú cestu. Test dobrej hranice náhľadu je nudný: schválené zariadenie dokáže vykonať požadované akcie a neschválená identita nie. To isté musí platiť po vypnutí tunela. Ten výsledok má väčšiu cenu než ikona VPN vedľa prototypu bežiaceho so všetkými zapnutými vývojovými funkciami.

Súvisiace články