DNS μέσω VPN έναντι DoH στον περιηγητή: τι δεν μπορεί να σας πει ένα τεστ διαρροής
Μια διεύθυνση τεστ διαρροής δείχνει μόνο ποιος επιλυτής απάντησε. Τα κρυπτογραφημένα ερωτήματα, το διαχωρισμένο DNS και η πολιτική του περιηγητή καθορίζουν αν τα ιδιωτικά ονόματα επιλύονται καθόλου.
Η σελίδα του τεστ διαρροής λέει ότι το DNS σας είναι εντάξει, το σήμα του περιηγητή λέει ασφαλές, και το εσωτερικό wiki ακόμη δεν φορτώνει. Και τα τρία μπορούν να ισχύουν ταυτόχρονα, γιατί η διεύθυνση ενός επιλυτή δεν είναι το ίδιο πράγμα με την πολιτική που τον επέλεξε ή τη διαδρομή που ακολούθησε το ερώτημα. Αυτό που οι άνθρωποι αποκαλούν διαρροή DNS είναι στην πραγματικότητα ένα ερώτημα: ποιος επιλυτής έλαβε το όνομα, και ήταν αυτή η επιλογή σκόπιμη; Το ξεκαθάρισμα απαιτεί τρεις ελέγχους, και μόνο ο τελευταίος περιλαμβάνει αλλαγή ρύθμισης.
Μύθος πρώτος: το σήμα ονομάζει τον επιλυτή σας
Ένα τεστ διαρροής επιλύει ένα δοκιμαστικό όνομα και αναφέρει τη διεύθυνση που απάντησε. Δεν αναφέρει την πολιτική που επέλεξε αυτόν τον επιλυτή, και όταν το ερώτημα είναι τυλιγμένο σε DNS μέσω HTTPS, ένα ενδιάμεσο πλαίσιο στη διαδρομή δεν μπορεί να δει καθόλου το όνομα. Δύο εντελώς διαφορετικά μηχανήματα παράγουν το ίδιο καθησυχαστικό σήμα: ένα όπου το VPN έστειλε το 10.8.0.1 και ο περιηγητής το χρησιμοποιεί, και ένα όπου ο περιηγητής αγνόησε τη λίστα του συστήματος και έστειλε το όνομα μέσα από το τούνελ στον δικό του κρυπτογραφημένο πάροχο.
Η διάκριση έχει σημασία τη στιγμή που αποτυγχάνει ένα ιδιωτικό όνομα. Στην πρώτη ρύθμιση ο επιλυτής του VPN απαντά για την εταιρική ζώνη· στη δεύτερη ο περιηγητής δεν τον ρώτησε ποτέ, οπότε το σύντομο όνομα διακομιστή δεν επιλύεται και η αποτυχία μοιάζει με χαλασμένο VPN. Ο έλεγχος δεν είναι άλλο ένα τεστ διαρροής, είναι αναζήτηση ενός ονόματος που γνωρίζει μόνο ένας επιλυτής.
Μύθος δεύτερος: ο περιηγητής εγκαταλείπει το τούνελ
Το DNS επιλέγει διεύθυνση, η δρομολόγηση μεταφέρει τη σύνδεση, και τα δύο είναι ξεχωριστά επίπεδα. Ένα ερώτημα προς δημόσιο πάροχο DoH είναι ακόμη TCP θύρα 443 προς δρομολογήσιμη διεύθυνση. Αν ο πίνακας δρομολόγησής σας στέλνει την προεπιλεγμένη διαδρομή στο τούνελ, το ερώτημα αυτό περνά κι εκείνο από το τούνελ. Η μάρκα του επιλυτή δεν καθορίζει τη διαδρομή.
Αυτό που αλλάζει το DoH στον περιηγητή είναι ο παραλήπτης των ονομάτων. Είναι πραγματική απόφαση ιδιωτικότητας και πραγματική απόφαση πολιτικής, αλλά δεν είναι παράκαμψη δρομολόγησης. Αν η απαίτησή σας είναι τα ονόματα να μένουν στον φορέα του VPN, ένα κρυπτογραφημένο ερώτημα σε κάποιον άλλον αποτυγχάνει σε αυτή την απαίτηση ενώ χρησιμοποιεί ακόμη το τούνελ για την πραγματική σύνδεση.
Μύθος τρίτος: κάθε VPN υπερισχύει κάθε περιηγητή
Το ασφαλές DNS σε έναν περιηγητή έχει λειτουργίες, όχι διακόπτη: ανενεργό, προεπιλεγμένο πάροχο με εφεδρεία, προσαρμοσμένο πρότυπο ή πολιτική που επιβάλλει το λειτουργικό σύστημα ή ο οργανισμός. Η περίπτωση εφεδρείας είναι εκείνη που παράγει περιστασιακές αναφορές. Όταν το κρυπτογραφημένο τελικό σημείο δεν είναι προσβάσιμο, ο περιηγητής μπορεί να πέσει πίσω στον επιλυτή του συστήματος, οπότε ο ίδιος φορητός επιλύει σωστά ένα ιδιωτικό όνομα τη Δευτέρα και όχι την Τρίτη.
Ταυτόχρονα, οι περισσότεροι πελάτες VPN ορίζουν τον επιλυτή του συστήματος όταν ανεβαίνει η σύνδεση και επαναφέρουν τον προηγούμενο όταν πέφτει. Ένας περιηγητής που κρατά προσαρμοσμένο κρυπτογραφημένο επιλυτή δεν παρατηρεί καθόλου αυτή την επαναφορά. Γι' αυτό το ίδιο προφίλ συμπεριφέρεται διαφορετικά σε δύο φορητούς και γι' αυτό το resolv.conf φαίνεται σωστό ενώ ο περιηγητής ρωτά ακόμη κάποιον άλλον.
resolvectl status # per-link DNS servers and split-DNS domains
scutil --dns | head -30 # macOS resolver order for each domain
nslookup intranet.corp 10.8.0.1 # ask the VPN resolver directlyΕκτελέστε τα παραπάνω ενώ είστε συνδεδεμένοι, σημειώστε ποιους τομείς διεκδικεί κάθε επιλυτής και συγκρίνετε με το τι αναφέρει ο περιηγητής για τη δική του λειτουργία. Η τεκμηρίωση DoH της Mozilla είναι μια λογική περιγραφή του πώς υποτίθεται ότι λειτουργούν η προεπιλεγμένη και η εφεδρική συμπεριφορά ενός περιηγητή.
Η απόφαση έχει τρεις εισόδους, όχι μία
Τα ιδιωτικά ονόματα, η εμπιστοσύνη στον φορέα και η προσβασιμότητα καθορίζουν τη σωστή διάταξη. Τα ονόματα που γνωρίζει μόνο ο επιλυτής του VPN επιβάλλουν διαχωρισμένο DNS: το ιδιωτικό επίθημα πηγαίνει στον επιλυτή που έστειλε το VPN, και όλα τα άλλα ακολουθούν την πολιτική που επιλέξατε για τα δημόσια ονόματα. Η εμπιστοσύνη στον φορέα καθορίζει αν τα δημόσια ονόματα πρέπει να πηγαίνουν επίσης σε αυτόν τον επιλυτή ή σε ξεχωριστή υπηρεσία. Η προσβασιμότητα καθορίζει αν ο επιλυτής που επιλέξατε είναι καν χρησιμοποιήσιμος σε αυτό το δίκτυο.
| Condition | What it forces |
|---|---|
| Internal names must resolve | Split DNS: private suffixes to the VPN resolver, the rest to your chosen default |
| Queries must stay with one operator | Pin both the system resolver and the browser mode, and disable fallback |
| Resolver only reachable through the tunnel | Keep the pushed resolver; do not point DoH at an endpoint your routes exclude |
Καμία από αυτές τις γραμμές δεν είναι καθολική σύσταση. Ένας επιλυτής που τον λειτουργεί το VPN συγκεντρώνει τις παρατηρήσεις σε αυτόν τον φορέα· μια ξεχωριστή υπηρεσία προσθέτει άλλον έναν παραλήπτη των ονομάτων που ζητούνται. Καμία από τις δύο διατάξεις δεν αποδεικνύει τίποτα για τη διατήρηση, εκτός αν διαβάσετε την πολιτική.
Γράψτε την απόφαση ανά προφίλ, γιατί αυτές οι ρυθμίσεις μετακινούνται. Ένα προφίλ που έστειλε έναν επιλυτή τον περασμένο μήνα μπορεί σήμερα να μη στέλνει τίποτα, και ο περιηγητής θα κρατήσει ευχαρίστως ένα παλιό προσαρμοσμένο τελικό σημείο που απαντά ακόμη. Στη σημείωση ανήκουν η διεύθυνση του επιλυτή, τα επιθήματα που κατέχει και η λειτουργία του περιηγητή, όχι η μάρκα της υπηρεσίας.
Δοκιμάστε την πολιτική που νομίζετε ότι διαμορφώσατε
Δοκιμάστε με όνομα, όχι με σήμα. Επιλύστε ένα δημόσιο και ένα ιδιωτικό όνομα μέσω του επιλυτή του συστήματος, και μετά επαναλάβετε μέσα στον περιηγητή με τη δική του ρύθμιση ασφαλούς DNS στη λειτουργία που σκοπεύετε να χρησιμοποιήσετε. Αν το ιδιωτικό όνομα αποτυγχάνει μόνο στον περιηγητή, βρήκατε την αναντιστοιχία παραλήπτη χωρίς να αγγίξετε καμία ρύθμιση VPN.
Στη συνέχεια επανασυνδεθείτε και ελέγξτε την επαναφορά, γιατί εκεί ζουν τα σφάλματα παράδοσης: αποσυνδεθείτε, επιβεβαιώστε ότι επέστρεψε ο προηγούμενος επιλυτής, επανασυνδεθείτε, επιβεβαιώστε ότι επέστρεψε αυτός που έστειλε το VPN. Τέλος, δοκιμάστε έναν περιηγητή με διαχειριζόμενη πολιτική αν έχετε, γιατί αυτή η λειτουργία μπορεί να αρνηθεί εντελώς την αλλαγή σας και να κρατήσει σιωπηλά τον προηγούμενο επιλυτή.
Ξεκινήστε από το ερώτημα του χώρου ονομάτων και θα αποφύγετε τα περισσότερα από αυτά. Αν το μηχάνημα πρέπει να φτάνει σε εσωτερικά ονόματα, ο κρυπτογραφημένος επιλυτής του περιηγητή είναι απόφαση μόνο για το δημόσιο μισό, και το ιδιωτικό μισό μένει σε ό,τι έστειλε το VPN.