La préproduction ressemble à un système de test jusqu’à ce que vous remarquiez la base de données de production copiée, l’identifiant de messagerie actif et la clé de paiement dans son environnement. À ce moment-là, l’étiquette de l’onglet cesse d’avoir de l’importance et la vraie question est ce que ce déploiement peut atteindre et qui peut l’atteindre. Un VPN en façade ne répond pas à cette question, car il contraint un seul chemin vers le système et ne dit rien de ce que le système peut faire en sortie. Partez du public et travaillez vers l’extérieur.

Partez du public, pas de l’URL

Trois publics produisent trois conceptions différentes. Un environnement d’ingénierie privé a besoin d’une identité et d’une route ; une recette client a besoin de comptes qui représentent des clients ; une démonstration publique a besoin d’une exposition délibérée avec ses propres contrôles. Écrire le public d’abord évite la dérive habituelle où une URL d’aperçu devient discrètement permanente. Tout le reste de la revue dépend de cette réponse.

Si personne ne peut nommer le public, traitez cela comme la première constatation plutôt que comme une lacune de documentation.

Parcourez la porte d’entrée et les surfaces derrière elle

Résolvez les noms avant de faire confiance à l’URL qui vous a été donnée, puis demandez directement les chemins d’administration.

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

Des enregistrements supplémentaires révèlent souvent une adresse d’origine directe qui contourne le CDN ou l’entrée VPN, ce qui rend le contrôle prévu facultatif. Une redirection vous dit où l’application croit vivre, et un schéma ou un nom d’hôte inattendu mérite un suivi. Sonder une route d’administration probable devrait produire un refus, pas une page. Un 200 sur un chemin d’administration non authentifié est la constatation que toute la revue cherchait.

Vérifiez ce que l’environnement peut faire, pas seulement ce qu’il montre

Une page qui exige une connexion est tout de même livrée avec une autorité de backend. Demandez sous quelle identité s’exécute la charge de travail, puis lisez les politiques qui y sont attachées.

aws sts get-caller-identity

Cet appel rapporte le compte et le principal que l’environnement utilise réellement, ce qui est le point de départ de toute question ultérieure sur les permissions. De là, vérifiez si l’identité peut envoyer du courrier, déplacer de l’argent, lire des secrets de production ou écrire des données de production. Remplacez les identifiants de production partagés par des identités de préproduction restreintes, et préférez les bacs à sable du fournisseur lorsqu’ils existent. Un compte de test qui peut débiter une vraie carte est un système de production avec un autre nom d’hôte.

Gardez la frontière après la fin de la revue

Un environnement n’est pas sécurisé par un seul audit ; il l’est par une propriété qui survit aux changements de personnel. Désignez qui retire l’accès, réinitialise les données de test et met le déploiement hors service, et donnez à l’aperçu une expiration que quelqu’un doit renouveler. L’isolement n’aide que tant que la chose isolée est maintenue. Revérifiez les mêmes chemins après la prochaine version, car un indicateur de fonctionnalité ou une nouvelle intégration est exactement comment une route refusée devient ouverte.

Acceptez la conception avec un flux de travail autorisé et un autre refusé. Si les deux se comportent comme documenté, la frontière existe ; si seul le chemin heureux a été testé, c’est un espoir.

Articles similaires