Μία μόνο σελίδα προγράμματος περιήγησης που εμφανίζει διεύθυνση IP δεν αποδεικνύει σχεδόν τίποτα για μια διαχωρισμένη σήραγγα. Μια ορατή διεύθυνση μπορεί να είναι η σωστή για τον λάθος λόγο, και μια εξαιρούμενη ροή δεν δοκιμάζεται ποτέ από αυτήν. Σημειώστε το αναμενόμενο αποτέλεσμα πριν τη δοκιμή: ποια εφαρμογή ή προορισμός πρέπει να χρησιμοποιεί τη σήραγγα, ποια πρέπει να μένει άμεση και τι πρέπει να σταματά όταν η σήραγγα αποτυγχάνει. Χωρίς αυτό το σχέδιο, κάθε πιθανός αριθμός μοιάζει με επιτυχία.

Ο μύθος: μια αναζήτηση διεύθυνσης αποδεικνύει κάλυψη

Ο έλεγχος IP απαντά σε μία ερώτηση: τι βλέπει ο έξω κόσμος από μία εφαρμογή σε μία στιγμή. Δεν λέει τίποτα για ένα εσωτερικό πρόθεμα, ένα δεύτερο προφίλ περιήγησης ή ένα όνομα που πρέπει να επιλύεται ιδιωτικά. Δεν λέει επίσης τίποτα για την αποτυχία, και αυτό είναι το μισό ενός σχεδίου διαχωρισμένης σήραγγας που σπάει στην παραγωγή.

Μια σελίδα διεύθυνσης δεν μπορεί επίσης να δείξει τη διαδρομή, τον επιλυτή ή την πολιτική αποτυχίας. Αντιμετωπίστε την ως μία παρατήρηση, όχι ως ετυμηγορία.

Δοκιμάστε μια ροή που περιλαμβάνεται και μια που εξαιρείται

Στείλτε ένα ακίνδυνο αίτημα από την εφαρμογή που πρέπει να περιλαμβάνεται, ή προς το πρόθεμα που περιμένετε να δρομολογηθεί μέσω της σήραγγας, και καταγράψτε την πηγή, τον προορισμό, την οικογένεια διευθύνσεων και τη διαδρομή που παρατηρήθηκε. Κάντε το ίδιο για μια ροή που πρέπει να μένει άμεση. Η εξαιρούμενη πλευρά είναι αυτή που οι άνθρωποι παραλείπουν, και είναι η μόνη απόδειξη ότι ο διαχωρισμός είναι σκόπιμος και όχι τυχαίος. Μια βοηθητική διεργασία μπορεί να φέρει ξεχωριστή ταυτότητα πολιτικής, γι' αυτό δοκιμάστε στη διεργασία που κατέχει το socket.

flow: Firefox to intranet.example:443, IPv4, source 10.8.0.6, tunneled
flow: Firefox to 1.1.1.1, IPv4, source 192.0.2.20, direct

Γι' αυτό μια δοκιμή στη λάθος εφαρμογή μπορεί να δείξει το αντίθετο από αυτό που σκοπεύει το σχέδιο. Σημειώστε τα τέσσερα πεδία και για τις δύο πλευρές πριν βγάλετε οποιοδήποτε συμπέρασμα.

Προσθέστε το DNS και την περίπτωση αποτυχίας

Ρωτήστε τον επιλυτή του συστήματος και τον επιλυτή που χρησιμοποιεί η εφαρμογή, και μετά συγκρίνετε αυτές τις απαντήσεις με τη διεύθυνση εξόδου που αναφέρει ο ιστότοπος. Τα δύο επίπεδα μπορεί να διαφωνούν σκόπιμα, και μία αναζήτηση του προγράμματος περιήγησης δεν δοκιμάζει την πολιτική του λειτουργικού συστήματος. Ένα κέλυφος κάνει τη σύγκριση επαναλήψιμη: Σπάστε τη σήραγγα επίτηδες και μετά κάντε ένα αίτημα που το πρόγραμμα περιήγησης δεν έχει στην προσωρινή μνήμη· μια σελίδα από την προσωρινή μνήμη δεν σας λέει τίποτα για την κατεύθυνση της εναλλακτικής διαδρομής. Καταγράψτε τι συνέβη πραγματικά και όχι τι προέβλεπε το σχέδιο.

curl -s https://ifconfig.me
nslookup intranet.example

Μια διαχωρισμένη σήραγγα που αποτυγχάνει κλειστά και μία που αποτυγχάνει ανοιχτά φαίνονται ίδιες μέχρι να σπάσετε τη σήραγγα επίτηδες. Καταγράψτε ποια συμπεριφορά παρατηρήσατε, όχι ποια περιμένατε.

Επαναλάβετε μετά την αλλαγή κατάστασης

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

Αν ένα αποτέλεσμα διαφέρει, βρείτε τον ιδιοκτήτη του κανόνα και το στάδιο επεξεργασίας πριν αλλάξετε πολλές ρυθμίσεις μαζί. Το να αλλάξετε πέντε πράγματα και να παρατηρήσετε ένα αποτέλεσμα δεν είναι διάγνωση, είναι νέα διαμόρφωση.

Τι πρέπει να τεκμηριώσει το αποτέλεσμα

Συνδέστε τις παρατηρήσεις με την πολιτική και την έκδοση πελάτη που δοκιμάσατε πραγματικά. Ο στόχος είναι να δείξετε ότι αυτή η ανάπτυξη ταιριάζει με την κάλυψη που ισχυρίζεται, όχι ότι κάθε μελλοντική εφαρμογή θα είναι ιδιωτική. Αυτός είναι ένας στενότερος ισχυρισμός, και αυτός είναι που μπορείτε πραγματικά να στηρίξετε με στοιχεία. Γράψτε τον ισχυρισμό, την έκδοση και τα αποτελέσματα των τεσσάρων πεδίων στο αρχείο αλλαγών.

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

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