Staging ni produkcija: dajte mu lastno mejo dostopa
Oznaka staging ne odloča, kdo doseže aplikacijo ali česa se lahko dotakne. Preglejte občinstvo, podatke, poverilnice in administrativne površine, preden jo objavite.
Staging je videti kot testni sistem, dokler ne opazite kopirane produkcijske baze podatkov, žive poštne poverilnice in plačilnega ključa v njegovem okolju. V tistem trenutku oznaka na zavihku preneha biti pomembna in pravo vprašanje je, do česa lahko seže ta namestitev in kdo lahko seže do nje. VPN na sprednjih vratih ne odgovori na to vprašanje, ker omejuje eno pot v sistem in ne pove nič o tem, kaj lahko sistem počne na izhodu. Začnite pri občinstvu in delajte navzven.
Začnite pri občinstvu, ne pri URL
Tri občinstva dajo tri različne zasnove. Zasebno inženirsko okolje potrebuje identiteto in pot; sprejemni test stranke potrebuje račune, ki zastopajo stranke; javna predstavitev potrebuje namerno izpostavitev z lastnimi kontrolami. Če občinstvo zapišete najprej, preprečite običajni odklon, ko URL predogleda tiho postane trajen. Vse ostalo v pregledu je odvisno od tega odgovora.
Če nihče ne more poimenovati občinstva, to obravnavajte kot prvo ugotovitev in ne kot vrzel v dokumentaciji.
Pojdite skozi sprednja vrata in površine za njimi
Razrešite imena, preden zaupate URL-ju, ki ste ga dobili, nato pa neposredno vprašajte za administrativne poti.
dig +short staging.example.com
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/adminDodatni zapisi pogosto razkrijejo naslov neposrednega izvora, ki obide CDN ali vhod VPN, kar naredi predvideno kontrolo neobvezno. Preusmeritev vam pove, kje aplikacija misli, da živi, in nepričakovana shema ali ime gostitelja si zasluži nadaljnje preverjanje. Preverjanje verjetne administrativne poti bi moralo dati zavrnitev, ne strani. Odgovor 200 na neavtentificirani administrativni poti je ugotovitev, ki jo je iskal celoten pregled.
Preverite, kaj okolje zmore, ne le kaj prikazuje
Stran, ki zahteva prijavo, se vseeno dostavi z backend pooblastili. Vprašajte, pod katero identiteto teče delovna obremenitev, nato preberite pravilnike, ki so priloženi.
aws sts get-caller-identityTa klic poroča o računu in principalu, ki ju okolje dejansko uporablja, in to je izhodišče za vsako nadaljnje vprašanje o dovoljenjih. Od tam preverite, ali lahko identiteta pošilja pošto, premika denar, bere produkcijske skrivnosti ali piše produkcijske podatke. Zamenjajte skupne produkcijske poverilnice z omejenimi staging identitetami in dajte prednost peskovnikom ponudnika, kjer obstajajo. Testni račun, ki lahko bremeni pravo kartico, je produkcijski sistem z drugim imenom gostitelja.
Ohranite mejo po koncu pregleda
Okolja ne zaščiti ena revizija; zaščiti ga lastništvo, ki preživi kadrovske spremembe. Določite, kdo odstrani dostop, ponastavi testne podatke in umakne namestitev, in dajte predogledu rok, ki ga mora nekdo podaljšati. Izolacija pomaga le toliko časa, dokler se izolirano vzdržuje. Po naslednji izdaji znova preverite iste poti, ker je funkcijska zastavica ali nova integracija natanko način, kako zavrnjena pot postane odprta.
Sprejmite zasnovo z dovoljenim delovnim tokom in zavrnjenim. Če se oba obnašata, kot je dokumentirano, meja obstaja; če je bila preizkušena le srečna pot, je to upanje.