Πώς το Linux ξέρει ότι ένας νέος κωδικός πρόσβασης είναι παρόμοιος με τον παλαιό;
Εάν έχετε λάβει ποτέ μήνυμα ότι ο νέος σας κωδικός πρόσβασης είναι πολύ παρόμοιος με τον παλιό σας, τότε ίσως να είστε περίεργοι ως προς το πώς το σύστημα του Linux σας «ξέρει» ότι είναι πάρα πολύ όμοιοι. Η σημερινή θέση SuperUser Q & A παρέχει μια ματιά πίσω από τη «μαγική κουρτίνα» σε αυτό που συμβαίνει για έναν περίεργο αναγνώστη.
Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.
Στιγμιότυπο οθόνης από marc falardeau (Flickr).
Το ερώτημα
Ο αναγνώστης SuperUser LeNoob θέλει να μάθει πώς ένα σύστημα Linux «ξέρει» ότι οι κωδικοί πρόσβασης είναι πολύ παρόμοιοι μεταξύ τους:
Προσπάθησα να αλλάξω έναν κωδικό χρήστη σε διάφορες μηχανές Linux λίγες φορές και όταν ο νέος κωδικός πρόσβασης μοιάζει πολύ με τον παλιό, το λειτουργικό σύστημα είπε ότι ήταν πολύ παρόμοια.
Πάντα αναρωτήθηκα πώς το γνωρίζει αυτό το λειτουργικό σύστημα; Σκέφτηκα ότι οι κωδικοί πρόσβασης αποθηκεύτηκαν ως hash. Μήπως αυτό σημαίνει ότι όταν το σύστημα είναι σε θέση να συγκρίνει τον νέο κωδικό πρόσβασης για την ομοιότητα με το παλιό που είναι πραγματικά αποθηκευμένο ως απλό κείμενο?
Πώς το σύστημα Linux «γνωρίζει» ότι οι κωδικοί πρόσβασης είναι πολύ παρόμοιοι μεταξύ τους?
Η απάντηση
Ο συνεργάτης SuperUser slhck έχει την απάντηση για εμάς:
Δεδομένου ότι πρέπει να παρέχετε τόσο παλιούς όσο και νέους κωδικούς πρόσβασης κατά τη χρήση passwd, μπορούν να συγκριθούν εύκολα σε απλό κείμενο.
Ο κωδικός πρόσβασής σας είναι πράγματι χασμένος όταν αποθηκεύεται τελικά, αλλά μέχρι να συμβεί αυτό, το εργαλείο στο οποίο εισάγετε τον κωδικό πρόσβασής σας μπορεί απλά να έχει άμεση πρόσβαση.
Αυτό είναι ένα χαρακτηριστικό του συστήματος PAM που χρησιμοποιείται στο παρασκήνιο του εργαλείου passwd. Το PAM χρησιμοποιείται από σύγχρονες διανομές Linux. Ειδικότερα, το pam_cracklib είναι μια ενότητα για το PAM που του επιτρέπει να απορρίπτει κωδικούς πρόσβασης που βασίζονται σε ομοιότητες και αδυναμίες.
Δεν είναι μόνο κωδικοί που είναι πολύ παρόμοιοι και μπορούν να θεωρηθούν ανασφαλείς. Ο πηγαίος κώδικας έχει διάφορα παραδείγματα για το τι μπορεί να ελεγχθεί, όπως π.χ. αν ένας κωδικός πρόσβασης είναι ένα παλινδρόμιο ή ποια είναι η απόσταση επεξεργασίας μεταξύ δύο λέξεων. Η ιδέα είναι να καταστούν οι κωδικοί πιο ανθεκτικοί σε επιθέσεις λεξικών.
Για περισσότερες πληροφορίες, ανατρέξτε στην manpage pag_cracklib.
Βεβαιωθείτε ότι έχετε διαβάσει την υπόλοιπη ζωντανή συζήτηση στο SuperUser μέσω του συνδέσμου θέματος που συνδέεται παρακάτω.
Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.