Διόρθωση σφάλματος κρυπτογράφησης SQL Server - Λύση με ένα κλικ
Ο SQL Server συνδέεται και, στη συνέχεια, αρνείται τη σύνδεση επειδή δεν μπορεί να εμπιστευτεί το πιστοποιητικό του διακομιστή. Αυτό δεν είναι πρόβλημα δικτύου και τα δεδομένα σας δεν έχουν εξαφανιστεί - είναι πρόβλημα εμπιστοσύνης. Επεξεργαστείτε τις επιδιορθώσεις με τη σειρά που τις δείχνει το βίντεο: η γρήγορη επιλογή από την πλευρά του πελάτη, ο ίδιος διακόπτης μέσα σε μια συμβολοσειρά σύνδεσης εφαρμογής και η σωστή επιδιόρθωση στον ίδιο τον διακομιστή.
📑Κεφάλαια
- Το σφάλμα σύνδεσης - "Η αλυσίδα πιστοποιητικών εκδόθηκε από μια αρχή που δεν είναι αξιόπιστη"
- Τι πραγματικά σημαίνει το σφάλμα - απαιτείται κρυπτογράφηση, το πιστοποιητικό του διακομιστή δεν μπορεί να αποδείξει την ταυτότητά του
- Η γρήγορη επιδιόρθωση πελάτη - Πιστοποιητικό διακομιστή αξιοπιστίας στο παράθυρο σύνδεσης SSMS
- Η ίδια επιδιόρθωση μέσα σε μια συμβολοσειρά σύνδεσης εφαρμογής
- Η σωστή επιδιόρθωση - δώστε στον διακομιστή ένα πραγματικό πιστοποιητικό που εμπιστεύονται οι πελάτες από μόνοι τους
- Επαλήθευση της επιδιόρθωσης - επανασυνδέστε τον αυστηρό τρόπο και αποδείξτε ότι η κρυπτογράφηση είναι πραγματικά ενεργή
📋 Επισκόπηση και οδηγός βήμα προς βήμα
Διαβάστε το Σφάλμα - Είναι πρόβλημα εμπιστοσύνης, όχι πρόβλημα δικτύου
Το δίκτυό σας είναι εντάξει και ο διακομιστής λειτουργεί. Η σύνδεση έφτασε στον SQL Server, ο διακομιστής πρόσφερε ένα κρυπτογραφημένο κανάλι για τη σύνδεση και ο υπολογιστής σας το αρνήθηκε επειδή το πιστοποιητικό που αποδεικνύει την ταυτότητα του διακομιστή είναι υπογεγραμμένο από κανέναν που δεν εμπιστεύεται ο υπολογιστής σας. Το πλήρες σφάλμα που εμφανίζει το SSMS είναι:
Από προεπιλογή, ο SQL Server προστατεύει τη σύνδεση με ένα αυτο-υπογεγραμμένο πιστοποιητικό που δημιουργεί ο ίδιος. Ένα αυτουπογεγραμμένο πιστοποιητικό κρυπτογραφεί την κίνηση, αλλά δεν μπορεί να αποδείξει ότι ο διακομιστής είναι πραγματικά ο διακομιστής σας, επομένως οι πελάτες που απαιτούν επαληθευμένη κρυπτογράφηση το απορρίπτουν. Κάθε ειλικρινής επιδιόρθωση είναι ένα από τα δύο πράγματα: κάντε τον πελάτη να αποδεχτεί τον συγκεκριμένο διακομιστή εν γνώσει του (Βήματα 2 και 3) ή δώστε στον διακομιστή ένα πιστοποιητικό που εμπιστεύονται οι πελάτες μόνοι τους (Βήμα 4).
Η γρήγορη επιδιόρθωση πελάτη στο SSMS - Trust Server Certificate
Αυτή είναι η γρήγορη διαδρομή που φαίνεται στο βίντεο. Δεν αλλάζει τίποτα στον διακομιστή. λέει σε αυτή τη σύνδεση να αποδεχτεί το πιστοποιητικό του διακομιστή χωρίς να ελέγξει ποιος το υπέγραψε. Στο παράθυρο SSMS Σύνδεση με διακομιστή, κάντε κλικ στην επιλογή Επιλογές για να ανοίξετε τις επιπλέον καρτέλες, μεταβείτε στην καρτέλα Ιδιότητες σύνδεσης, ορίστε την κρυπτογράφηση σε Υποχρεωτικό (ή αφήστε την όπως προσφέρεται), επιλέξτε Πιστοποιητικό διακομιστή αξιόπιστου και κάντε κλικ στο C. Η σύνδεση περνάει αμέσως.
Η ίδια επιδιόρθωση μέσα σε μια συμβολοσειρά σύνδεσης εφαρμογής
Εάν μια εφαρμογή αποτύχει αντί για SSMS, ο ίδιος διακόπτης μένει στη συμβολοσειρά σύνδεσής της. Προσθέστε ρητά τις δύο ρυθμίσεις - Encrypt=True ενεργοποιεί το προστατευμένο κανάλι και το TrustServerCertificate=True είναι η ορθογραφία της συμβολοσειράς σύνδεσης του πλαισίου ελέγχου SSMS:
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;
Χρησιμοποιήστε το δικό σας όνομα διακομιστή, βάση δεδομένων και σύνδεση στη θέση των παραδειγμάτων τιμών. Η αντιστάθμιση είναι ακριβώς η ίδια με το πλαίσιο ελέγχου στο Βήμα 2, με έναν επιπλέον κίνδυνο: ο έλεγχος που έχει παραλειφθεί, αφού γίνει στη διαμόρφωση μιας εφαρμογής που έχει αποσταλεί, ισχύει για κάθε χρήστη, αόρατα και μόνιμα. Διατηρήστε το σε διαμορφώσεις ανάπτυξης και σταδιακής διαμόρφωσης και στην παραγωγή, αντιμετωπίστε το ως δανεισμένο χρόνο έως ότου εγκατασταθεί το πιστοποιητικό διακομιστή στο Βήμα 4.
Encrypt. Οι συμβολοσειρές σύνδεσης που δεν ανέφεραν ποτέ κρυπτογράφηση άρχισαν να το απαιτούν, έναντι διακομιστών των οποίων τα αυτο-υπογεγραμμένα πιστοποιητικά δεν μπορούν να περάσουν την επικύρωση. Δεν άλλαξε τίποτα σχετικά με τη βάση δεδομένων σας. το συμβόλαιο μέσα στη χορδή έκανε. Η ρητή εγγραφή των ρυθμίσεων σημαίνει ότι η επόμενη ενημέρωση προγράμματος οδήγησης δεν μπορεί να αλλάξει τη συμπεριφορά της εφαρμογής σας πίσω από την πλάτη σας.Η σωστή επιδιόρθωση - Δώστε στον διακομιστή ένα πραγματικό πιστοποιητικό
Η μόνιμη επισκευή γίνεται μία φορά, στον διακομιστή, και στη συνέχεια κάθε πελάτης συνδέεται αυστηρά χωρίς πλαίσιο ελέγχου και χωρίς προειδοποίηση. Πρώτα λάβετε ένα πιστοποιητικό για το πλήρες όνομα DNS του διακομιστή (για παράδειγμα sql01.company.local) από την εσωτερική αρχή έκδοσης πιστοποιητικών ή μια δημόσια αρχή έκδοσης πιστοποιητικών, με χρήση Έλεγχος ταυτότητας διακομιστή. Εισαγάγετε το, με το ιδιωτικό του κλειδί, στο χώρο αποθήκευσης πιστοποιητικών Τοπικός υπολογιστής στον υπολογιστή SQL Server. Στη συνέχεια, κάντε δεξί κλικ στο πιστοποιητικό, επιλέξτε Όλες οι εργασίες → Διαχείριση ιδιωτικών κλειδιών και εκχωρήστε στον λογαριασμό υπηρεσίας SQL Server το δικαίωμα Ανάγνωσης στο ιδιωτικό κλειδί. Ανοίξτε το SQL Server Configuration Manager, αναπτύξτε το SQL Server Network Configuration, κάντε δεξί κλικ στο Πρωτόκολλα για MSSQLSERVER, επιλέξτε Ιδιότητες και επιλέξτε το πιστοποιητικό στην καρτέλα Πιστοποιητικό. Στην καρτέλα Σημαίες μπορείτε επίσης να ορίσετε το ForceEncryption σε Ναι, ώστε κάθε πελάτης να απαιτείται να κρυπτογραφεί. Επανεκκινήστε την υπηρεσία SQL Server - η αλλαγή δεν κάνει τίποτα μέχρι να το κάνετε.
Επαληθεύστε το Fix the Strict Way
Μια σύνδεση που πετυχαίνει αθόρυβα αποδεικνύεται λιγότερο από ό, τι νομίζουν οι άνθρωποι, επειδή ορισμένοι συνδυασμοί ρυθμίσεων συνδέονται χωρίς πραγματική προστασία. Αποδείξτε και τα δύο μισά. Αρχικά, επανασυνδεθείτε από έναν πελάτη με τον αυστηρό τρόπο: συνδεθείτε χρησιμοποιώντας το όνομα DNS του διακομιστή - το όνομα μέσα στο πιστοποιητικό - ορίστε την κρυπτογράφηση σε Υποχρεωτική και αφήστε το Πιστοποιητικό διακομιστή αξιοπιστίας χωρίς επιλογή. Η σύνδεση πρέπει να είναι επιτυχής χωρίς προειδοποίηση. Στη συνέχεια, στην ίδια περίοδο λειτουργίας, ρωτήστε τον διακομιστή εάν η σύνδεση είναι πραγματικά κρυπτογραφημένη εκτελώντας αυτό το ερώτημα σε SSMS:
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;
Το encrypt_option δείχνει ότι το TRUE είναι ο επιτυχής βαθμός. FALSE με μια λειτουργική σύνδεση σημαίνει ότι η σύνδεση πέτυχε με απόρριψη προστασίας και η εργασία δεν ολοκληρώθηκε. Αυτή η επιτυχής δοκιμή είναι η πραγματική γραμμή τερματισμού: κάθε σωστά διαμορφωμένος πελάτης, συμπεριλαμβανομένων των μελλοντικών εκδόσεων SSMS, συνδέεται πλέον με πλήρη επικύρωση και χωρίς ειδικές ρυθμίσεις.
🏷️Μεταβλητές και λέξεις-κλειδιά αναζήτησης θεμάτων
🎙️ Πλήρης μεταγραφή — πατήστε για ανάπτυξη
__TOK_24__
__TOK_25__
__TOK_26__
❓ Συχνές Ερωτήσεις
Είναι αυτό το σεμινάριο 100% δωρεάν για παρακολούθηση;
__TOK_27__
Μπορούν οι αρχάριοι να ακολουθήσουν αυτόν τον οδηγό;
__TOK_28__
Πού μπορώ να κάνω ερωτήσεις αν κολλήσω;
__TOK_29__