Τι αποκαλύπτει μια λίστα υποψηφίων WebRTC για το VPN σας
Ένας υποψήφιος host, διακομιστικά ανακλαστικός ή αναμετάδοσης λέει από πού προήλθε μια διεύθυνση. Μόνο το επιλεγμένο ζεύγος ICE λέει ποια διαδρομή χρησιμοποίησαν πραγματικά τα μέσα.
Όταν μια σελίδα δοκιμής WebRTC εκτυπώνει 172.20.4.15, έχει μάθει ότι υπάρχει μια τοπική διεπαφή σε αυτό το δίκτυο. Αυτή είναι μια πραγματική αποκάλυψη και δεν είναι το ίδιο εύρημα με το «τα μέσα βγήκαν από την έξοδο του VPN». Η ανακάλυψη υποψηφίων και η δρομολόγηση πακέτων είναι ξεχωριστοί μηχανισμοί, και οι περισσότερες αναφορές διαρροών τους συγχωνεύουν σε μία ετυμηγορία. Ποια από τις δύο περιπτώσεις βλέπετε καθορίζει τη διόρθωση.
Η συλλογή εκτελείται πριν σταλεί οτιδήποτε
Το πρόγραμμα περιήγησης απαριθμεί τις τοπικές διεπαφές, στέλνει αίτημα σύνδεσης σε διακομιστή STUN και ζητά από διακομιστή TURN μια εκχώρηση, και μετά γράφει τα αποτελέσματα στην περιγραφή συνεδρίας ως γραμμές υποψηφίων. Όλα αυτά ολοκληρώνονται χωρίς κλήση, χωρίς μέσα και χωρίς συνομιλητή. Ένας κατάλογος υποψηφίων είναι επομένως αρχείο ανακάλυψης, όχι μεταφοράς.
Τα σύγχρονα προγράμματα περιήγησης μπορούν να αντικαταστήσουν την κυριολεκτική διεύθυνση ενός υποψηφίου host με όνομα mDNS .local, ώστε η σελίδα να μην μπορεί να διαβάσει την ιδιωτική IP. Το τοπικό δίκτυο εξακολουθεί να βλέπει τα ερωτήματα πολλαπλής μετάδοσης που επιλύουν αυτό το όνομα, άρα η διεύθυνση κρύβεται από την εφαρμογή αντί να αφαιρείται από το δίκτυο.
Η σειρά έχει επίσης σημασία: μια νέα φόρτωση σελίδας συλλέγει νέο σύνολο, με διαφορετική εκχώρηση TURN και πιθανώς διαφορετική ανακλαστική αντιστοίχιση. Δύο εκτελέσεις που διαφωνούν δεν είναι απαραίτητα δύο διαφορετικές διαμορφώσεις.
Τρεις τύποι υποψηφίων, τρία είδη αποδείξεων
Κάθε γραμμή προέρχεται από διαφορετική παρατήρηση. Κάθε τύπος απαντά σε διαφορετικό ερώτημα, και ο πίνακας τους χωρίζει με βάση το τι μπορούν και τι δεν μπορούν να αποδείξουν.
| Candidate | Derived from | What it establishes | What it cannot establish |
|---|---|---|---|
| Host | An interface on the device | A local address exists in that network | That the peer can reach it |
| Server-reflexive | A STUN binding response | How a NAT mapped this source | Which exit the media will use |
| Peer-reflexive | A connectivity check that arrived | An address seen by the far side | That it was ever advertised |
| Relay | A TURN allocation | The relay server accepted the session | That the relay carries the call |
Ένας υποψήφιος αναμετάδοσης συγχέεται συνήθως με τη διεύθυνση διαδικτύου του χρήστη. Ανήκει στον διακομιστή TURN, και η παρουσία του δείχνει ότι υπήρχε διαθέσιμος αναμεταδότης, όχι ότι το πρόγραμμα περιήγησης τον επέλεξε. Η ίδια σύγχυση λειτουργεί αντίστροφα με τους υποψηφίους host, όπου ένα όνομα mDNS κρύβει τη διεύθυνση από τη σελίδα ενώ το δίκτυο εξακολουθεί να μεταφέρει τα ερωτήματα. Διαβάστε τον τύπο πριν διαβάσετε την τιμή.
Το επιλεγμένο ζεύγος απαντά στο ερώτημα δρομολόγησης
Το ICE ζευγνύει κάθε τοπικό υποψήφιο με κάθε απομακρυσμένο, εκτελεί ελέγχους συνδεσιμότητας σε κάθε ζεύγος και προτείνει νικητή. Αυτό το προτεινόμενο ζεύγος, ορατό στα διαγνωστικά του ίδιου του προγράμματος περιήγησης, μεταφέρει τα μέσα. Όλα τα άλλα στη λίστα είναι μια πιθανότητα που έχασε.
Ο νικητής σας λέει το σχήμα της διαδρομής. Η αναμετάδοση προς αναμετάδοση περνά από τον διακομιστή TURN, ένα ζεύγος host μένει στο τοπικό δίκτυο, και ένα διακομιστικά ανακλαστικό ζεύγος πηγαίνει απευθείας μέσω NAT. Αυτό είναι το γεγονός που χρειάζεται ένας έλεγχος VPN, και είναι διαφορετικό γεγονός από τη λίστα διευθύνσεων. Δύο κλήσεις με πανομοιότυπες λίστες υποψηφίων μπορούν να πάρουν διαφορετικά ζεύγη.
Οι μη επιλεγμένοι υποψήφιοι συλλέχθηκαν παρόλα αυτά, και η συλλογή είναι δικτυακή κίνηση που φεύγει από το μηχάνημα. Μια κλήση που τελικά χρησιμοποίησε τον αναμεταδότη δεν σημαίνει ότι δεν αποκαλύφθηκε τίποτα όσο χτιζόταν η λίστα.
Οι έλεγχοι αντιστοιχούν σε στόχους, όχι σε βαθμολογία διαρροής
Η προδιαγραφή του WebRTC για χειρισμό IP περιγράφει αρκετές πολιτικές: χρήση μόνο της διεπαφής που μεταφέρει την προεπιλεγμένη διαδρομή, χρήση όλων των διεπαφών, και απενεργοποίηση του UDP χωρίς μεσολάβηση ώστε η κίνηση να πρέπει να περάσει από αναμεταδότη ή διακομιστή μεσολάβησης. Κάθε μία ανταλλάσσει συνδεσιμότητα και καθυστέρηση με διαφορετικό είδος έκθεσης. Ποια εφαρμόζει ένα πρόγραμμα περιήγησης, και με ποιο όνομα, διαφέρει ανά πλατφόρμα και έκδοση.
Επιλέξτε την πολιτική με βάση τον στόχο. Η απόκρυψη τοπικών διευθύνσεων από μια σελίδα είναι ένας στόχος· η αποτροπή άμεσης κίνησης ομότιμων είναι άλλος· η διατήρηση κάθε πακέτου μέσα στη σήραγγα είναι τρίτος. Ο πρώτος αφορά κυρίως το τι μαθαίνει η εφαρμογή, ο δεύτερος ποια διαδρομή επιτρέπεται, και ο τρίτος πρέπει να επιβάλλεται και στα όρια της πλατφόρμας ή του VPN.
Όποιον έλεγχο κι αν επιλέξετε, επαληθεύστε και τα δύο μισά: εκτελέστε τη δοκιμή συλλογής και καταγράψτε τους τύπους υποψηφίων, και μετά εξετάστε το επιλεγμένο ζεύγος κατά τη διάρκεια πραγματικής συνεδρίας. Μια καθαρή λίστα διευθύνσεων με άμεση διαδρομή μέσων είναι ακόμη μια διαδρομή που δεν είχατε σκοπό.