Έχετε μια διεύθυνση, η θύρα απαντά και ένας πελάτης τη δέχεται χωρίς παράπονο. Τίποτα από αυτά δεν κάνει ένα relay του Tor τελικό σημείο VPN, και το λάθος είναι ακριβό επειδή το προφίλ εισάγεται καθαρά και αποτυγχάνει αργότερα στη χειραψία. Χρησιμοποιώ τους τέσσερις ελέγχους παρακάτω με σειρά· ο καθένας έχει συνθήκη διακοπής, και η έγκαιρη διακοπή είναι το νόημα. Αν αποτύχει ο πρώτος έλεγχος, οι υπόλοιποι δεν μπορούν να σας βοηθήσουν.

Ελέγξτε τι εξυπηρετεί πραγματικά η θύρα

Μια ανοιχτή θύρα αποδεικνύει ακροατή, τίποτα περισσότερο. Το ORPort ενός relay μιλά τις δικές του κυψέλες του Tor μετά από χειραψία TLS, οπότε μια επιτυχημένη δοκιμή TLS δεν σας λέει σχεδόν τίποτα για το αν εκεί γίνεται δεκτό ένα πρωτόκολλο VPN:

nc -vz 203.0.113.20 443
openssl s_client -connect 203.0.113.20:443 -brief < /dev/null

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

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

Ελέγξτε τον ρόλο του relay, όχι το μέγεθος του δικτύου

Οι ρόλοι του relay κάνουν διαφορετικές δουλειές. Ένας guard είναι το πρώτο άλμα για τους πελάτες, ένα μεσαίο relay προωθεί κυκλώματα ανάμεσα σε άλλα relay, ένα exit είναι αυτό που αγγίζει προορισμούς, και μια γέφυρα είναι ένα μη δημόσιο σημείο εισόδου που διανέμεται μέσω του BridgeDB. Το γλωσσάρι του Tor κρατά αυτούς τους ορισμούς χωριστούς, και το να είναι κανείς προσβάσιμος είναι μέρος κάθε ρόλου, ενώ η άδεια να εξυπηρετεί αυθαίρετους πελάτες δεν είναι μέρος κανενός από αυτούς.

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

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

Ελέγξτε αν ο ακροατής SOCKS είναι τοπικός ή δημόσιος

Ο πελάτης του Tor εκθέτει διεπαφή SOCKS για εφαρμογές στο ίδιο μηχάνημα, από προεπιλογή στο loopback. Αυτός ο ακροατής είναι τοπική διευκόλυνση, όχι υπηρεσία που προσφέρει ένα relay στο διαδίκτυο, και το να τον αντιμετωπίζετε ως δημόσιο διαμεσολαβητή είναι ο τρόπος με τον οποίο οι άνθρωποι καταλήγουν να τρέχουν ένα ανοιχτό relay που δεν σκόπευαν:

ss -ltnp | grep 9050
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org

Η διεύθυνση δέσμευσης είναι η ένδειξη. Ένα SocksPort στο 127.0.0.1:9050 κάνει τη δουλειά του· ένα που ακούει στο 0.0.0.0 και είναι προσβάσιμο από έξω είναι ανοιχτός διαμεσολαβητής, και οι δικοί του έλεγχοι πολιτικής πρόσβασης του Tor υπάρχουν ακριβώς επειδή αυτή η έκθεση είναι πρόβλημα και όχι χαρακτηριστικό.

Για μια εφαρμογή που χρειάζεται Tor, στρέψτε την στη θύρα loopback και αφήστε το Tor να επιλύει ονόματα, όπως κάνει η μορφή socks5h παραπάνω. Μην αντικαθιστάτε τη διεύθυνση του relay με αυτή τη θύρα· το relay δεν προσφέρει τη διεπαφή που ζητά η εφαρμογή σας.

Ελέγξτε ότι το προφίλ VPN αντιστοιχεί σε πραγματικό τελικό σημείο

Ένα προφίλ VPN είναι δέσμη προσδοκιών: το OpenVPN χρειάζεται το πιστοποιητικό του διακομιστή ή την CA, πιστοποιητικό πελάτη και κλειδί, και συνήθως κλειδί TLS, ενώ το WireGuard χρειάζεται το δημόσιο κλειδί του απέναντι κόμβου, τελικό σημείο και επιτρεπόμενες IP. Τίποτα από αυτά δεν μπορεί να παραχθεί από μια διεύθυνση και μια ανοιχτή θύρα, γι' αυτό ένα προφίλ φτιαγμένο έτσι αποτυγχάνει στην πρώτη ανταλλαγή και όχι στη σύνδεση.

Όταν σας δίνουν ένα προφίλ, επαληθεύστε το απέναντι σε τελικό σημείο που ελέγχετε ή πάροχο που μπορείτε να ταυτοποιήσετε:

wg show
openvpn --config client.ovpn --verb 4

Στο αρχείο καταγραφής του OpenVPN, ένα σφάλμα διαπραγμάτευσης TLS ονομάζει άμεσα την αναντιστοιχία· στο wg show, ένας κόμβος χωρίς γραμμή χειραψίας δεν έχει ολοκληρώσει ποτέ μία. Και τα δύο είναι πιο κατατοπιστικά από τον περιστρεφόμενο δείκτη του πελάτη, και τα δύο δείχνουν σε υλικό κλειδιών ή πρωτόκολλο και όχι στο Tor.

Ελέγξτε ποια προστασία χρειάζεστε πραγματικά

Αυτός είναι ο έλεγχος που αποφασίζει την αρχιτεκτονική. Το Tor Browser σάς δίνει απομόνωση κυκλώματος και άμυνες αποτυπώματος που δεν σας δίνει ένα VPN· ένα VPN αλλάζει τη διεύθυνση που βλέπει ένας προορισμός και σας ταυτοποιεί σε έναν πάροχο. Η επιλογή ανάμεσά τους είναι ζήτημα μοντέλου απειλής, όχι συμβατότητας, και η σύγχυσή τους παράγει μια ρύθμιση που δείχνει ιδιωτική και δεν είναι.

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

Πριν εισαγάγετε οτιδήποτε, επιβεβαιώστε και τα τέσσερα:

  • Η θύρα ολοκληρώνει τη χειραψία του πρωτοκόλλου σας, όχι μόνο μια σύνδεση TCP.
  • Γνωρίζετε τον ρόλο του κεντρικού υπολογιστή και δεν αντιμετωπίζετε την προώθηση ως άδεια.
  • Ο ακροατής SOCKS που χρησιμοποιείτε είναι loopback και δικός σας, όχι δημόσια θύρα στο relay κάποιου άλλου.
  • Τα κλειδιά ή τα πιστοποιητικά του προφίλ ανήκουν στο τελικό σημείο στο οποίο συνδέεστε.

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