OpenSSH (Ανοίξτε το Secure Shell) είναι ένα σύνολο εφαρμογών που επιτρέπουν κρυπτογραφημένες επικοινωνίες μέσω δικτύου, χρησιμοποιώντας το πρωτόκολλο SSH. Δημιουργήθηκε ως μια ελεύθερη και ανοιχτή εναλλακτική λύση στο πρόγραμμα Secure Shell, το οποίο είναι ιδιόκτητο λογισμικό. « Wikipedia.
Ορισμένοι χρήστες μπορεί να πιστεύουν ότι οι καλές πρακτικές θα πρέπει να εφαρμόζονται μόνο σε διακομιστές και όχι. Πολλές διανομές GNU / Linux περιλαμβάνουν το OpenSSH από προεπιλογή και υπάρχουν μερικά πράγματα που πρέπει να θυμάστε.
ασφάλεια
Αυτά είναι τα 6 πιο σημαντικά σημεία που πρέπει να θυμάστε κατά τη διαμόρφωση του SSH:
- Χρησιμοποιήστε έναν ισχυρό κωδικό πρόσβασης.
- Αλλαγή της προεπιλεγμένης θύρας SSH.
- Να χρησιμοποιείτε πάντα την έκδοση 2 του πρωτοκόλλου SSH.
- Απενεργοποίηση πρόσβασης root.
- Περιορίστε την πρόσβαση χρήστη.
- Χρησιμοποιήστε τον έλεγχο ταυτότητας κλειδιού.
- Άλλες επιλογές
Ένας ισχυρός κωδικός πρόσβασης
Ένας καλός κωδικός είναι αυτός που περιέχει αλφαριθμητικούς ή ειδικούς χαρακτήρες, κενά, κεφαλαία και πεζά γράμματα... κ.λπ. Εδώ μέσα DesdeLinux Έχουμε δείξει πολλές μεθόδους για τη δημιουργία καλών κωδικών πρόσβασης. Μπορεί να επισκεφθεί αυτό το άρθρο y αυτό το άλλο.
Αλλάξτε την προεπιλεγμένη θύρα
Η προεπιλεγμένη θύρα του SSH είναι 22. Για να το αλλάξουμε, το μόνο που πρέπει να κάνουμε είναι να επεξεργαστούμε το αρχείο / etc / ssh / sshd_config. Ψάχνουμε για τη γραμμή που λέει:
#Port 22
το ανεβάζουμε και αλλάζουμε το 22 για έναν άλλο αριθμό .. για παράδειγμα:
Port 7022
Για να γνωρίζουμε τις θύρες που δεν χρησιμοποιούμε στον υπολογιστή / διακομιστή μας μπορούμε να εκτελέσουμε στο τερματικό:
$ netstat -ntap
Τώρα για πρόσβαση στον υπολογιστή ή στον διακομιστή μας πρέπει να το κάνουμε με την επιλογή -p ως εξής:
$ ssh -p 7022 usuario@servidor
Χρησιμοποιήστε το πρωτόκολλο 2
Για να βεβαιωθούμε ότι χρησιμοποιούμε την έκδοση 2 του πρωτοκόλλου SSH, πρέπει να επεξεργαστούμε το αρχείο / etc / ssh / sshd_config και αναζητήστε τη γραμμή που λέει:
# Πρωτόκολλο 2
Αποσυσκευάζουμε και επανεκκίνηση της υπηρεσίας SSH.
Μην επιτρέπετε την πρόσβαση ως root
Για να αποτρέψουμε την πρόσβαση του root χρήστη από απόσταση μέσω SSH, κοιτάζουμε το αρχείο/ etc / ssh / sshd_config η γραμμή:
#PermitRootLogin no
και το αποτυγχάνουμε. Νομίζω ότι αξίζει να διευκρινιστεί ότι πριν κάνουμε αυτό πρέπει να διασφαλίσουμε ότι ο χρήστης μας έχει τα απαραίτητα δικαιώματα για την εκτέλεση διοικητικών εργασιών.
Περιορίστε την πρόσβαση από τους χρήστες
Επίσης, δεν είναι κακό να επιτρέπεται η πρόσβαση μέσω SSH μόνο σε ορισμένους αξιόπιστους χρήστες, επομένως επιστρέφουμε στο αρχείο / etc / ssh / sshd_config και προσθέτουμε τη γραμμή:
AllowUsers elav usemoslinux kzkggaara
Όπου προφανώς, οι χρήστες elav, usemoslinux και kzkggaara είναι αυτοί που έχουν πρόσβαση.
Χρησιμοποιήστε τον έλεγχο ταυτότητας κλειδιού
Αν και αυτή η μέθοδος είναι η πιο συνιστώμενη, πρέπει να προσέξουμε γιατί θα έχουμε πρόσβαση στον διακομιστή χωρίς να εισάγουμε τον κωδικό πρόσβασης. Αυτό σημαίνει ότι εάν ένας χρήστης καταφέρει να εισέλθει στη συνεδρία μας ή ο υπολογιστής μας έχει κλαπεί, ενδέχεται να έχουμε πρόβλημα. Ωστόσο, ας δούμε πώς να το κάνουμε.
Το πρώτο πράγμα είναι να δημιουργήσετε ένα ζευγάρι κλειδιών (δημόσια και ιδιωτικά):
ssh-keygen -t rsa -b 4096
Στη συνέχεια μεταβιβάζουμε το κλειδί μας στον υπολογιστή / διακομιστή:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Τέλος, πρέπει να έχουμε αφαιρεθεί στο αρχείο / etc / ssh / sshd_config η γραμμή:
AuthorizedKeysFile .ssh/authorized_keys
Άλλες επιλογές
Μπορούμε να μειώσουμε τον χρόνο αναμονής κατά τον οποίο ένας χρήστης μπορεί να συνδεθεί με επιτυχία στο σύστημα σε 30 δευτερόλεπτα
LoginGraceTime 30
Για να αποφύγουμε τις επιθέσεις ssh μέσω του TCP Spoofing, αφήνοντας το κρυπτογραφημένο ζωντανό στην πλευρά ssh ενεργό για 3 λεπτά το πολύ, μπορούμε να ενεργοποιήσουμε αυτές τις 3 επιλογές.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Απενεργοποιήστε τη χρήση αρχείων rhosts ή shosts, τα οποία για λόγους ασφαλείας καλούνται να μην χρησιμοποιηθούν.
IgnoreRhosts yes IgnoreUserKnownHosts yes RhostsAuthentication no RhostsRSAΑυτοποίηση όχι
Ελέγξτε τα πραγματικά δικαιώματα του χρήστη κατά τη σύνδεση.
StrictModes yes
Ενεργοποίηση διαχωρισμού προνομίων.
UsePrivilegeSeparation yes
Συμπεράσματα:
Κάνοντας αυτά τα βήματα μπορούμε να προσθέσουμε επιπλέον ασφάλεια στους υπολογιστές και τους διακομιστές μας, αλλά δεν πρέπει ποτέ να ξεχνάμε ότι υπάρχει ένας σημαντικός παράγοντας: τι υπάρχει ανάμεσα στην καρέκλα και το πληκτρολόγιο. Γι 'αυτό προτείνω να διαβάσετε αυτό το άρθρο.
πηγή: HowToForge
Εξαιρετική ανάρτηση @elav και προσθέτω μερικά ενδιαφέροντα πράγματα:
ΕίσοδοςGraceTime 30
Αυτό μας επιτρέπει να μειώσουμε τον χρόνο αναμονής κατά τον οποίο ένας χρήστης μπορεί να συνδεθεί επιτυχώς στο σύστημα σε 30 δευτερόλεπτα
TCPKeepAlive αρ
ClientAliveInterval 60
ClientAliveCountMax 3
Αυτές οι τρεις επιλογές είναι αρκετά χρήσιμες για την αποφυγή επιθέσεων ssh μέσω του TCP Spoofing, αφήνοντας την κρυπτογραφημένη ζωντανή στην πλευρά ssh ενεργή για μέγιστο 3 λεπτά.
IgnoreRhosts ναι
IgnoreUserKnownHosts ναι
RhostsAuthentication αρ
RhostsRSAΑυτοποίηση αρ
Απενεργοποιεί τη χρήση αρχείων rhosts ή shosts, τα οποία για λόγους ασφαλείας καλούνται να μην χρησιμοποιηθούν.
StrictModes ναι
Αυτή η επιλογή χρησιμοποιείται για τον έλεγχο των πραγματικών δικαιωμάτων του χρήστη κατά τη σύνδεση.
UsePrivilegeSeparation ναι
Ενεργοποίηση διαχωρισμού προνομίων.
Λοιπόν, σε λίγο θα επεξεργαστώ την ανάρτηση και θα την προσθέσω στην ανάρτηση 😀
Η αποτυχία για να μην αλλάξετε τη γραμμή είναι περιττή. Οι σχολιασμένες γραμμές δείχνουν την προεπιλεγμένη τιμή κάθε επιλογής (διαβάστε την αποσαφήνιση στην αρχή του ίδιου του αρχείου). Η πρόσβαση ρίζας είναι απενεργοποιημένη από προεπιλογή κ.λπ. Επομένως, η αποσυμπίεση δεν έχει απολύτως καμία επίδραση.
Ναι, αλλά για παράδειγμα, πώς ξέρουμε ότι χρησιμοποιούμε μόνο την έκδοση 2 του πρωτοκόλλου; Επειδή θα μπορούσαμε να χρησιμοποιούμε ταυτόχρονα 1 και 2. Όπως λέει η τελευταία γραμμή, αποσυνδέοντας αυτήν την επιλογή για παράδειγμα, αντικαθιστά την προεπιλεγμένη επιλογή. Εάν χρησιμοποιούμε την έκδοση 2 από προεπιλογή, ωραία, αν όχι, τη χρησιμοποιούμε ΝΑΙ ή ΝΑΙ 😀
Ευχαριστώ για το σχόλιο
Πολύ καλό άρθρο, ήξερα πολλά πράγματα, αλλά ένα πράγμα που δεν είναι ποτέ σαφές για μένα είναι η χρήση κλειδιών, πραγματικά τι είναι και ποια πλεονεκτήματα έχει, αν χρησιμοποιώ κλειδιά, μπορώ να χρησιμοποιήσω κωδικούς πρόσβασης ;;; Εάν ναι, γιατί αυξάνει την ασφάλεια και εάν όχι, πώς μπορώ να έχω πρόσβαση σε αυτόν από άλλο υπολογιστή;
Χαιρετισμούς, έχω εγκαταστήσει το debian 8.1 και δεν μπορώ να συνδεθώ από τον υπολογιστή μου windows στο debian με το WINSCP, θα πρέπει να χρησιμοποιήσω το πρωτόκολλο 1; οποιαδήποτε βοήθεια .. ευχαριστώ
αντίο
Μπορεί να σας ενδιαφέρει αυτό το βίντεο σχετικά με το openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Θέλω να δοκιμάσω κάποια πράγματα εδώ, αρκετά που έχω ήδη δοκιμάσει χάρη στο Arch Wiki, άλλα λόγω της τεμπελιάς ή της άγνοιας. Θα το αποθηκεύσω όταν ξεκινώ το RPi μου