3 τρόποι για να ασφαλίσετε έναν διακομιστή SSH σε Linux

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

Αλλάξτε την προεπιλεγμένη θύρα σύνδεσης

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

ssh [email protected]

Μόλις συνδεθείτε, μεταβείτε από έναν κανονικό χρήστη στο Root. Εάν έχετε ενεργοποιημένο τον λογαριασμό Root, η σύνδεση με το su είναι μια καλή επιλογή. Διαφορετικά, θα χρειαστεί να αποκτήσετε πρόσβαση με το sudo.

su -

ή

sudo -s

Τώρα που έχετε πρόσβαση διαχειριστή, ανοίξτε το αρχείο διαμόρφωσης SSH στο Nano.

nano /etc/ssh/sshd_config

Κάντε κύλιση στο αρχείο ρυθμίσεων για τη “Θύρα 22”. Αφαιρέστε το # αν υπάρχει και μετά αλλάξτε το “22” σε άλλο αριθμό. Συνήθως, αρκεί μια θύρα πάνω από 100 ή ακόμα και μία στο εύρος 1.000. Αφού αλλάξετε τον αριθμό θύρας, πατήστε το συνδυασμό πληκτρολογίου Ctrl + O για να αποθηκεύσετε τις αλλαγές. Στη συνέχεια, βγείτε από το πρόγραμμα επεξεργασίας πατώντας Ctrl + X.

  Πώς να χρησιμοποιήσετε την εντολή mkfs στο Linux

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

systemctl restart sshd

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

reboot

Μετά την επανεκκίνηση του δαίμονα (ή του μηχανήματος), το SSH δεν θα είναι προσβάσιμο μέσω της θύρας 22. Ως αποτέλεσμα, η σύνδεση μέσω SSH απαιτεί τον μη αυτόματο καθορισμό της θύρας.

Σημείωση: φροντίστε να αλλάξετε το “1234” με τη θύρα που έχει οριστεί στο αρχείο διαμόρφωσης SSH.

ssh -p 1234 [email protected]

Απενεργοποίηση σύνδεσης με κωδικό πρόσβασης

Ένας άλλος πολύ καλός τρόπος για να ασφαλίσετε έναν διακομιστή SSH είναι να αφαιρέσετε τη σύνδεση με κωδικό πρόσβασης και αντ’ αυτού να μεταβείτε στη σύνδεση μέσω κλειδιών SSH. Η μετάβαση στη διαδρομή κλειδιού SSH δημιουργεί έναν κύκλο εμπιστοσύνης μεταξύ του διακομιστή SSH και των απομακρυσμένων μηχανημάτων που έχουν το κλειδί σας. Είναι ένα κρυπτογραφημένο αρχείο κωδικού πρόσβασης που είναι δύσκολο να σπάσει.

  Πώς να ρυθμίσετε το Rclone για Linux

Ρυθμίστε με ένα κλειδί SSH στον διακομιστή σας. Όταν έχετε ρυθμίσει τα κλειδιά, ανοίξτε ένα τερματικό και ανοίξτε το αρχείο διαμόρφωσης SSH.

su -

ή

sudo -s

Στη συνέχεια, ανοίξτε τη διαμόρφωση στο Nano με:

nano /etc/ssh/sshd_config

Από προεπιλογή, οι διακομιστές SSH χειρίζονται τον έλεγχο ταυτότητας μέσω του κωδικού πρόσβασης του χρήστη. Εάν έχετε έναν ασφαλή κωδικό πρόσβασης, αυτός είναι ένας καλός τρόπος να το κάνετε, αλλά ένα κρυπτογραφημένο κλειδί SSH σε αξιόπιστα μηχανήματα είναι πιο γρήγορο, πιο βολικό και ασφαλές. Για να ολοκληρώσετε τη μετάβαση σε “σύνδεση χωρίς κωδικό πρόσβασης”, κοιτάξτε στο αρχείο διαμόρφωσης SSH. Μέσα σε αυτό το αρχείο, πραγματοποιήστε κύλιση και βρείτε την καταχώρηση που λέει “PasswordAuthentication”.

Αφαιρέστε το σύμβολο # μπροστά από το “PasswordAuthentication” και βεβαιωθείτε ότι έχει τη λέξη “no” μπροστά του. Εάν όλα φαίνονται καλά, αποθηκεύστε τις αλλαγές στη διαμόρφωση SSH πατώντας Ctrl + O στο πληκτρολόγιο.

Αφού αποθηκεύσετε τη διαμόρφωση, κλείστε το Nano με Ctrl + X και επανεκκινήστε το SSHD για να εφαρμόσετε τις αλλαγές.

systemctl restart sshd

Εάν δεν χρησιμοποιείτε το systemd, δοκιμάστε να κάνετε επανεκκίνηση του SSH με αυτήν την εντολή:

service ssh restart

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

  Τα 6 καλύτερα εργαλεία εξόρυξης κρυπτονομισμάτων για Linux

Απενεργοποιήστε τον λογαριασμό ρίζας

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

Σημείωση: βεβαιωθείτε ότι οι χρήστες που μπορούν να έχουν πρόσβαση στα δικαιώματα Root μέσω sudo έχουν έναν ασφαλή κωδικό πρόσβασης ή η απενεργοποίηση του λογαριασμού υπερχρήστη είναι άσκοπη.

Για να απενεργοποιήσετε το Root, ανυψώστε το τερματικό σε δικαιώματα υπερχρήστη:

sudo -s

Η χρήση του sudo -s παρακάμπτει την ανάγκη σύνδεσης με το su και αντ’ αυτού χορηγεί ένα ριζικό κέλυφος μέσω του αρχείου sudoers. Τώρα που το κέλυφος έχει πρόσβαση υπερχρήστη, εκτελέστε την εντολή κωδικού πρόσβασης και κωδικοποιήστε τον λογαριασμό Root με –lock.

passwd --lock root

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