Πώς να αναγκάσετε τους χρήστες να αλλάξουν τους κωδικούς πρόσβασης στο Linux

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

Ο κωδικός πρόσβασης υπάρχει εδώ και σχεδόν 60 χρόνια

Αποδεικνύουμε στους υπολογιστές ότι είμαστε αυτοί που λέμε ότι είμαστε από τα μέσα της δεκαετίας του 1960, όταν εισήχθη για πρώτη φορά ο κωδικός πρόσβασης. Αναγκαιότητα είναι η μητέρα της εφεύρεσης, η Συμβατό σύστημα χρονομερισμού που αναπτύχθηκε στο Ινστιτούτο Τεχνολογίας της Μασαχουσέτης χρειαζόταν έναν τρόπο αναγνώρισης διαφορετικών ατόμων στο σύστημα. Χρειαζόταν επίσης να εμποδίζει τους ανθρώπους να βλέπουν ο ένας τα αρχεία του άλλου.

Fernando J. Corbató πρότεινε ένα σχήμα που εκχωρούσε ένα μοναδικό όνομα χρήστη σε κάθε άτομο. Για να αποδείξουν ότι κάποιος ήταν αυτός που έλεγαν ότι ήταν, έπρεπε να χρησιμοποιήσει έναν ιδιωτικό, προσωπικό κωδικό πρόσβασης στον λογαριασμό του.

Το πρόβλημα με τους κωδικούς πρόσβασης είναι ότι λειτουργούν ακριβώς όπως ένα κλειδί. Όποιος έχει κλειδί μπορεί να το χρησιμοποιήσει. Εάν κάποιος βρει, μαντέψει ή βρει τον κωδικό πρόσβασής σας, αυτό το άτομο μπορεί να αποκτήσει πρόσβαση στον λογαριασμό σας. Μέχρι έλεγχος ταυτότητας πολλαπλών παραγόντων είναι παγκοσμίως διαθέσιμο, ο κωδικός πρόσβασης είναι το μόνο πράγμα που κρατά μη εξουσιοδοτημένα άτομα (παράγοντες απειλών, στην κυβερνοασφάλεια-μιλήστε) έξω από το σύστημά σας.

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

Σαφώς, η διαχείριση των κωδικών πρόσβασης είναι ζωτικής σημασίας, όπως και η διαχείριση των ατόμων που χρησιμοποιούν αυτούς τους κωδικούς πρόσβασης.

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

Τι κάνει έναν κωδικό πρόσβασης καλό, ούτως ή άλλως; Λοιπόν, ένας καλός κωδικός πρόσβασης πρέπει να έχει όλα τα ακόλουθα χαρακτηριστικά:

Είναι αδύνατο να μαντέψεις ή να καταλάβεις.
Δεν το έχεις χρησιμοποιήσει πουθενά αλλού.
Δεν έχει εμπλακεί σε α παραβίαση δεδομένων.

ο Με έχουν πιάσει Ο ιστότοπος (HIBP) περιέχει πάνω από 10 δισεκατομμύρια σετ διαπιστευτηρίων που έχουν παραβιαστεί. Με τόσο υψηλά νούμερα, οι πιθανότητες είναι ότι κάποιος άλλος έχει χρησιμοποιήσει τον ίδιο κωδικό πρόσβασης που είστε εσείς. Αυτό σημαίνει ότι ο κωδικός πρόσβασής σας μπορεί να βρίσκεται στη βάση δεδομένων, παρόλο που δεν παραβιάστηκε ο λογαριασμός σας.

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

Ένας πραγματικά τυχαίος κωδικός πρόσβασης (όπως [email protected]%*[email protected]#b~aP) είναι πρακτικά άτρωτο, αλλά, φυσικά, δεν θα το θυμόσαστε ποτέ. Συνιστούμε ανεπιφύλακτα να χρησιμοποιήσετε έναν διαχειριστή κωδικών πρόσβασης για διαδικτυακούς λογαριασμούς. Δημιουργούν σύνθετους, τυχαίους κωδικούς πρόσβασης για όλους τους διαδικτυακούς λογαριασμούς σας και δεν χρειάζεται να τους θυμάστε — ο διαχειριστής κωδικών πρόσβασης παρέχει τον σωστό κωδικό πρόσβασης για εσάς.

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

  Πώς να επεξεργαστείτε PPA στο Linux Mint

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

Ωστόσο, σύμφωνα με ένα ολοκαίνουργιο χαρτίr από μια ομάδα στο Πανεπιστήμιο Κάρνεγκυ Μέλλον, όλα αυτά τα κόλπα προσθέτουν ελάχιστα ή καθόλου στη στιβαρότητα ενός κωδικού πρόσβασης. Οι ερευνητές ανακάλυψαν ότι οι δύο βασικοί παράγοντες για την ευρωστία του κωδικού πρόσβασης είναι ότι έχουν μήκος τουλάχιστον 12 χαρακτήρες και αρκετά ισχυρούς. Μέτρησαν την ισχύ του κωδικού πρόσβασης χρησιμοποιώντας μια σειρά από προγράμματα cracker λογισμικού, στατιστικές τεχνικές και νευρωνικά δίκτυα.

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

Για παράδειγμα, το Εξειδικευμένος Έλεγχος κωδικών πρόσβασης είπε ότι θα χρειαστούν 42 λεπτά για να σπάσει το “chicago99”, αλλά 400 δισεκατομμύρια χρόνια για να σπάσει το “chimney.purple.bag”. Είναι επίσης εύκολο να το θυμάστε και να πληκτρολογήσετε και περιέχει μόνο 18 χαρακτήρες.

Έλεγχος τρεχουσών ρυθμίσεων

Πριν αλλάξετε οτιδήποτε έχει να κάνει με τον κωδικό πρόσβασης ενός ατόμου, είναι συνετό να ρίξετε μια ματιά στις τρέχουσες ρυθμίσεις του. Με την εντολή passwd, μπορείτε ελέγξτε τις τρέχουσες ρυθμίσεις τους με την επιλογή -S (κατάσταση). Σημειώστε ότι θα πρέπει επίσης να χρησιμοποιήσετε το sudo με το passwd εάν εργάζεστε με τις ρυθμίσεις κωδικού πρόσβασης κάποιου άλλου.

Πληκτρολογούμε τα εξής:

sudo passwd -S mary

Μια γραμμή πληροφοριών εκτυπώνεται στο παράθυρο του τερματικού, όπως φαίνεται παρακάτω.

Βλέπετε τις ακόλουθες πληροφορίες (από αριστερά προς τα δεξιά) σε αυτήν την απότομη απάντηση:

Το όνομα σύνδεσης του ατόμου.
Ένας από τους παρακάτω τρεις πιθανούς δείκτες εμφανίζεται εδώ:
P: Υποδεικνύει ότι ο λογαριασμός έχει έναν έγκυρο κωδικό πρόσβασης που λειτουργεί.
L: Σημαίνει ότι ο λογαριασμός έχει κλειδωθεί από τον κάτοχο του λογαριασμού root.
NP: Δεν έχει οριστεί κωδικός πρόσβασης.

Η ημερομηνία τελευταίας αλλαγής του κωδικού πρόσβασης.
Ελάχιστη ηλικία κωδικού πρόσβασης: Η ελάχιστη χρονική περίοδος (σε ημέρες) που πρέπει να μεσολαβήσει μεταξύ των επαναφορών κωδικού πρόσβασης που εκτελούνται από τον κάτοχο του λογαριασμού. Ο κάτοχος του λογαριασμού root, ωστόσο, μπορεί πάντα να αλλάξει τον κωδικό πρόσβασης οποιουδήποτε. Εάν αυτή η τιμή είναι 0 (μηδέν), δεν υπάρχει περιορισμός στη συχνότητα αλλαγών κωδικού πρόσβασης.
Μέγιστη ηλικία κωδικού πρόσβασης: Ο κάτοχος του λογαριασμού καλείται να αλλάξει τον κωδικό πρόσβασής του όταν φτάσει σε αυτήν την ηλικία. Αυτή η τιμή δίνεται σε ημέρες, επομένως η τιμή 99.999 σημαίνει ότι ο κωδικός πρόσβασης δεν λήγει ποτέ.
Περίοδος προειδοποίησης αλλαγής κωδικού πρόσβασης: Εάν επιβληθεί μέγιστη ηλικία κωδικού πρόσβασης, ο κάτοχος του λογαριασμού θα λάβει υπενθυμίσεις για να αλλάξει τον κωδικό πρόσβασής του. Στο πρώτο από αυτά θα σταλεί ο αριθμός των ημερών που εμφανίζεται εδώ πριν από την ημερομηνία επαναφοράς.
Περίοδος αδράνειας για τον κωδικό πρόσβασης: Εάν κάποιος δεν έχει πρόσβαση στο σύστημα για χρονικό διάστημα που υπερκαλύπτει την προθεσμία επαναφοράς κωδικού πρόσβασης, ο κωδικός πρόσβασης αυτού του ατόμου δεν θα αλλάξει. Αυτή η τιμή υποδεικνύει πόσες ημέρες ακολουθεί η περίοδος χάριτος μετά την ημερομηνία λήξης του κωδικού πρόσβασης. Εάν ο λογαριασμός παραμείνει ανενεργός για αυτόν τον αριθμό ημερών μετά τη λήξη ενός κωδικού πρόσβασης, ο λογαριασμός κλειδώνεται. Η τιμή -1 απενεργοποιεί την περίοδο χάριτος.

Ορισμός μέγιστης ηλικίας κωδικού πρόσβασης

Για να ορίσετε μια περίοδο επαναφοράς κωδικού πρόσβασης, μπορείτε να χρησιμοποιήσετε την επιλογή -x (μέγιστες ημέρες) με έναν αριθμό ημερών. Δεν αφήνετε κενό μεταξύ του -x και των ψηφίων, οπότε θα το πληκτρολογήσετε ως εξής:

sudo passwd -x45 mary

Μας είπαν ότι η τιμή λήξης έχει αλλάξει, όπως φαίνεται παρακάτω.

  Πώς να εγκαταστήσετε το Kodi Media Center σε Linux

Χρησιμοποιήστε την επιλογή -S (κατάσταση) για να ελέγξετε ότι η τιμή είναι τώρα 45:

sudo passwd -S mary

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

Επιβολή άμεσης αλλαγής κωδικού πρόσβασης

Μπορείτε επίσης να χρησιμοποιήσετε μια εντολή ώστε οι άλλοι στο δίκτυό σας να πρέπει να αλλάξουν τους κωδικούς πρόσβασής τους την επόμενη φορά που θα συνδεθούν. Για να το κάνετε αυτό, θα χρησιμοποιήσετε την επιλογή -e (λήξη), ως εξής:

sudo passwd -e mary

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

Ας ελέγξουμε με την επιλογή -S και ας δούμε τι έχει συμβεί:

sudo passwd -S mary

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

Πρέπει να επιβάλλετε αλλαγές στον κωδικό πρόσβασης;

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

Η σκέψη τώρα είναι το πολικό αντίθετο. Στο Ηνωμένο Βασίλειο, το Εθνικό Κέντρο Κυβερνοασφάλειας συμβουλεύει έντονα ενάντια στην επιβολή τακτικών ανανεώσεων κωδικών πρόσβασης, και το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας στις ΗΠΑ συμφωνεί. Και οι δύο οργανισμοί συνιστούν την επιβολή αλλαγής κωδικού πρόσβασης μόνο εάν γνωρίζετε ή υποψιάζεστε ότι υπάρχει ένας υπάρχων γνωστό από άλλους.

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

Οι δύο οργανισμοί που αναφέραμε παραπάνω συνιστούν τις ακόλουθες οδηγίες για την ασφάλεια του κωδικού πρόσβασης:

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

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

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

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

Η εντολή chage

Μπορείς να χρησιμοποιήσεις την εντολή chage για να αλλάξετε τις ρυθμίσεις σχετικά με τη γήρανση του κωδικού πρόσβασης. Αυτή η εντολή πήρε το όνομά της από το “αλλαγή γήρανσης”. Είναι σαν την εντολή passwd με αφαιρεμένα τα στοιχεία δημιουργίας κωδικού πρόσβασης.

Η επιλογή -l (list) παρουσιάζει τις ίδιες πληροφορίες με την εντολή passwd -S, αλλά με πιο φιλικό τρόπο.

Πληκτρολογούμε τα εξής:

sudo chage -l eric

Μια άλλη προσεγμένη πινελιά είναι ότι μπορείτε να ορίσετε μια ημερομηνία λήξης λογαριασμού χρησιμοποιώντας την επιλογή -E (λήξη). Θα περάσουμε μια ημερομηνία (σε μορφή έτους-μήνας-ημερομηνίας) για να ορίσουμε ημερομηνία λήξης στις 30 Νοεμβρίου 2020. Την ημερομηνία αυτή, ο λογαριασμός θα κλειδωθεί.

Πληκτρολογούμε τα εξής:

sudo chage eric -E 2020-11-30

Στη συνέχεια, πληκτρολογούμε τα εξής για να βεβαιωθούμε ότι έχει γίνει αυτή η αλλαγή:

sudo chage -l eric

Βλέπουμε ότι η ημερομηνία λήξης του λογαριασμού έχει αλλάξει από “ποτέ” στις 30 Νοεμβρίου 2020.

Για να ορίσετε μια περίοδο λήξης κωδικού πρόσβασης, μπορείτε να χρησιμοποιήσετε την επιλογή -M (μέγιστες ημέρες), μαζί με τον μέγιστο αριθμό ημερών που μπορεί να χρησιμοποιήσει ένας κωδικός πρόσβασης πριν πρέπει να αλλάξει.

Πληκτρολογούμε τα εξής:

sudo chage -M 45 mary

Πληκτρολογούμε τα εξής, χρησιμοποιώντας την επιλογή -l (list), για να δούμε το αποτέλεσμα της εντολής μας:

sudo chage -l mary

Η ημερομηνία λήξης του κωδικού πρόσβασης έχει οριστεί πλέον σε 45 ημέρες από την ημερομηνία που τον ορίσαμε, η οποία, όπως φαίνεται, θα είναι στις 8 Δεκεμβρίου 2020.

Αλλαγές κωδικού πρόσβασης για όλους σε ένα δίκτυο

Όταν δημιουργούνται λογαριασμοί, χρησιμοποιείται ένα σύνολο προεπιλεγμένων τιμών για τους κωδικούς πρόσβασης. Μπορείτε να ορίσετε ποιες είναι οι προεπιλογές για τις ελάχιστες, μέγιστες και προειδοποιητικές ημέρες. Στη συνέχεια διατηρούνται σε ένα αρχείο που ονομάζεται “/etc/login.defs.”

Μπορείτε να πληκτρολογήσετε τα εξής για να ανοίξετε αυτό το αρχείο στο gedit:

sudo gedit /etc/login.defs

Κάντε κύλιση στα στοιχεία ελέγχου γήρανσης κωδικού πρόσβασης.

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

Εάν θέλετε να αλλάξετε όλες τις ημερομηνίες λήξης του κωδικού πρόσβασης για υπάρχοντες λογαριασμούς χρηστών, μπορείτε εύκολα να το κάνετε με ένα σενάριο. Απλώς πληκτρολογήστε τα παρακάτω για να ανοίξετε το πρόγραμμα επεξεργασίας gedit και να δημιουργήσετε ένα αρχείο που ονομάζεται “password-date.sh”:

sudo gedit password-date.sh

Στη συνέχεια, αντιγράψτε το ακόλουθο κείμενο στον επεξεργαστή σας, αποθηκεύστε το αρχείο και, στη συνέχεια, κλείστε το gedit:

#!/bin/bash

reset_days=28

for username in $(ls /home)
do
  sudo chage $username -M $reset_days
  echo $username password expiry changed to $reset_days
done

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

Αρχικά, πληκτρολογούμε τα εξής για να κάνουμε το σενάριό μας εκτελέσιμο:

chmod +x password-date.sh

Τώρα, μπορούμε να πληκτρολογήσουμε τα εξής για να εκτελέσουμε το σενάριό μας:

sudo ./password-date.sh

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

Πληκτρολογούμε τα εξής για να ελέγξουμε τον λογαριασμό για “mary”:

sudo change -l mary

Η μέγιστη τιμή των ημερών έχει οριστεί σε 28 και μας λένε ότι θα πέσει στις 21 Νοεμβρίου 2020. Μπορείτε επίσης να τροποποιήσετε εύκολα το σενάριο και να προσθέσετε περισσότερες εντολές chage ή passwd.

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