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

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

Δείτε πώς μπορείτε να ασφαλίσετε τις συνδέσεις διακομιστή SSH στο Linux.

1. Απενεργοποιήστε τις συνδέσεις χρηστών ρίζας

Για αυτό, πρώτα απενεργοποιήστε την πρόσβαση SSH του χρήστη root και δημιουργήστε έναν νέο χρήστη με δικαιώματα root. Η απενεργοποίηση της πρόσβασης διακομιστή για τον χρήστη root είναι μια στρατηγική άμυνας που εμποδίζει τους εισβολείς να επιτύχουν τον στόχο τους να εισβάλουν στο σύστημα. Για παράδειγμα, μπορείτε να δημιουργήσετε έναν χρήστη με όνομα

instagram viewer
exampleroot ως εξής:

useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot

Ακολουθεί μια σύντομη εξήγηση των προαναφερθέντων εντολών:

  • Προσθήκη χρήστη δημιουργεί έναν νέο χρήστη και το παράμετρος δημιουργεί έναν φάκελο κάτω από το Σπίτι καταλόγου για τον χρήστη που δημιουργήσατε.
  • ο passwd Η εντολή είναι για την εκχώρηση κωδικού πρόσβασης στον νέο χρήστη. Να θυμάστε ότι οι κωδικοί πρόσβασης που εκχωρείτε στους χρήστες θα πρέπει να είναι περίπλοκοι και δύσκολο να μαντέψουν.
  • usermod -aG sudo προσθέτει τον χρήστη που δημιουργήθηκε πρόσφατα στην ομάδα διαχειριστή.

Μετά τη διαδικασία δημιουργίας χρήστη, είναι απαραίτητο να κάνετε κάποιες αλλαγές στο sshd_config αρχείο. Μπορείτε να βρείτε αυτό το αρχείο στο /etc/ssh/sshd_config. Ανοίξτε το αρχείο με οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου και κάντε τις ακόλουθες αλλαγές:

# Αυθεντικοποίηση: 
#LoginGraceTime 2m
PermitRootLogin αρ
AllowUsers exampleroot

PermitRootLogin γραμμή θα εμποδίσει τον χρήστη root να αποκτήσει απομακρυσμένη πρόσβαση χρησιμοποιώντας SSH. Συμπεριλαμβανομένου exampleroot στο AllowUsers λίστα παραχωρεί τα απαραίτητα δικαιώματα στο χρήστη.

Τέλος, επανεκκινήστε την υπηρεσία SSH χρησιμοποιώντας την ακόλουθη εντολή:

sudo systemctl επανεκκίνηση ssh

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

sudo systemctl επανεκκίνηση sshd

2. Αλλαγή της προεπιλεγμένης θύρας

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

Για να αλλάξετε τον αριθμό θύρας, ανοίξτε /etc/ssh/sshd_config και κάντε τις ακόλουθες αλλαγές στο αρχείο:

Περιλαμβάνω /etc/ssh/sshd_config.d/*.conf
Θύρα 5922

Μετά από αυτό το βήμα, επανεκκινήστε ξανά την υπηρεσία SSH με sudo systemctl επανεκκίνηση ssh. Τώρα μπορείτε να έχετε πρόσβαση στον διακομιστή σας χρησιμοποιώντας τη θύρα που μόλις ορίσατε. Εάν χρησιμοποιείτε τείχος προστασίας, πρέπει να κάνετε και εκεί τις απαραίτητες αλλαγές κανόνων. Στο τρέξιμο του netstat -tlpn εντολή, μπορείτε να δείτε ότι ο αριθμός θύρας σας για SSH έχει αλλάξει.

3. Αποκλεισμός πρόσβασης για χρήστες με κενούς κωδικούς πρόσβασης

Μπορεί να υπάρχουν χρήστες χωρίς κωδικούς πρόσβασης στο σύστημά σας που μπορεί να έχετε δημιουργήσει κατά λάθος. Για να αποτρέψετε την πρόσβαση αυτών των χρηστών στους διακομιστές, μπορείτε να ορίσετε το PermitEmptyPasswords τιμή γραμμής στο sshd_config αρχείο σε όχι.

PermitEmptyPasswords αρ

4. Περιορισμός προσπαθειών σύνδεσης/πρόσβασης

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

Για αυτό, αλλάξτε το MaxAuthTries αξία στο sshd_config αρχείο.

MaxAuthTries 3

5. Χρήση SSH Έκδοση 2

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

Περιλαμβάνω /etc/ssh/sshd_config.d/*.conf 
Πρωτόκολλο 2

6. Απενεργοποίηση της προώθησης θύρας TCP και της προώθησης X11

Οι εισβολείς μπορούν να προσπαθήσουν να αποκτήσουν πρόσβαση στα άλλα συστήματά σας μέσω της προώθησης θυρών μέσω συνδέσεων SSH. Για να αποφύγετε αυτό, μπορείτε να απενεργοποιήσετε το AllowTcpForwarding και X11 Προώθηση χαρακτηριστικά στο sshd_config αρχείο.

X11 Αρ 
AllowTcpForwarding αρ

7. Σύνδεση με κλειδί SSH

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

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

Δημιουργήστε ένα κλειδί SSH με το ssh-keygen εντολή στον υπολογιστή σας. Μην αφήνετε το Φράση πρόσβασης κενό πεδίο και θυμηθείτε τον κωδικό πρόσβασης που πληκτρολογήσατε εδώ. Εάν το αφήσετε κενό, θα έχετε πρόσβαση μόνο με το αρχείο κλειδιού SSH. Ωστόσο, εάν ορίσετε έναν κωδικό πρόσβασης, μπορείτε να αποτρέψετε την πρόσβαση σε αυτόν εισβολέα με το αρχείο κλειδιού. Για παράδειγμα, μπορείτε να δημιουργήσετε ένα κλειδί SSH με την ακόλουθη εντολή:

ssh-keygen

8. Περιορισμοί IP για συνδέσεις SSH

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

Για να το κάνετε αυτό, ανοίξτε το /etc/hosts.allow αρχείο. Με τις προσθήκες που κάνετε σε αυτό το αρχείο, μπορείτε να περιορίσετε την άδεια SSH, να επιτρέψετε ένα συγκεκριμένο μπλοκ IP ή να εισαγάγετε μία μόνο IP και να αποκλείσετε όλες τις υπόλοιπες διευθύνσεις IP με την εντολή άρνησης.

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

Η σημασία της ασφάλειας διακομιστή Linux

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

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