Το staging μοιάζει με δοκιμαστικό σύστημα μέχρι να προσέξετε την αντιγραμμένη βάση δεδομένων παραγωγής, τα ζωντανά διαπιστευτήρια αλληλογραφίας και το κλειδί πληρωμών μέσα στο περιβάλλον του. Σε εκείνο το σημείο η ετικέτα στην καρτέλα παύει να έχει σημασία και το πραγματικό ερώτημα είναι τι μπορεί να προσεγγίσει αυτή η ανάπτυξη και ποιος μπορεί να την προσεγγίσει. Ένα VPN στην μπροστινή πόρτα δεν απαντά σε αυτό το ερώτημα, γιατί περιορίζει μία διαδρομή προς το σύστημα και δεν λέει τίποτα για το τι μπορεί να κάνει το σύστημα στην έξοδο. Ξεκινήστε από το κοινό και προχωρήστε προς τα έξω.

Ξεκινήστε από το κοινό, όχι από το URL

Τρία κοινά παράγουν τρία διαφορετικά σχέδια. Ένα ιδιωτικό περιβάλλον μηχανικής χρειάζεται ταυτότητα και διαδρομή· μια δοκιμή αποδοχής πελάτη χρειάζεται λογαριασμούς που εκπροσωπούν πελάτες· μια δημόσια επίδειξη χρειάζεται σκόπιμη έκθεση με δικούς της ελέγχους. Η καταγραφή του κοινού πρώτα αποτρέπει τη συνήθη μετατόπιση όπου ένα URL προεπισκόπησης γίνεται σιωπηρά μόνιμο. Όλα τα άλλα στην ανασκόπηση εξαρτώνται από αυτή την απάντηση.

Αν κανείς δεν μπορεί να ονομάσει το κοινό, θεωρήστε το πρώτο εύρημα και όχι κενό τεκμηρίωσης.

Περπατήστε την μπροστινή πόρτα και τις επιφάνειες πίσω της

Επιλύστε τα ονόματα πριν εμπιστευτείτε το URL που σας δόθηκε και μετά ζητήστε τις διαχειριστικές διαδρομές απευθείας.

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

Οι επιπλέον εγγραφές συχνά αποκαλύπτουν μια διεύθυνση άμεσης προέλευσης που παρακάμπτει το CDN ή την είσοδο VPN, γεγονός που καθιστά τον προβλεπόμενο έλεγχο προαιρετικό. Μια ανακατεύθυνση σας λέει πού πιστεύει η εφαρμογή ότι ζει, και ένα απρόσμενο σχήμα ή όνομα κεντρικού υπολογιστή αξίζει διερεύνηση. Ο έλεγχος μιας πιθανής διαδρομής διαχείρισης πρέπει να παράγει άρνηση, όχι σελίδα. Μια απόκριση 200 σε μη πιστοποιημένη διαχειριστική διαδρομή είναι το εύρημα που έψαχνε όλη η ανασκόπηση.

Ελέγξτε τι μπορεί να κάνει το περιβάλλον, όχι μόνο τι δείχνει

Μια σελίδα που απαιτεί σύνδεση εξακολουθεί να αποστέλλεται με δικαιοδοσία backend. Ρωτήστε με ποια ταυτότητα εκτελείται το φορτίο εργασίας και μετά διαβάστε τις πολιτικές που συνδέονται με αυτή.

aws sts get-caller-identity

Αυτή η κλήση αναφέρει τον λογαριασμό και την κύρια οντότητα που χρησιμοποιεί πραγματικά το περιβάλλον, το οποίο είναι το σημείο εκκίνησης για κάθε επόμενο ερώτημα δικαιωμάτων. Από εκεί, ελέγξτε αν η ταυτότητα μπορεί να στείλει αλληλογραφία, να μετακινήσει χρήματα, να διαβάσει μυστικά παραγωγής ή να γράψει δεδομένα παραγωγής. Αντικαταστήστε τα κοινόχρηστα διαπιστευτήρια παραγωγής με περιορισμένες ταυτότητες staging και προτιμήστε τα sandbox των προμηθευτών όπου υπάρχουν. Ένας δοκιμαστικός λογαριασμός που μπορεί να χρεώσει πραγματική κάρτα είναι σύστημα παραγωγής με διαφορετικό όνομα κεντρικού υπολογιστή.

Κρατήστε το όριο αφού τελειώσει η ανασκόπηση

Ένα περιβάλλον δεν ασφαλίζεται με έναν έλεγχο· ασφαλίζεται με ιδιοκτησία που επιβιώνει από αλλαγές προσωπικού. Ορίστε ποιος αφαιρεί την πρόσβαση, επαναφέρει τα δεδομένα δοκιμών και αποσύρει την ανάπτυξη, και δώστε στην προεπισκόπηση μια λήξη που κάποιος πρέπει να ανανεώσει. Η απομόνωση βοηθά μόνο όσο συντηρείται το απομονωμένο. Ελέγξτε ξανά τις ίδιες διαδρομές μετά την επόμενη έκδοση, γιατί ένα feature flag ή μια νέα ενσωμάτωση είναι ακριβώς ο τρόπος με τον οποίο μια απορριφθείσα διαδρομή γίνεται ανοιχτή.

Αποδεχτείτε το σχέδιο με μια επιτρεπτή ροή εργασίας και μια απορριπτέα. Αν και οι δύο συμπεριφέρονται όπως τεκμηριώνεται, το όριο υπάρχει· αν δοκιμάστηκε μόνο η ευτυχισμένη διαδρομή, είναι ελπίδα.

Σχετικά άρθρα