Αντιμετώπιση προβλημάτων

Γνώση Υπολογιστών >> Αντιμετώπιση προβλημάτων >  >> Οι κωδικοί πρόσβασης

Ποια χρησιμότητα χρησιμοποιείται για την κρυπτογράφηση ενός κωδικού πρόσβασης για χρήση με LDAP;

Το βοηθητικό πρόγραμμα που χρησιμοποιείται για την κρυπτογράφηση ενός κωδικού πρόσβασης για χρήση με το LDAP εξαρτάται από τον συγκεκριμένο αλγόριθμο κατακερματισμού που θέλετε να χρησιμοποιήσετε και από τον διακομιστή LDAP με τον οποίο συνδέετε. Δεν υπάρχει ενιαίο "βοηθητικό πρόγραμμα κρυπτογράφησης κωδικού πρόσβασης LDAP". Αντ 'αυτού, χρησιμοποιείτε εργαλεία hashing κωδικού πρόσβασης γενικής χρήσης και, στη συνέχεια, πείτε στον διακομιστή LDAP τον τύπο κατακερματισμού που έχετε χρησιμοποιήσει.

Ακολουθεί μια κατανομή των κοινών μεθόδων και υπηρεσιών κοινής ωφέλειας:

1. Κοινοί αλγόριθμοι κατακερματισμού για LDAP:

* {ssha} (αλατισμένο sha-1): Αυτό είναι παλαιότερο, αλλά εξακολουθεί να υποστηρίζεται ευρέως. Προετοιμάζει ένα τυχαία παραγόμενο αλάτι στον κωδικό πρόσβασης πριν από το hashing με το SHA-1, και στη συνέχεια το βασικό 64-εισάγει το αποτέλεσμα μαζί με το αλάτι. Το SHA-1 θεωρείται κρυπτογραφικά αδύναμο και πρέπει να αποφεύγεται σε νέες εγκαταστάσεις.

* {ssha256} (αλατισμένο sha-256): Μια ισχυρότερη εναλλακτική λύση στο SSHA, χρησιμοποιώντας το Sha-256. Προτιμώμενο πάνω από το SSHA.

* {ssha512} (αλατισμένο sha-512): Ακόμα ισχυρότερο από το SSHA256, χρησιμοποιώντας το SHA-512. Συνιστάται για νέες αναπτύξεις όπου υποστηρίζονται.

* {MD5} (MD5): Αυτό είναι * εξαιρετικά * αποθαρρύνεται. Το MD5 είναι σπασμένο και δεν πρέπει ποτέ να χρησιμοποιείται για το hashing κωδικού πρόσβασης. Πολλοί διακομιστές LDAP ενδέχεται να μην τους επιτρέψουν πια.

* {SMD5} (αλατισμένο MD5): Η χρήση ενός αλατιού το κάνει * ελαφρώς * καλύτερο από το απλό MD5, αλλά δεν συνιστάται ακόμα. Αποφύγετε και αυτό.

* {crypt} (crypt (3)): Χρησιμοποιεί τη λειτουργία `crypt () 'crypt () του συστήματος, η οποία συνήθως προεπιλογές στο hashing με βάση το DES. Το DES θεωρείται πολύ αδύναμο. Αυτή είναι γενικά μια κακή επιλογή.

* {ClearText}: Ο κωδικός πρόσβασης αποθηκεύεται σε απλό κείμενο. Ποτέ μην το χρησιμοποιείτε σε ένα περιβάλλον παραγωγής.

* {pbkdf2} :(PBKDF2-SHA256, PBKDF2-SHA512) Μια πιο σύγχρονη συνάρτηση παραγωγής κλειδιού που είναι πιο ανθεκτική στις επιθέσεις ωοτοκίας. Αυτή είναι μια καλή επιλογή αν ο διακομιστής LDAP το υποστηρίξει.

2. Βοηθητικά προγράμματα και μέθοδοι για τη δημιουργία hashes:

* `slappasswd` (openldap): Αυτή είναι η πιο συνηθισμένη και συνιστώμενη χρησιμότητα, ειδικά αν χρησιμοποιείτε το OpenLDAP. Έχει σχεδιαστεί ειδικά για τη δημιουργία hashes κωδικού πρόσβασης LDAP. Υποστηρίζει διάφορους αλγόριθμους, συμπεριλαμβανομένων των SSHA, SSHA256, SSHA512 και άλλων.

`` `bash

slappasswd -s mysecretpassword # προεπιλογή:ssha (συνήθως)

slappasswd -h '{ssha256}' -s mySecretPassword

slappasswd -h '{ssha512}' -s mySecretPassword

slappasswd -h '{pbkdf2}' -s mySecretPassword

`` `

`slappasswd` εξάγει τη σωστή μορφή συμβολοσειρά, την οποία χρησιμοποιείτε στη συνέχεια στο χαρακτηριστικό` userPassWord` στην καταχώριση LDAP.

* `ldappasswd`: Αυτό χρησιμοποιείται κυρίως για * αλλαγή * έναν κωδικό πρόσβασης σε μια υπάρχουσα καταχώρηση LDAP. Χρησιμοποιεί συνήθως τους ίδιους αλγόριθμους κατακερματισμού που υποστηρίζονται από τον διακομιστή LDAP. Ενώ θα μπορούσατε * να το χρησιμοποιήσετε ενδεχομένως για να δημιουργήσετε ένα νέο hash κωδικού πρόσβασης, το "slappasswd` είναι το προτιμώμενο εργαλείο για την αρχική δημιουργία κωδικού πρόσβασης.

* `openssl passwd`: Πρόκειται για ένα γενικότερο βοηθητικό πρόγραμμα γραμμής εντολών για τη δημιουργία hashes κωδικού πρόσβασης. Υποστηρίζει μια σειρά αλγορίθμων κατακερματισμού, αλλά πρέπει να είστε προσεκτικοί για να διαμορφώσετε σωστά την έξοδο για το LDAP. Δεν χειρίζεται την παραγωγή αλατιού και την κωδικοποίηση για εσάς τόσο ωραία όσο το "Slappasswd" κάνει. Είναι συνήθως καλύτερο να χρησιμοποιείτε το "slappasswd" για το LDAP.

`` `bash

OpenSSL passwd -salt -sha256 mysecretpassword

`` `

Στη συνέχεια, θα πρέπει να προετοιμαστείτε με μη αυτόματο τρόπο `{SSHA256}` στην έξοδο.

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

`` `Python

Εισαγωγή hashlib

Εισαγωγή βάσης64

εισαγωγή λειτουργικού συστήματος

def ssha256_password (κωδικός πρόσβασης):

Salt =OS.urandom (8) # 8 bytes είναι ένα καλό μέγεθος αλατιού

salted_password =password.encode ('utf-8') + αλάτι

hashed_password =hashlib.sha256 (salted_password) .digest ()

συνδυασμένος =hashed_password + αλάτι

κωδικοποιημένο =base64.b64encode (συνδυασμένος) .decode ('ascii')

επιστροφή "{ssha256}" + κωδικοποιημένη

password_hash =ssha256_password ("mySecretPassword")

εκτύπωση (password_hash)

`` `

Αυτό είναι απλώς ένα παράδειγμα. Θα χρειαστεί να προσαρμόσετε τον κώδικα για άλλους αλγόριθμους κατακερματισμού.

* Γεννήτριες κωδικού πρόσβασης LDAP που βασίζονται στο διαδίκτυο: Υπάρχουν μερικά ηλεκτρονικά εργαλεία που μπορούν να δημιουργήσουν hashes κωδικού πρόσβασης LDAP. Να είστε εξαιρετικά προσεκτικοί χρησιμοποιώντας αυτά, ειδικά με ευαίσθητους κωδικούς πρόσβασης. Εμπιστεύεστε ένα τρίτο μέρος με τον κωδικό πρόσβασής σας. Είναι πολύ πιο ασφαλές να χρησιμοποιήσετε ένα τοπικό εργαλείο όπως το `slappasswd '.

3. Διαμόρφωση διακομιστή LDAP:

Είναι σημαντικό να διαμορφώσετε τον διακομιστή LDAP για να κατανοήσετε ποιοι αλγόριθμοι κατακερματισμού επιτρέπονται και προτιμούν. Για παράδειγμα, στο OpenLDAP, συνήθως θα το διαμορφώσετε αυτό στο `slapd.conf` ή τη δυναμική διαμόρφωση χρησιμοποιώντας` cn =config`.

Παράδειγμα (openldap, `cn =config`):

`` `ldif

DN:OlcDatabase ={0} config, cn =config

Changetype:Τροποποίηση

Προσθήκη:olcpasswordhash

OlcPassWordHash:{SSHA512}

-

Προσθήκη:olcpasswordhash

olcpasswordhash:{ssha256}

-

Προσθήκη:olcpasswordhash

olcpasswordhash:{ssha}

`` `

Αυτό διαμορφώνει τον διακομιστή ώστε να επιτρέψει SSHA512, SSHA256 και SSHA, με αυτή τη σειρά προτιμήσεων. Όταν ένας πελάτης χρησιμοποιεί `ldappasswd` για να αλλάξει έναν κωδικό πρόσβασης, ο διακομιστής θα προσπαθήσει να χρησιμοποιήσει τον ισχυρότερο αλγόριθμο στη λίστα` olcpasswordhash` που ζητά ο πελάτης (ή ο πρώτος, εάν ο πελάτης δεν καθορίζει μια προτίμηση).

4. Ποια χρησιμότητα θα επιλέξει:

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

* Χρησιμοποιήστε το `ldappasswd` για * αλλαγή * κωδικούς πρόσβασης σε έναν υπάρχοντα διακομιστή LDAP, καθώς ενσωματώνεται απευθείας με τη διαμόρφωση του διακομιστή.

* Αποφύγετε το `openssl passwd` εκτός αν γνωρίζετε πραγματικά τι κάνετε και μπορείτε να διαμορφώσετε την έξοδο σωστά.

* Αποφύγετε τους online γεννήτριες κωδικών πρόσβασης λόγω κινδύνων ασφαλείας.

* Οι γλώσσες προγραμματισμού παρέχουν ευελιξία αλλά απαιτούν προσεκτική εφαρμογή.

Σκέψεις ασφαλείας:

* Χρησιμοποιήστε ισχυρούς αλγόριθμους κατακερματισμού: Προτιμήστε το SSHA512 ή το PBKDF2 εάν ο διακομιστής LDAP τους υποστηρίζει. Αποφύγετε το MD5, το SHA-1, το DES και το απλό κείμενο.

* Χρησιμοποιήστε ένα ισχυρό τυχαίο αλάτι: Το αλάτι πρέπει να είναι τουλάχιστον 8 bytes (64 bits) και κρυπτογραφικά τυχαία.

* Περιορίστε τους επιτρεπόμενους αλγόριθμους κατακερματισμού: Διαμορφώστε τον διακομιστή LDAP σας ώστε να επιτρέπετε μόνο τους ισχυρούς αλγόριθμους κατακερματισμού.

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

* Προστασία του διακομιστή LDAP: Ασφαλίστε τον διακομιστή LDAP σας από μη εξουσιοδοτημένη πρόσβαση.

Συνοπτικά, το `slappasswd` είναι η πιο κατάλληλη χρησιμότητα για τη δημιουργία hashes κωδικού πρόσβασης LDAP. Βεβαιωθείτε ότι έχετε επιλέξει έναν ισχυρό αλγόριθμο κατακερματισμού και διαμορφώστε ανάλογα τον διακομιστή LDAP σας για βέλτιστη ασφάλεια. Πάντα να δίνετε προτεραιότητα στις πιο ασφαλείς διαθέσιμες επιλογές.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα