Η αποδοχή απομακρυσμένης πρόσβασης VPC απαιτεί δοκιμές άρνησης
Μια λειτουργική σύνδεση VPN είναι η πρώτη γραμμή του πίνακα αποδοχής, όχι η τελευταία. Γράψτε τις αναμενόμενες αρνήσεις για κάθε ρόλο και δοκιμάστε τους ελέγχους που τις καθορίζουν.
Η αποδοχή της απομακρυσμένης πρόσβασης είναι ένας πίνακας αναμενόμενων αποτελεσμάτων, όχι ένα στιγμιότυπο οθόνης μιας σελίδας που λειτουργεί. Για κάθε ομάδα, γράψτε τι πρέπει να πετύχει και τι πρέπει να αποτύχει, και μετά εκτελέστε και τα δύο απέναντι σε ειδικές ταυτότητες δοκιμής μέσα σε ελεγχόμενο παράθυρο. Οι αρνήσεις είναι το μέρος που αποδεικνύει το όριο· μια επιτυχημένη σύνδεση αποδεικνύει μόνο ότι το τούνελ υπάρχει. Όλα αυτά λειτουργούν με το προϊόν VPN που έχει ήδη επιλεγεί.
Χρησιμοποιήστε ξεχωριστούς λογαριασμούς για τις δοκιμές και επισημάνετε τους ώστε κανείς να μην μπερδέψει μια ταυτότητα δοκιμής με μια πραγματική εξαίρεση.
Γράψτε το όριο ως αναμενόμενα αποτελέσματα
Ξεκινήστε από τους ρόλους και όχι από τα συστατικά: ποιος χρειάζεται ποια υπηρεσία, από πού και με ποια ταυτότητα. Πάρτε ένα ενδεικτικό VPC: μια ομάδα χρειάζεται το περιβάλλον δοκιμών μέσω HTTPS, μια άλλη χρειάζεται μια βάση δεδομένων παραγωγής, και μια τρίτη, μικρότερη ομάδα διαχειρίζεται την ίδια την πύλη. Κάθε γραμμή παίρνει μια αναμενόμενη άδεια και μια αναμενόμενη άρνηση, μαζί με την γειτονική υπηρεσία και τον γειτονικό λογαριασμό που δεν θα έπρεπε να λειτουργούν. Αυτός ο πίνακας είναι το κριτήριο αποδοχής, και άνθρωποι που δεν εκτελούν τις δοκιμές μπορούν να τον ελέγξουν.
Δοκιμάστε τη σύνδεση στη βάση δεδομένων ξεχωριστά από τη διαδρομή δικτύου. Μια προσβάσιμη θύρα TCP δεν πρέπει να κάνει επιτυχημένο έναν μη εγκεκριμένο λογαριασμό βάσης δεδομένων, και η συμμετοχή σε VPN δεν πρέπει να δημιουργεί ρόλο IAM στο νέφος ούτε να παρέχει διαχειριστική πρόσβαση στο API. Αυτοί είναι τρεις ανεξάρτητοι έλεγχοι, και αποτυγχάνουν ανεξάρτητα.
Η διαδρομή δεν είναι εξουσιοδότηση
Μια διαδρομή κάνει μια πορεία εφικτή· δεν παρέχει άδεια. Η παρακράτηση μιας διαδρομής είναι ένα αδύναμο υποκατάστατο ενός περιορισμού που επιβάλλεται στον προορισμό, αφού ένας πελάτης μπορεί πάντα να προσθέσει δική του διαδρομή. Η ομάδα ασφαλείας, η παραχώρηση της βάσης δεδομένων και η δική της εξουσιοδότηση της εφαρμογής παραμένουν οι έλεγχοι που αποφασίζουν. Όταν μια δοκιμή πετύχει απροσδόκητα, κοιτάξτε πρώτα την πολιτική του προορισμού και όχι τον πίνακα δρομολόγησης που θέλατε να έχει ο πελάτης.
Γι' αυτό και οι δοκιμές άρνησης στοχεύουν την πλευρά του διακομιστή· αυτά τα αποτελέσματα δεν αλλάζουν με την επεξεργασία του πελάτη.
Ποια πηγή βλέπει πραγματικά ο έλεγχος;
Η διεύθυνση πηγής που αξιολογεί ένας έλεγχος εξαρτάται από την αρχιτεκτονική της πύλης. Μια πύλη φιλοξενούμενη σε EC2 μπορεί να προωθεί ένα δρομολογημένο σύνολο, να μεταφράζει στη δική της διεύθυνση ή να παρουσιάζει άλλη διεύθυνση μετά το NAT· το διαχειριζόμενο Client VPN συνδέεται με ένα υποδίκτυο και ακολουθεί το δικό του μοντέλο. Οι ομάδες ασφαλείας και οι λίστες ACL του δικτύου βλέπουν ό,τι φτάνει μετά από αυτή την επεξεργασία. Το να εξετάζει κανείς έναν κανόνα με λάθος υπόθεση για την πηγή είναι συνηθισμένος τρόπος να χτίσει ένα όριο που φαίνεται σωστό και δέχεται λάθος κίνηση.
Συσχετίστε κάθε αποτέλεσμα με το μικρότερο χρήσιμο συμβάν: ταυτότητα και συνεδρία, πόρος, ενέργεια, χρόνος και η απόφαση. Μια κλήση API στο CloudTrail, μια εγγραφή ροής VPC και ένα αρχείο καταγραφής συνεδρίας VPN απαντούν σε διαφορετικά ερωτήματα, και κανένα από μόνο του δεν είναι έλεγχος της εφαρμογής.
Αποσύρετε μια ταυτότητα και δοκιμάστε την ξανά
Συμπεριλάβετε την απόσυρση στον ίδιο πίνακα. Αφαιρέστε μια ταυτότητα δοκιμής, επιβεβαιώστε ότι μια νέα συνεδρία απορρίπτεται, και μετά επιβεβαιώστε χωριστά πώς αντιμετωπίζονται οι υπάρχουσες συνεδρίες, γιατί πρόκειται για διαφορετικές συμπεριφορές με διαφορετικούς ιδιοκτήτες. Ελέγξτε τι συμβαίνει μετά από επανεκκίνηση ή αντικατάσταση της πύλης, ώστε μια εξαίρεση που προστέθηκε με το χέρι να μην εξαφανιστεί σιωπηλά ή να επιστρέψει ευρύτερη. Ένα όριο που διαρκεί μόνο μέχρι την επόμενη ανάπτυξη δεν είναι όριο.
Τίποτα από αυτά δεν αντικαθιστά την επιδιόρθωση, την αποκατάσταση ή την εργασία στον κύκλο ζωής των διαπιστευτηρίων. Κάνει μετρήσιμη μια στενότερη υπόσχεση: οι σωστοί άνθρωποι φτάνουν στις σωστές υπηρεσίες, ενώ κοντινές διαδρομές, λογαριασμοί και επιφάνειες διαχείρισης μένουν έξω από την παραχώρηση.
Κρατήστε τον πίνακα μαζί με την ανάπτυξη και εκτελέστε τον ξανά όταν αλλάξει η πύλη. Οι δοκιμές είναι φθηνές· οι υποθέσεις πίσω τους δεν είναι.