Staging ziet eruit als een testsysteem tot je de gekopieerde productiedatabase, het levende mailgegeven en de betaalsleutel in zijn omgeving opmerkt. Op dat punt houdt het label op het tabblad op ertoe te doen en is de echte vraag wat deze deployment kan bereiken en wie hem kan bereiken. Een VPN bij de voordeur beantwoordt die vraag niet, want hij beperkt één pad het systeem in en zegt niets over wat het systeem op weg naar buiten kan doen. Begin bij het publiek en werk naar buiten.

Begin bij het publiek, niet bij de URL

Drie publieken leveren drie verschillende ontwerpen. Een private engineeringomgeving heeft identiteit en een route nodig; een klantacceptatietest heeft accounts nodig die klanten vertegenwoordigen; een publieke demonstratie heeft bewuste blootstelling met eigen controles nodig. Het publiek eerst opschrijven voorkomt de gebruikelijke drift waarbij een preview-URL stilzwijgend permanent wordt. Al het andere in de beoordeling hangt van dat antwoord af.

Als niemand het publiek kan benoemen, behandel dat dan als de eerste bevinding en niet als een documentatiegat.

Loop door de voordeur en de oppervlakken erachter

Los de namen op voordat je de URL vertrouwt die je hebt gekregen, en vraag daarna direct naar de beheerroutes.

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/admin

Extra records onthullen vaak een direct herkomstadres dat de CDN of de VPN-ingang omzeilt, waardoor de bedoelde controle optioneel wordt. Een omleiding vertelt je waar de applicatie denkt dat hij woont, en een onverwacht schema of hostnaam verdient navraag. Het aftasten van een waarschijnlijke beheerroute zou een weigering moeten opleveren, geen pagina. Een 200 op een niet-geauthenticeerd beheerpad is de bevinding waar de hele beoordeling naar zocht.

Controleer wat de omgeving kan doen, niet alleen wat hij toont

Een pagina die inloggen vereist, wordt nog steeds met backend-autoriteit geleverd. Vraag onder welke identiteit de werkbelasting draait en lees daarna het beleid dat eraan hangt.

aws sts get-caller-identity

Die aanroep rapporteert het account en de principal die de omgeving daadwerkelijk gebruikt, wat het startpunt is voor elke volgende rechtenvraag. Controleer van daaruit of de identiteit mail kan versturen, geld kan verplaatsen, productiegeheimen kan lezen of productiedata kan schrijven. Vervang gedeelde productiegegevens door beperkte staging-identiteiten en geef de voorkeur aan sandboxes van leveranciers waar die bestaan. Een testaccount dat een echte kaart kan belasten, is een productiesysteem met een andere hostnaam.

Houd de grens na afloop van de beoordeling

Een omgeving wordt niet beveiligd door één audit; hij wordt beveiligd door eigenaarschap dat personeelswisselingen overleeft. Wijs aan wie toegang verwijdert, testgegevens reset en de deployment buiten gebruik stelt, en geef de preview een vervaldatum die iemand moet verlengen. Isolatie helpt alleen zolang het geïsoleerde wordt onderhouden. Controleer dezelfde paden opnieuw na de volgende release, want een featureflag of een nieuwe integratie is precies hoe een geweigerde route een open route wordt.

Accepteer het ontwerp met een toegestane werkstroom en een geweigerde. Als beide zich gedragen zoals gedocumenteerd, bestaat de grens; als alleen het gelukkige pad is getest, is het een hoop.

Gerelateerde artikelen