Staging nije produkcija: dajte mu vlastitu granicu pristupa
Oznaka staging ne odlučuje ko može doći do aplikacije ni čega se ona može dotaknuti. Prođite publiku, podatke, vjerodajnice i admin površine prije objave.
Staging izgleda kao testni sistem dok ne primijetite kopiranu produkcijsku bazu podataka, žive poštanske vjerodajnice i platni ključ u njegovom okruženju. U tom trenutku oznaka na kartici prestaje biti važna, a pravo pitanje je do čega ovo postavljanje može doći i ko može doći do njega. VPN na prednjim vratima ne odgovara na to pitanje, jer ograničava jedan put u sistem i ne govori ništa o tome šta sistem može raditi na izlazu. Počnite od publike i radite prema van.
Počnite od publike, a ne od URL-a
Tri publike daju tri različita dizajna. Privatno inženjersko okruženje treba identitet i rutu; test prihvatanja kod kupca treba račune koji predstavljaju kupce; javna demonstracija treba namjerno izlaganje s vlastitim kontrolama. Zapisivanje publike najprije sprječava uobičajeno skretanje u kojem URL za pregled tiho postaje trajan. Sve ostalo u pregledu zavisi od tog odgovora.
Ako niko ne može imenovati publiku, tretirajte to kao prvi nalaz, a ne kao prazninu u dokumentaciji.
Prođite kroz prednja vrata i površine iza njih
Razriješite imena prije nego povjerujete URL-u koji ste dobili, zatim zatražite administrativne putanje direktno.
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 često otkriju adresu direktnog porijekla koja zaobilazi CDN ili VPN ulaz, što namjeravanu kontrolu čini opcionalnom. Preusmjeravanje vam kaže gdje aplikacija misli da živi, a neočekivana šema ili ime hosta zaslužuje dodatnu provjeru. Provjera vjerovatne admin rute treba dati odbijanje, a ne stranicu. Odgovor 200 na neautentifikovanoj administrativnoj putanji je nalaz koji je cijeli pregled tražio.
Provjerite šta okruženje može raditi, ne samo šta prikazuje
Stranica koja zahtijeva prijavu ipak se isporučuje s pozadinskim ovlaštenjima. Pitajte pod kojim identitetom radi radno opterećenje, zatim pročitajte politike vezane za njega.
aws sts get-caller-identityTaj poziv izvještava o računu i principalu koje okruženje zapravo koristi, što je početna tačka za svako dalje pitanje dozvola. Odatle provjerite može li identitet slati poštu, prenositi novac, čitati produkcijske tajne ili pisati produkcijske podatke. Zamijenite dijeljene produkcijske vjerodajnice ograničenim staging identitetima i dajte prednost sandboxima dobavljača gdje postoje. Testni račun koji može naplatiti pravu karticu je produkcijski sistem s drugim imenom hosta.
Zadržite granicu nakon završetka pregleda
Okruženje se ne osigurava jednim auditom; osigurava se vlasništvom koje preživljava promjene osoblja. Odredite ko uklanja pristup, resetuje testne podatke i povlači postavljanje, i dajte pregledu rok koji neko mora obnoviti. Izolacija pomaže samo dok se izolovana stvar održava. Ponovo provjerite iste putanje nakon sljedećeg izdanja, jer zastavica funkcije ili nova integracija upravo je način na koji odbijena ruta postaje otvorena.
Prihvatite dizajn s dopuštenim tokom rada i s odbijenim. Ako se oba ponašaju kako je dokumentovano, granica postoji; ako je testiran samo sretni put, to je nada.