Αυτή τη φορά θα δούμε ένα σύντομη και απλή συμβουλή που θα μας βοηθήσουν να βελτιωθούμε ασφάλεια των απομακρυσμένων συνδέσεών μας με SSH. |
Το OpenSSH, το οποίο είναι το πακέτο που παρέχεται από συστήματα GNU / Linux για το χειρισμό συνδέσεων SSH, έχει μια μεγάλη ποικιλία επιλογών. Διαβάζοντας το βιβλίο SSH Το ασφαλές κέλυφος και στις σελίδες man βρήκα την επιλογή -F, η οποία λέει στον πελάτη SSH να χρησιμοποιήσει ένα διαφορετικό αρχείο διαμόρφωσης από αυτό που βρέθηκε από προεπιλογή στον κατάλογο / etc / ssh.
Πώς χρησιμοποιούμε αυτήν την επιλογή;
Ως εξής:
ssh -F / path / to_your / config / file user @ ip / host
Για παράδειγμα, εάν έχουμε ένα προσαρμοσμένο αρχείο διαμόρφωσης που ονομάζεται my_config στην επιφάνεια εργασίας και θέλουμε να συνδεθούμε με τον χρήστη Carlos στον υπολογιστή με το ip 192.168.1.258, τότε θα χρησιμοποιούσαμε την εντολή ως εξής:
ssh -F ~ / Desktop / my_config carlos@192.168.1.258
Πώς βοηθά στην ασφάλεια της σύνδεσης;
Θυμηθείτε ότι ένας εισβολέας που βρίσκεται μέσα στο σύστημά μας θα προσπαθήσει αμέσως να αποκτήσει δικαιώματα διαχειριστή εάν δεν τα έχει ήδη, οπότε θα ήταν αρκετά εύκολο για αυτόν να εκτελέσει ssh για να συνδεθεί με τα υπόλοιπα μηχανήματα στο δίκτυο. Για να το αποφύγουμε αυτό, μπορούμε να διαμορφώσουμε το αρχείο / etc / ssh / ssh_config με λανθασμένες τιμές και όταν θέλουμε να συνδεθούμε μέσω SSH θα χρησιμοποιήσουμε το αρχείο διαμόρφωσης που θα έχουμε αποθηκεύσει σε μια τοποθεσία που μόνο γνωρίζουμε (ακόμη και σε εξωτερικό συσκευή αποθήκευσης), δηλαδή, θα έχουμε ασφάλεια από το σκοτάδι. Με αυτόν τον τρόπο ο εισβολέας θα μπερδευόταν να διαπιστώσει ότι δεν μπορεί να συνδεθεί χρησιμοποιώντας SSH και ότι προσπαθεί να κάνει τις συνδέσεις σύμφωνα με αυτό που καθορίζεται στο προεπιλεγμένο αρχείο διαμόρφωσης, οπότε θα είναι δύσκολο για αυτόν να συνειδητοποιήσει τι συμβαίνει και εμείς θα τον περιπλέξει πολύ τη δουλειά.
Αυτό προστέθηκε για να αλλάξετε τη θύρα ακρόασης του διακομιστή SSH, να απενεργοποιήσετε το SSH1, να καθορίσετε ποιοι χρήστες μπορούν να συνδεθούν στον διακομιστή, να επιτρέπουν ρητά σε ποια IP ή εύρος IP μπορούν να συνδεθούν στον διακομιστή και άλλες συμβουλές που μπορούμε να βρούμε http://www.techtear.com/2007/04/08/trucos-y-consejos-para-asegurar-ssh-en-linux θα μας επιτρέψουν να αυξήσουμε την ασφάλεια των συνδέσεων SSH μας.
Όλα όσα περιγράφονται παραπάνω μπορούν να γίνουν σε μία γραμμή. Για το γούστο μου, θα ήταν πολύ κουραστικό να γράφω μια μεγάλη γραμμή με πολλές επιλογές κάθε φορά που προσπαθούμε να συνδεθούμε μέσω SSH σε έναν απομακρυσμένο υπολογιστή, για παράδειγμα τα ακόλουθα θα ήταν ένα δείγμα αυτού που σας λέω:
ssh -p 1056 -c blowfish -C -l carlos -q -i εγώ 192.168.1.258
-p Καθορίζει τη θύρα για σύνδεση στον απομακρυσμένο κεντρικό υπολογιστή.
-c Καθορίζει τον τρόπο κρυπτογράφησης της περιόδου λειτουργίας.
-C Υποδεικνύει ότι η συνεδρία πρέπει να συμπιεστεί.
-l Υποδεικνύει τον χρήστη με τον οποίο θα συνδεθεί στον απομακρυσμένο κεντρικό υπολογιστή.
-q Υποδεικνύει ότι τα διαγνωστικά μηνύματα έχουν καταργηθεί.
-i Υποδεικνύει το αρχείο προς αναγνώριση (ιδιωτικό κλειδί)
Πρέπει επίσης να θυμόμαστε ότι θα μπορούσαμε να χρησιμοποιήσουμε το ιστορικό του τερματικού για να αποφύγουμε να πληκτρολογήσουμε ολόκληρη την εντολή κάθε φορά που το χρειαζόμαστε, κάτι που θα μπορούσε επίσης να εκμεταλλευτεί ένας εισβολέας, οπότε δεν θα το συνιστούσα, τουλάχιστον κατά τη χρήση του Συνδέσεις SSH.
Παρόλο που το ζήτημα ασφάλειας δεν είναι το μόνο πλεονέκτημα αυτής της επιλογής, μπορώ να σκεφτώ άλλους, όπως το να έχουμε ένα αρχείο διαμόρφωσης για κάθε διακομιστή στον οποίο θέλουμε να συνδεθούμε, οπότε θα αποφύγουμε να γράφουμε τις επιλογές κάθε φορά που θέλουμε να κάνουμε σύνδεση ένας διακομιστής SSH με συγκεκριμένη διαμόρφωση.
Η χρήση της επιλογής -F μπορεί να είναι πολύ χρήσιμη σε περίπτωση που έχετε πολλούς διακομιστές με διαφορετική διαμόρφωση. Διαφορετικά, θα πρέπει να θυμόμαστε όλες τις ρυθμίσεις, κάτι που είναι πρακτικά αδύνατο. Η λύση θα ήταν να έχουμε ένα αρχείο διαμόρφωσης τέλεια προετοιμασμένο σύμφωνα με τις απαιτήσεις κάθε διακομιστή, διευκολύνοντας και διασφαλίζοντας την πρόσβαση σε αυτούς τους διακομιστές.
Σε αυτόν τον σύνδεσμο http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config Μπορείτε να μάθετε πώς να επεξεργαστείτε το αρχείο διαμόρφωσης πελάτη SSH.
Θυμηθείτε, αυτή είναι μια ακόμη συμβουλή των εκατοντάδων που μπορούμε να βρούμε για να διασφαλίσουμε το SSH, οπότε αν θέλετε να έχετε ασφαλείς απομακρυσμένες συνδέσεις, πρέπει να συνδυάσετε τις δυνατότητες που μας προσφέρει το OpenSSH.
Αυτό είναι όλο για τώρα, ελπίζω ότι αυτές οι πληροφορίες θα σας βοηθήσουν και θα περιμένω μια άλλη ανάρτηση σχετικά με την ασφάλεια SSH την επόμενη εβδομάδα.
Ενδιαφέρομαι για να συνεισφέρετε?
τι; Νομίζω ότι αναφέρεται σε άλλη ανάρτηση, γιατί δεν καταλαβαίνω τι αναφέρετε. Αυτή η ανάρτηση δίνει μια μικρή συμβουλή για εφαρμογή κατά τη δημιουργία σύνδεσης με έναν υπολογιστή, δεν αναφέρεται στην αλλαγή οποιασδήποτε διαμόρφωσής της ή στην επίλυση οτιδήποτε αν κάποιος καταφέρει να εισέλθει. Η ιδέα είναι να κάνουμε την επικοινωνία μεταξύ υπολογιστών ασφαλή, παρακάμπτοντας τις προεπιλεγμένες παραμέτρους που μπορεί να μην προσφέρουν το κατάλληλο επίπεδο ασφάλειας.
Το Port-knocking είναι ενδιαφέρον για τον περιορισμό των επιθέσεων (δεν τις αποτρέπει εντελώς, αλλά κάνει το πράγμα), αν και το βρίσκω λίγο άβολο στη χρήση ... Ίσως να μην έχω μεγάλη εμπειρία με αυτό.
Υπάρχουν πολλά προγράμματα που σαρώνουν αρχεία καταγραφής για να αποκλείσουν την πρόσβαση μέσω IP όταν εντοπίζονται λανθασμένες συνδέσεις.
Το ασφαλέστερο είναι να χρησιμοποιείτε σύνδεση χωρίς κωδικό πρόσβασης χρησιμοποιώντας βασικά αρχεία.
Χαιρετισμούς!
τι; Νομίζω ότι αναφέρεται σε άλλη ανάρτηση, γιατί δεν καταλαβαίνω τι αναφέρετε. Αυτή η ανάρτηση δίνει μια μικρή συμβουλή για εφαρμογή κατά τη δημιουργία σύνδεσης με έναν υπολογιστή, δεν αναφέρεται στην αλλαγή οποιασδήποτε διαμόρφωσής της ή στην επίλυση οτιδήποτε αν κάποιος καταφέρει να εισέλθει. Η ιδέα είναι να κάνουμε την επικοινωνία μεταξύ υπολογιστών ασφαλή, παρακάμπτοντας τις προεπιλεγμένες παραμέτρους που μπορεί να μην προσφέρουν το κατάλληλο επίπεδο ασφάλειας.
Το Port-knocking είναι ενδιαφέρον για τον περιορισμό των επιθέσεων (δεν τις αποτρέπει εντελώς, αλλά κάνει το πράγμα), αν και το βρίσκω λίγο άβολο στη χρήση ... Ίσως να μην έχω μεγάλη εμπειρία με αυτό.
Υπάρχουν πολλά προγράμματα που σαρώνουν αρχεία καταγραφής για να αποκλείσουν την πρόσβαση μέσω IP όταν εντοπίζονται λανθασμένες συνδέσεις.
Το ασφαλέστερο είναι να χρησιμοποιείτε σύνδεση χωρίς κωδικό πρόσβασης χρησιμοποιώντας βασικά αρχεία.
Χαιρετισμούς!
Επίσης, το ssh θα αναζητήσει την προεπιλεγμένη διαμόρφωση χρήστη στο ~ / .ssh / config
Εκτός αν ο δαίμονας έχει ρυθμιστεί όχι, αλλά από προεπιλογή.
Είναι σημαντικό να ληφθεί υπόψη ο αλγόριθμος που χρησιμοποιείται για κατακερματισμούς, με την επιλογή -m. Συνιστώ τα hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 να είναι αυτά που προσφέρουν την καλύτερη ασφάλεια. Να είστε προσεκτικοί, γιατί από προεπιλογή χρησιμοποιεί MD5 (ή sha1 ελπίζουμε) !! είναι εκείνα τα πράγματα που δεν είναι κατανοητά….
Τέλος πάντων, μια καλή ιδέα θα ήταν να το τρέξετε με:
ssh -p PORT -c aes256-ctr -m hmac-sha2-512 -C IP
με -c καθορίζετε τον αλγόριθμο κρυπτογράφησης που χρησιμοποιείται, όπου το ctr (λειτουργία μετρητή) είναι τα πιο συνιστώμενα (aes256-ctr και aes196-ctr), και αν όχι το cbc (cipher-block chaining): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc
Χαιρετισμούς!
Επίσης, το ssh θα αναζητήσει την προεπιλεγμένη διαμόρφωση χρήστη στο ~ / .ssh / config
Εκτός αν ο δαίμονας έχει ρυθμιστεί όχι, αλλά από προεπιλογή.
Είναι σημαντικό να ληφθεί υπόψη ο αλγόριθμος που χρησιμοποιείται για κατακερματισμούς, με την επιλογή -m. Συνιστώ τα hmac-sha2-512, hmac-sha2-256, hmac-ripemd160 να είναι αυτά που προσφέρουν την καλύτερη ασφάλεια. Να είστε προσεκτικοί, γιατί από προεπιλογή χρησιμοποιεί MD5 (ή sha1 ελπίζουμε) !! είναι εκείνα τα πράγματα που δεν είναι κατανοητά….
Τέλος πάντων, μια καλή ιδέα θα ήταν να το τρέξετε με:
ssh -p PORT -c aes256-ctr -m hmac-sha2-512 -C IP
με -c καθορίζετε τον αλγόριθμο κρυπτογράφησης που χρησιμοποιείται, όπου το ctr (λειτουργία μετρητή) είναι τα πιο συνιστώμενα (aes256-ctr και aes196-ctr), και αν όχι το cbc (cipher-block chaining): aes256-cbc, aes192- cbc , blowfish-cbc, cast128-cbc
Χαιρετισμούς!
αυτό που ήθελα είναι ότι κανείς δεν θα μπορούσε να έχει πρόσβαση στον υπολογιστή μου και να τον ελέγχει από απόσταση
τότε καταλαβαίνω από τα λόγια σας ότι αν δεν ανοίξω το λιμάνι δεν υπάρχει πρόσβαση τουλάχιστον με αυτόν τον τρόπο
mercii για απάντηση!
holaa
Έχω παρακολουθήσει μερικά από τα κόλπα και έχω μια ερώτηση! από τις επιλογές που έχω αλλάξει επίσης
Η θύρα για άλλη διαφορετική από την παραδοσιακή. Εάν δεν ανοίξω αυτήν τη θύρα στο δρομολογητή, θα είναι αδύνατο να συνδεθούν στον υπολογιστή μου; ή θα ανακατευθυνθεί σε οποιαδήποτε άλλη θύρα;
Δεν χρειάζεται να κάνω απομακρυσμένη σύνδεση, γι 'αυτό ήθελα να μάθω τι θα ήταν πιο αποτελεσματικό εάν ανοίξατε τη θύρα ή αφήνοντάς την μπλοκαρισμένη.
Περιμένω απαντήσεις!
> Το ασφαλέστερο είναι να χρησιμοποιείτε σύνδεση χωρίς κωδικό πρόσβασης χρησιμοποιώντας βασικά αρχεία.
Είναι ακριβώς αυτό που θα έλεγα ... ότι ο μόνος τρόπος για να συνδεθείτε σε διαφορετικούς υπολογιστές είναι με ένα κλειδί που βρίσκεται σε ένα pendrive που κρέμεται από το λαιμό σας 😉
Ο εισβολέας μπορεί να σπαταλήσει ολόκληρη τη ζωή του προσπαθώντας να βρει έναν κωδικό πρόσβασης και δεν θα συνειδητοποιήσει ποτέ ότι δεν χρειάζεται κωδικό πρόσβασης αλλά ένα αρχείο XD.
Δεν είμαι ειδικός στην Ασφάλεια και τα Δίκτυα, αλλά για να παραβιάσω το σύστημα ασφαλείας σας με σύνδεση χωρίς κωδικό πρόσβασης, θα αρκούσε απλά να δημιουργήσετε ένα σενάριο για να αντιγράψετε το κλειδί σας που είναι αποθηκευμένο σε ένα pendrive όταν το τοποθετείτε, οπότε σε λίγα δευτερόλεπτα θα έχετε πρόσβαση με το δικό σας κλειδί στο απομακρυσμένο διακομιστή (και φυσικά, χωρίς την ανάγκη κωδικού πρόσβασης), το πρόβλημα με τον κωδικό πρόσβασης είναι ότι σας κάνει να αισθάνεστε εσφαλμένη ασφάλεια, καθώς όπως μπορείτε να δείτε με μερικές γραμμές σε ένα σενάριο θα ήταν πολύ εύκολο να ελέγξετε τους απομακρυσμένους διακομιστές σας. Να θυμάστε ότι ένας εισβολέας δεν θα σπαταλήσει χρόνο ή πόρους προσπαθώντας να σπάσει τους κωδικούς πρόσβασης εάν υπάρχει ένας πιο σύντομος τρόπος παραβίασης της ασφάλειάς σας. Σας προτείνω να χρησιμοποιήσετε τουλάχιστον 20 από τις επιλογές που επιτρέπει η διαμόρφωση του SSH και αυτό προσθέτει κάτι όπως το TCP Wrappers, ένα καλό τείχος προστασίας και ακόμη και τότε ο διακομιστής σας δεν θα προστατεύεται 100%, ο χειρότερος εχθρός σε θέματα ασφαλείας είναι αξιόπιστος.
Είναι ενδιαφέρον, αν και δεν είμαι σίγουρος για το πραγματικό όφελος, διότι μιλάμε για να κάνουμε τα πράγματα λίγο δύσκολα όταν ένας εισβολέας έχει ήδη ενταχθεί στην ομάδα και προσθέτει περισσότερη πολυπλοκότητα στους διαχειριστές.
Βρίσκω μια τεχνική honeypot πιο χρήσιμη για την προειδοποίηση (και τη λήψη μέτρων;) σχετικά με ύποπτη δραστηριότητα ή κάποιο είδος sandbox που περιορίζει τις ενέργειες του εισβολέα.
Ή θα έψαχνα για άλλους τύπους τεχνικών που εμποδίζουν την είσοδο, όπως το port-knocking.
Επίσης, σας ευχαριστώ που το μοιραστήκατε και ξεκινήσατε τη συζήτηση.