Αρχική σελίδα » πως να » Πώς να χρησιμοποιήσετε τη σήραγγα SSH για να αποκτήσετε πρόσβαση σε περιορισμένους διακομιστές και να αναζητήσετε με ασφάλεια

    Πώς να χρησιμοποιήσετε τη σήραγγα SSH για να αποκτήσετε πρόσβαση σε περιορισμένους διακομιστές και να αναζητήσετε με ασφάλεια

    Ένας πελάτης SSH συνδέεται με ένα διακομιστή Secure Shell, ο οποίος σας επιτρέπει να εκτελέσετε εντολές τερματικού σαν να κάνατε μπροστά από έναν άλλο υπολογιστή. Αλλά ένα πρόγραμμα-πελάτη SSH σας επιτρέπει επίσης να "τούνετε" μια θύρα μεταξύ του τοπικού σας συστήματος και ενός απομακρυσμένου διακομιστή SSH.

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

    Μπορείτε να το κάνετε αυτό με το ssh εντολή που περιλαμβάνεται στο Linux, macOS και άλλα λειτουργικά συστήματα που μοιάζουν με UNIX. Στα Windows, το οποίο δεν περιλαμβάνει μια ενσωματωμένη εντολή ssh, συνιστούμε το δωρεάν εργαλείο PuTTY για σύνδεση με διακομιστές SSH. Υποστηρίζει και σήραγγα SSH.

    Προώθηση τοπικών λιμένων: Απομακρύνετε απομακρυσμένους πόρους στο τοπικό σας σύστημα

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

    Για να το κάνετε αυτό, δημιουργείτε μια σύνδεση SSH με το διακομιστή SSH και ενημερώστε τον πελάτη να μεταφέρει την επισκεψιμότητα από μια συγκεκριμένη θύρα από τον τοπικό σας υπολογιστή - για παράδειγμα, τη θύρα 1234 - στη διεύθυνση του διακομιστή της βάσης δεδομένων και στη θύρα του στο δίκτυο γραφείου. Έτσι, όταν προσπαθείτε να αποκτήσετε πρόσβαση στο διακομιστή βάσης δεδομένων στη θύρα 1234 στον τρέχοντα υπολογιστή σας, "localhost", αυτή η επισκεψιμότητα διοχετεύεται αυτόματα μέσω της σύνδεσης SSH και αποστέλλεται στον διακομιστή βάσης δεδομένων. Ο διακομιστής SSH βρίσκεται στη μέση, προωθώντας την κυκλοφορία εμπρός και πίσω. Μπορείτε να χρησιμοποιήσετε οποιαδήποτε γραμμή εντολών ή γραφικό εργαλείο για να αποκτήσετε πρόσβαση στον διακομιστή βάσης δεδομένων σαν να εκτελείται στον τοπικό σας υπολογιστή.

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

    ssh -L τοπικό_πολιτικό: remote_address: remote_port [email protected]

    Για παράδειγμα, ας υποθέσουμε ότι ο διακομιστής βάσης δεδομένων στο γραφείο σας βρίσκεται στο 192.168.1.111 στο δίκτυο γραφείου. Έχετε πρόσβαση στο διακομιστή SSH του γραφείου στη διεύθυνση ssh.youroffice.com , και ο λογαριασμός χρήστη σας στον διακομιστή SSH είναι βαρίδι . Σε αυτή την περίπτωση, η εντολή σας θα μοιάζει με αυτό:

    ssh-Λ 8888: 192.168.1.111: 1234 [email protected]

    Μετά την εκτέλεση αυτής της εντολής, θα έχετε τη δυνατότητα πρόσβασης στον διακομιστή βάσης δεδομένων στη θύρα 8888 στο localhost. Έτσι, εάν ο διακομιστής βάσης δεδομένων πρόσφερε πρόσβαση στο διαδίκτυο, μπορείτε να συνδέσετε το http: // localhost: 8888 στο πρόγραμμα περιήγησης ιστού σας για να έχετε πρόσβαση σε αυτό. Αν είχατε ένα εργαλείο γραμμής εντολών που χρειάζεται τη διεύθυνση δικτύου μιας βάσης δεδομένων, θα το τοποθετήσετε στο localhost: 8888. Όλη η κίνηση που αποστέλλεται στη θύρα 8888 στον υπολογιστή σας θα μεταφερθεί στο 192.168.1.111:1234 στο δίκτυο γραφείου σας.

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

    Σε αυτήν την περίπτωση, θα μπορούσατε να εκτελέσετε μια εντολή όπως η ακόλουθη:

    ssh -L 8888: localhost: 1234 [email protected]

    Όταν προσπαθείτε να αποκτήσετε πρόσβαση στον διακομιστή βάσης δεδομένων στη θύρα 8888 στον τρέχοντα υπολογιστή σας, η κίνηση θα σταλεί μέσω της σύνδεσης SSH. Όταν φτάσει στο σύστημα που τρέχει το διακομιστή SSH, ο SSH server θα το στείλει στη θύρα 1234 στο "localhost", που είναι ο ίδιος υπολογιστής που τρέχει τον ίδιο τον SSH server. Έτσι, το "localhost" στην παραπάνω εντολή σημαίνει "localhost" από την οπτική γωνία του απομακρυσμένου διακομιστή.

    Για να το κάνετε αυτό στην εφαρμογή PuTTY στα Windows, επιλέξτε Σύνδεση> SSH> Σήραγγες. Επιλέξτε την επιλογή "Τοπική". Για "Θύρα προέλευσης", εισαγάγετε την τοπική θύρα. Για "Προορισμός", πληκτρολογήστε τη διεύθυνση προορισμού και τη θύρα στη φόρμα remote_address: remote_port.

    Για παράδειγμα, αν θέλετε να ρυθμίσετε την ίδια σήραγγα SSH όπως παραπάνω, θα εισάγετε 8888 ως θύρα προέλευσης και localhost: 1234 ως προορισμό. Κάντε κλικ στην επιλογή "Προσθήκη" στη συνέχεια και στη συνέχεια κάντε κλικ στο "Άνοιγμα" για να ανοίξετε τη σύνδεση SSH. Θα πρέπει επίσης να εισαγάγετε τη διεύθυνση και τη θύρα του ίδιου του διακομιστή SSH στην κύρια οθόνη "Συνεδρία" πριν συνδεθείτε, φυσικά.

    Προώθηση απομακρυσμένης θύρας: Κάνετε τοπικούς πόρους προσβάσιμοι σε απομακρυσμένο σύστημα

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

    Υποθέτοντας ότι μπορείτε να αποκτήσετε πρόσβαση σε έναν απομακρυσμένο διακομιστή SSH, μπορείτε να συνδεθείτε σε αυτόν τον διακομιστή SSH και να χρησιμοποιήσετε την προώθηση απομακρυσμένων θυρών. Ο πελάτης SSH θα ενημερώσει τον διακομιστή να προωθήσει μια συγκεκριμένη θύρα-πχ. Θύρα 1234-στο διακομιστή SSH σε μια συγκεκριμένη διεύθυνση και θύρα στον τρέχοντα υπολογιστή σας ή στο τοπικό σας δίκτυο. Όταν κάποιος αποκτήσει πρόσβαση στη θύρα 1234 στον εξυπηρετητή SSH, αυτή η επισκεψιμότητα θα "συντονιστεί" αυτόματα μέσω της σύνδεσης SSH. Οποιοσδήποτε έχει πρόσβαση στον διακομιστή SSH θα έχει πρόσβαση στον διακομιστή ιστού στον υπολογιστή σας. Αυτός είναι ουσιαστικά ένας τρόπος για τη σήραγγα μέσω τείχους προστασίας.

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

    ssh -R remote_port: τοπική διεύθυνση: local_port [email protected]

    Ας υποθέσουμε ότι θέλετε να κάνετε μια εφαρμογή διακομιστή να ακούει στη θύρα 1234 στο τοπικό σας υπολογιστή που είναι διαθέσιμη στη θύρα 8888 στον απομακρυσμένο διακομιστή SSH. Η διεύθυνση του διακομιστή SSH είναι ssh.youroffice.com και το όνομα χρήστη σας στο διακομιστή SSH είναι βαρίδι. Θα εκτελέσετε την ακόλουθη εντολή:

    ssh -R 8888: localhost: 1234 [email protected]

    Κάποιος μπορεί στη συνέχεια να συνδεθεί στον εξυπηρετητή SSH στη θύρα 8888 και αυτή η σύνδεση θα διοχετευθεί στην εφαρμογή διακομιστή που εκτελείται στη θύρα 1234 στον τοπικό υπολογιστή που ορίσατε τη σύνδεση από.

    Για να το κάνετε αυτό στο PuTTY στα Windows, επιλέξτε Connection> SSH> Tunnels. Επιλέξτε την επιλογή "Απομακρυσμένη". Για "Θύρα προέλευσης", εισάγετε την απομακρυσμένη θύρα. Για το "Προορισμός", εισαγάγετε τη διεύθυνση προορισμού και τη θύρα στη φόρμα local_address: local_port.

    Για παράδειγμα, αν θέλετε να ρυθμίσετε το παραπάνω παράδειγμα, θα εισάγετε 8888 ως θύρα προέλευσης και localhost: 1234 ως προορισμό. Κάντε κλικ στην επιλογή "Προσθήκη" στη συνέχεια και στη συνέχεια κάντε κλικ στο "Άνοιγμα" για να ανοίξετε τη σύνδεση SSH. Θα πρέπει επίσης να εισαγάγετε τη διεύθυνση και τη θύρα του ίδιου του διακομιστή SSH στην κύρια οθόνη "Συνεδρία" πριν συνδεθείτε, φυσικά.

    Οι χρήστες θα μπορούσαν στη συνέχεια να συνδεθούν στη θύρα 8888 στον εξυπηρετητή SSH και η κυκλοφορία τους θα γίνει tunneling στη θύρα 1234 στο τοπικό σας σύστημα.

    Από προεπιλογή, ο απομακρυσμένος διακομιστής SSH θα ακούει μόνο συνδέσεις από τον ίδιο κεντρικό υπολογιστή. Με άλλα λόγια, μόνο οι άνθρωποι στο ίδιο σύστημα με τον ίδιο το διακομιστή SSH θα μπορούν να συνδεθούν. Αυτό είναι για λόγους ασφαλείας. Θα χρειαστεί να ενεργοποιήσετε την επιλογή "GatewayPorts" στο sshd_config στον απομακρυσμένο διακομιστή SSH, αν θέλετε να παρακάμψετε αυτή τη συμπεριφορά.

    Δυναμική προώθηση παραμέτρων: Χρησιμοποιήστε τον SSH Server ως διακομιστή μεσολάβησης

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

    Για παράδειγμα, ας υποθέσουμε ότι χρησιμοποιείτε ένα δημόσιο δίκτυο Wi-Fi. Θέλετε να περιηγηθείτε σίγουρα χωρίς να σας περιμένουν. Αν έχετε πρόσβαση σε ένα διακομιστή SSH στο σπίτι, μπορείτε να συνδεθείτε σε αυτόν και να χρησιμοποιήσετε τη δυναμική προώθηση των θυρών. Ο πελάτης SSH θα δημιουργήσει έναν διακομιστή μεσολάβησης SOCKS στον υπολογιστή σας. Όλη η επισκεψιμότητα που αποστέλλεται στον εν λόγω διακομιστή μεσολάβησης θα αποστέλλεται μέσω της σύνδεσης διακομιστή SSH. Κανείς που παρακολουθεί το δημόσιο δίκτυο Wi-Fi δεν θα μπορεί να παρακολουθεί την περιήγησή σας ή να λογοκρίνει τους ιστότοπους στους οποίους μπορείτε να έχετε πρόσβαση. Από την οπτική γωνία των ιστοσελίδων που επισκέπτεστε, θα είναι σαν να κάθεστε μπροστά από τον υπολογιστή σας στο σπίτι. Αυτό σημαίνει επίσης ότι θα μπορούσατε να χρησιμοποιήσετε αυτό το τέχνασμα για να αποκτήσετε πρόσβαση σε ιστότοπους μόνο για τις ΗΠΑ ενώ είστε εκτός των ΗΠΑ - υποθέτοντας ότι έχετε πρόσβαση σε διακομιστή SSH στις ΗΠΑ, φυσικά.

    Ως ένα άλλο παράδειγμα, μπορεί να θέλετε να έχετε πρόσβαση σε μια εφαρμογή διακομιστή μέσων που έχετε στο οικιακό σας δίκτυο. Για λόγους ασφαλείας, μπορείτε να έχετε μόνο έναν διακομιστή SSH εκτεθειμένο στο Internet. Δεν επιτρέπετε εισερχόμενες συνδέσεις από το Internet στην εφαρμογή διακομιστή μέσων. Μπορείτε να ρυθμίσετε τη δυναμική προώθηση των θυρών, να διαμορφώσετε ένα πρόγραμμα περιήγησης στο Web για να χρησιμοποιήσετε το διακομιστή μεσολάβησης SOCKS και, στη συνέχεια, να έχετε πρόσβαση σε διακομιστές που εκτελούνται στο οικιακό σας δίκτυο μέσω του προγράμματος περιήγησης ιστού σαν να καθίστε μπροστά από το σύστημα SSH στο σπίτι σας. Για παράδειγμα, αν ο διακομιστής μέσων σας βρίσκεται στη θύρα 192.168.1.123 στο οικιακό σας δίκτυο, μπορείτε να συνδέσετε τη διεύθυνση 192.168.1.123 σε οποιαδήποτε εφαρμογή που χρησιμοποιεί το διακομιστή μεσολάβησης SOCKS και θα έχετε πρόσβαση στο διακομιστή πολυμέσων σαν να βρίσκεστε στο οικιακό σας δίκτυο.

    Για να χρησιμοποιήσετε δυναμική προώθηση, εκτελέστε την εντολή ssh με το -ρε επιχείρημα, όπως έτσι:

    ssh -D local_port [email protected]

    Για παράδειγμα, ας πούμε ότι έχετε πρόσβαση σε ένα διακομιστή SSH στη διεύθυνση ssh.yourhome.com και το όνομα χρήστη σας στο διακομιστή SSH είναι βαρίδι . Θέλετε να χρησιμοποιήσετε δυναμική προώθηση για να ανοίξετε ένα διακομιστή μεσολάβησης SOCKS στη θύρα 8888 στον τρέχοντα υπολογιστή. Θα εκτελέσετε την ακόλουθη εντολή:

    ssh-D 8888 [email protected]

    Στη συνέχεια, μπορείτε να διαμορφώσετε ένα πρόγραμμα περιήγησης ιστού ή άλλη εφαρμογή για να χρησιμοποιήσετε την τοπική διεύθυνση IP (127.0.01) και τη θύρα 8888. Όλη η επισκεψιμότητα από την εφαρμογή αυτή θα ανακατευθυνθεί μέσω της σήραγγας.

    Για να το κάνετε αυτό στο PuTTY στα Windows, επιλέξτε Connection> SSH> Tunnels. Επιλέξτε την επιλογή "Δυναμική". Για "Θύρα προέλευσης", εισαγάγετε την τοπική θύρα.

    Για παράδειγμα, αν θέλετε να δημιουργήσετε έναν διακομιστή μεσολάβησης SOCKS στη θύρα 8888, θα εισάγετε 8888 ως θύρα προέλευσης. Κάντε κλικ στην επιλογή "Προσθήκη" στη συνέχεια και στη συνέχεια κάντε κλικ στο "Άνοιγμα" για να ανοίξετε τη σύνδεση SSH. Θα πρέπει επίσης να εισαγάγετε τη διεύθυνση και τη θύρα του ίδιου του διακομιστή SSH στην κύρια οθόνη "Συνεδρία" πριν συνδεθείτε, φυσικά.

    Στη συνέχεια, μπορείτε να διαμορφώσετε μια εφαρμογή για να αποκτήσετε πρόσβαση στο διακομιστή μεσολάβησης SOCKS στον τοπικό υπολογιστή σας (δηλαδή διεύθυνση IP 127.0.0.1, η οποία δείχνει στον τοπικό σας υπολογιστή) και να καθορίσετε τη σωστή θύρα.

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

    Όταν κάνετε κάτι τέτοιο στον Firefox, επιλέξτε "Χειροκίνητη διαμόρφωση διακομιστή μεσολάβησης", πληκτρολογήστε "127.0.0.1" στο πλαίσιο υποδοχής SOCKS και εισαγάγετε τη δυναμική θύρα στο πλαίσιο "Θύρα". Αφήστε κενό τα παράθυρα HTTP Proxy, SSL Proxy και FTP Proxy.

    Η σήραγγα θα παραμείνει ενεργή και ανοιχτή για όσο διάστημα έχετε ανοίξει τη σύνδεση σύνδεσης SSH. Όταν τερματίσετε τη συνεδρία SSH και αποσυνδεθείτε από ένα διακομιστή, η σήραγγα θα κλείσει επίσης. Απλώς επανασυνδεθείτε με την κατάλληλη εντολή (ή τις κατάλληλες επιλογές στο PuTTY) για να ανοίξετε ξανά τη σήραγγα.