Πως να κάνετε το SSH περισσότερο ασφαλές

Εάν έχετε στην κατοχή σας ένα server και έχετε μια δημοφιλή ιστοσελίδα (ή κακούς φίλους) θα χρειαστεί να κάνετε την  SSH σύνδεση σας πιο ασφαλή. Αν παρατηρήσετε στον server σας ειδοποιήσεις για login failure alerts ή brute force detection αυτό το tutorial θα σας δείξει κάποιους από τους τρόπους που μπορείτε να κάνετε την SSH περισσότερο ασφαλή.

Αλλάξετε το Default Port

Η προεπιλεγμένη θύρα για SSH είναι η 22. Αυτό είναι το πρώτο port που ένας εισβολέας θα προσπαθήσει να σπάσει.  Μπορείτε με μια απλή αλλαγή να την αλλάξετε. Για να το κάνετε ακολουθήστε τα εξής βήματα:

Σκεφτείτε έναν αριθμό μεταξύ 0 έως το 65535. Αυτοί είναι οι αριθμοί που η  θύρας σας μπορεί να έχει. Δεν προτείνουμε να χρησιμοποιήσετε οτιδήποτε κάτω από 1024. Το εύρος μεταξύ 0-1023 είναι μια σειρά από θύρες που είναι γνωστές και πολλές εφαρμογές τις χρησιμοποιούν οπότε μπορεί να προκαλέσει προβλήματα σύγκρουσης. Για μια λίστα με τα γνωστά port κάντε κλικ εδώ.

Χρησιμοποιώντας το αγαπημένο σας editor (nano, pico, vi, vim, κλπ) ανοιχτε το / etc / ssh / sshd_config

# Vi / etc / ssh / sshd_config

Βρείτε τη γραμμή που μοιάζει με αυτό:

port 22

Μπορεί να είναι και έτσι:

# port 22

Αν η γραμμή είναι σε # αλλάξτε την. Η γραμμή πρέπει να μοιάζει κάπως έτσι:

port  1234

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

[BOX type=’notice’] Σημείωση: Εάν έχετε firewall βεβαιωθείτε ότι έχετε ανοίξει το νέο port. [/BOX]

Ας συνεχίσουμε όμως, κρατήστε το αρχείο sshd_config ανοιχτό και ακολουθήστε τα επόμενα βήματα.

Protocol 1,2

Η SSH έχει δύο πρωτόκολλα, 1 και 2. Το Protocol 1 είναι λιγότερο ασφαλή άρα καλύτερα να μην το χρησιμοποιήσετε.
Αναζητήστε το  Protocol. Θα πρέπει να βρείτε αυτό:

Protocol 1,2

ή μπορεί να υπάρχει το:

# Protocol  2

Αποσχολιάσετε αν χρειάζεται και αφαιρέστε το 1, αφήνοντας μόνο το πρωτόκολλο 2:

Protocol 2

Τώρα μόνο το πρωτοκόλλου 2 μπορεί να χρησιμοποιηθεί για την SSH σύνδεση σας.

Είσοδος Root

Ποτέ δεν θα πρέπει να επιτρέπετε στον διαχειριστή να συνδεθεί εξ αποστάσεως. Οι περισσότερες επιθέσεις θα προσπαθήσουν να αποκτήσουν πρόσβαση root έτσι η απενεργοποίηση είσοδου ως root θα τους αποτρέψει. Θα πρέπει να απενεργοποιήσετε αυτό στο αρχείο sshd_config σας:

Αναζήτηση για PermitRootLogin, θα πρέπει να μοιάζει με αυτό:

Yes PermitRootLogin

ή

# PermitRootLogin No

Αποσχολιάστε αν χρειαστεί.
Αυτό θα αποτρέψει οποιονδήποτε από τη σύνδεση στο μέσω SSH ως root χρήστη.

Κάντε το πιο δύσκολο

Δεδομένου ότι οι περισσότερες επιθέσεις θα προέλθουν από brute force script, θέλετε να περιορίσετε τον αριθμό των προσπαθειών που μπορεί να εισάγει κάποιος στον κωδικό πρόσβασης. Αν δεν περιορίσετε τον αριθμό αυτό ή αν τον έχετε κρατήσει αρκετά υψηλό οι attackers θα προσπαθούν ξανά και ξανά και ξανά. Η Αλλαγή της θύρας παραπάνω, θα έρθει σε σύγκρουση με πολλες από αυτές τις επιθέσεις, αλλά αν ένας εισβολέας ανακαλύψει το νέο port, αυτή η ρύθμιση πρέπει να είναι χαμηλή, για να τον περιορίσετε:

Αναζητήστε το MaxAuthTries. Θα πρέπει να είναι κάπως έτσι:

# 6 MaxAuthTries

Αποσχολιάστε εάν είναι απαραίτητο και να αλλάξετε τον αριθμό από το προεπιλεγμένο (6) σε κάτι χαμηλότερο. Καλό είναι στις 3, αλλά μπορεί να θέλετε να το ρυθμίσετε πιο χαμηλά σε 2 ή ακόμη και σε 1.
Αυτό δεν θα εμποδίσει τα brute force attacks , αλλά θα τα επιβραδύνει.

Key Logins Only – Προσοχή!

Αν επιτρέπετε συνδέσεις μόνο με κλειδί οι επιθέσεις brute force θα είναι άχρηστες (γιατί ο κύριος σκοπός τους είναι να ανακαλύψει τον κωδικό πρόσβασης και όχι για κλειδί). Θα χρειαστεί να δημιουργήσει ένα συνδυασμό public/private κλειδιού προκειμένου αυτό να λειτουργήσει. Παρακάτω θα δείτε πώς μπορείτε να το ενεργοποιήσετε:

Βρείτε το PubkeyAuthentication. Θα πρέπει να μοιάζει κάπως έτσι:

#PubkeyAuthentication yes

Αφαιρέστε το σχόλιο και βεβαιωθείτε ότι έχει μετά το ναι:

PubkeyAuthentication yes

Βρείτε το PasswordAuthentication. Θα πρέπει να μοιάζει κάπως έτσι:

PasswordAuthentication yes

Ή

#PasswordAuthentication yes

Αποσχολιάστε και βεβαιωθείτε ότι είναι ως εξής:

PasswordAuthentication no

Αυτό θα επιτρέψει μόνο στους χρήστες που έχουν ένα δημόσιο / ιδιωτικό κλειδί να συνδεθούν στο διακομιστή σας. Αυτή είναι μία από τις πιο ασφαλείς επιλογές που μπορείτε να ενεργοποιήσετε για να αποτρέψετε τα brute force .

Άλλες επιλογές

Εδώ είναι μερικές άλλες χρήσιμες συμβουλές που μπορεί να σας βοηθήσουν στο να γίνει η SSH του server σας πιο ασφαλή:

Βεβαιωθείτε ότι έχετε ένα login failure detection script . Μπορείτε να χρησιμοποιήσετε τα Fail2ban, APF / BFD ,  CSF/LFD, ή κάποιο παρόμοιο για να εμποδίσει τους  επιτιθέμενους.

Επιτρέπετε login μέσω SSH μόνο στους χρήστες που χρειάζονται να έχουν SSH. Αλλάξτε το script σύνδεσής τους, με την εντολή / sbin / nologin ή διατηρήστε έναν κατάλογο επιτρεπόμενων χρηστών στο sshd_config χρησιμοποιώντας την επιλογή AllowUsers.

Κάντε το SSH port σας να ακούει μόνο σε ένα επιλεγμένο IP (αν έχετε static iP).
Μη διστάσετε αν ξέρετε να μοιραστείτε και άλλα μικρά μυστικά για να γίνει η SSH πιο ασφαλή.