Επιστροφή στο blog

Δρομολόγηση κίνησης Web χωρίς VPN με χρήση SOCKS Tunnel

Δρομολόγηση κίνησης Web χωρίς VPN με χρήση SOCKS Tunnel

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

Ωστόσο, το VPN δεν είναι η μόνη μορφή διακομιστή μεσολάβησης (proxy server). Το SOCKS (Socket Secure) είναι ένα παρόμοιο πρωτόκολλο δικτύου που επιτρέπει την επικοινωνία με διακομιστές μέσω ενός τείχους προστασίας (firewall) δρομολογώντας την κίνηση του δικτύου εκ μέρους ενός πελάτη. Σε σύγκριση με το VPN, το SOCKS προσφέρει μεγαλύτερη ευελιξία και έλεγχο στη διαμόρφωση του δικτύου. Είναι χρήσιμο όταν δεν μπορείτε να εγκαταστήσετε τον πελάτη VPN ή δεν εμπιστεύεστε έναν πάροχο VPN.

Αυτός ο οδηγός θα δείξει πώς να δημιουργήσετε μια σήραγγα μεσολάβησης SSH SOCKS 5 και να δρομολογήσετε την κίνηση του ιστού σας μέσω αυτής της σήραγγας.

Προαπαιτούμενα

Για την παρουσίαση, χρησιμοποιήσαμε ένα τοπικό μηχάνημα που εκτελεί Ubuntu desktop και ένα απομακρυσμένο μηχάνημα που εκτελεί Ubuntu server. Πρέπει να έχετε ρυθμίσει το SSH πριν το κάνετε να λειτουργήσει ομαλά. Καθώς χρησιμοποιούμε διακομιστή μεσολάβησης SOCKS, για να δοκιμάσουμε τη σύνδεση, χρειαζόμαστε μια εφαρμογή που μπορεί να τον χρησιμοποιήσει. Firefox είναι ένα τέλειο παράδειγμα. Είναι ένα σύγχρονο πρόγραμμα περιήγησης ιστού που υποστηρίζει τη σήραγγα μεσολάβησης SOCKS 5.

Αν χρησιμοποιείτε Windows, τότε είτε χρησιμοποιείτε το WSL (Windows Subsystem for Linux) για να δημιουργήσετε ένα τοπικό περιβάλλον Linux είτε χρησιμοποιείτε το PuTTY, μια εφαρμογή ανοιχτού κώδικα που μπορεί να εφαρμόσει διάφορα πρωτόκολλα δικτύου όπως Telnet, rlogin κ.λπ.

Διαμόρφωση της σήραγγας SOCKS

  • Ρύθμιση της σήραγγας SOCKS (macOS/Linux)

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

Η ακόλουθη εντολή SSH θα δημιουργήσει μια σήραγγα SOCKS προς τον απομακρυσμένο διακομιστή:

Ας αναλύσουμε την εντολή:

  • -i: Λέει στο SSH ποιο κλειδί SSH να χρησιμοποιήσει για τη σύνδεση.

  • -D: Λέει στο SSH ότι θέλουμε να δημιουργήσουμε μια σήραγγα SOCKS. Όσο για τη θύρα, χρησιμοποιούμε τη θύρα 1024. Δεν είναι σταθερή τιμή. Μπορείτε να επιλέξετε οποιαδήποτε θύρα μεταξύ 1024 και 65536.

  • -f: Η διαδικασία SSH θα εκτελεστεί στο παρασκήνιο.

  • -C: Το SSH θα συμπιέσει τα δεδομένα πριν τα στείλει στον απομακρυσμένο διακομιστή. Αυτό μπορεί να εξοικονομήσει κατανάλωση δεδομένων και να αυξήσει το πραγματικό εύρος ζώνης.

  • -q: Εκτέλεση του εργαλείου σε αθόρυβη λειτουργία.

  • -N: Λέει στο SSH ότι μετά τη δημιουργία της σήραγγας, δεν θα σταλεί καμία εντολή.

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

Routing grep ssh

Τώρα, μπορείτε να κλείσετε με ασφάλεια το παράθυρο του τερματικού. Η διαδικασία SSH θα λειτουργεί όπως προβλέπεται από το παρασκήνιο.

  • Ρύθμιση σήραγγας SOCKS (Windows)

Για τους χρήστες των Windows, η χρήση του PuTTY είναι μια ευκολότερη λύση. Αρχικά, πρέπει να download PuTTY:

Routing download putty

Μόλις εγκατασταθεί, εκκινήστε το PuTTY:

Routing putty screen1

Από την καρτέλα Session στο αριστερό πλαίσιο, εισαγάγετε το Host Name (or IP address) του διακομιστή σας. Όσο για το Connection type, επιλέξτε SSH. Στη συνέχεια, μεταβείτε στο Connection >> SSH >> Tunnels. Εδώ, κάτω από το πεδίο Destination, επιλέξτε τις επιλογές που εμφανίζονται στο στιγμιότυπο οθόνης:

Routing putty screen2

Στη συνέχεια, κάντε κλικ στο Open. Θα εμφανιστεί ένα παράθυρο τερματικού για τη σύνδεση στον απομακρυσμένο διακομιστή μέσω SSH. Συνδεθείτε στον απομακρυσμένο διακομιστή:

Routing putty screen 3

Εφαρμογή της σήραγγας SOCKS

Η σήραγγα έχει πλέον ρυθμιστεί. Οποιαδήποτε εφαρμογή υποστηρίζει SOCKS μπορεί να χρησιμοποιήσει τη σήραγγα. Για επίδειξη, ο Firefox είναι ένα εξαιρετικό παράδειγμα.

Αρχικά, ανοίξτε τον Firefox. Από την επάνω δεξιά γωνία, κάντε κλικ στο εικονίδιο του μενού. Μεταβείτε στο Settings:

ubuntu screen1

Στη συνέχεια, αναζητήστε proxyΚάντε κλικ στο Settings στο Configure how Firefox connects to the internet:

firefox preferences

Μετά από αυτό, επιλέξτε Manual proxy configuration. Όσο για το SOCKS Host, χρησιμοποιήστε localhost ή 127.0.0.1. Στη συνέχεια, για τη θύρα, εισαγάγετε τη θύρα που αφιερώσαμε για τη σήραγγα SOCKS. Μην ξεχάσετε να επιλέξετε SOCKS_v5:

firefox proxy conf

Τέλος, επιλέξτε την επιλογή Proxy DNS when using SOCKS_v5. Κάντε κλικ στο OK για να συνεχίσετε.

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

Επαναφορά του διακομιστή μεσολάβησης

Όταν δεν χρειάζεστε πλέον τη σύνδεση διαμεσολαβητή (proxy) στη σήραγγα SSH, μπορείτε να την απενεργοποιήσετε με ασφάλεια από τις ρυθμίσεις διαμεσολαβητή του Firefox:

Routing firefox reverting proxy conf

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

Κλείσιμο της σήραγγας SOCKS

  • Κλείσιμο της σήραγγας σε macOS/Linux

Για να κλείσουμε τη σήραγγα, πρέπει να τερματίσουμε χειροκίνητα τη διεργασία SSH. Χρειαζόμαστε το PID (αναγνωριστικό διεργασίας) της διεργασίας SSH. Η ακόλουθη εντολή θα αποκαλύψει τα PID όλων των εκτελούμενων διεργασιών SSH:

Σημειώστε τη διεργασία SSH που εκτελείται με την εντολή για τη δημιουργία της σήραγγας. Τερματίστε τη διεργασία:

Αν δεν έχει οριστεί καμία επιλογή, η kill εντολή θα στείλει ένα γενικό SIGTERM σήμα στη διεργασία-στόχο. Μπορείτε να μάθετε περισσότερα για τη διαχείριση διεργασιών Linux από αυτόν τον οδηγό.

  • Κλείσιμο της σήραγγας στα Windows

Κλείνοντας το παράθυρο του PuTTY θα πρέπει να κλείσει και η σύνδεση της σήραγγας.

Αντιμετώπιση προβλημάτων

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

  • Τείχος προστασίας (Firewall)

Εάν δεν μπορείτε να δημιουργήσετε σύνδεση λόγω περιορισμού του τείχους προστασίας, τότε είναι πιθανό το τείχος προστασίας να είναι ρυθμισμένο να αποκλείει τη σύνδεση στη θύρα 22. Αυτή είναι η προεπιλεγμένη θύρα που χρησιμοποιεί το SSH για να συνδεθεί σε απομακρυσμένα συστήματα. Ορισμένες θύρες παραμένουν ανοιχτές από προεπιλογή, για παράδειγμα, η θύρα 80 (γενική κίνηση ιστού) και η θύρα 443 (TLS, ασφαλής κίνηση ιστού).

Εάν ο διακομιστής SSH δεν εξυπηρετεί περιεχόμενο ιστού, τότε μπορούμε να χρησιμοποιήσουμε μία από τις προεπιλεγμένες θύρες ( 80 ή 443 ) αντί για τη θύρα 22. Συνιστάται η χρήση της θύρας 443 καθώς αναμένει κρυπτογραφημένη κίνηση από προεπιλογή. Θα κρυπτογραφήσει επίσης την εξερχόμενη κίνηση. Για να κάνετε την αλλαγή, πρέπει να τροποποιήσουμε το αρχείο ρυθμίσεων του SSH. Ανοίξτε το αρχείο σε έναν επεξεργαστή κειμένου:

Το SSH μπορεί να χρησιμοποιήσει πολλαπλές θύρες για το σκοπό του. Κυλήστε προς τα κάτω στο αρχείο ρυθμίσεων και βρείτε την ενότητα των θυρών (port):

Routing sshd config

Μόλις γίνουν οι αλλαγές, αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή. Επανεκκινήστε την υπηρεσία SSH για να εφαρμόσετε την αλλαγή:

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

Εάν η σύνδεση ήταν επιτυχής, μπορούμε να χρησιμοποιήσουμε με ασφάλεια τη θύρα 443 για τη σήραγγα SSH. Δείτε την αναθεωρημένη εντολή για τη δημιουργία της σήραγγας SOCKS:

Εδώ, η σημαία -p λέει στο SSH να χρησιμοποιήσει τη θύρα 443.

Τελικές σκέψεις

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

Καλή υπολογιστική!

author

Pranay Kapgate

Συγγραφέας · CloudSigma

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

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.