Αναγν. άρθρου: 329290 - Τελευταία αναθεώρηση: Τρίτη, 21 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0

Τρόπος χρήσης του βοηθητικού προγράμματος ASP.NET για την κρυπτογράφηση πιστοποιήσεων και συμβολοσειρών σύνδεσης καταστάσεων περιόδου λειτουργίας

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

Σε αυτήν τη σελίδα

Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο χρήσης του βοηθητικού προγράμματος Aspnet_setreg.exe για την κρυπτογράφηση πιστοποιήσεων και συμβολοσειρών σύνδεσης καταστάσεων περιόδου λειτουργίας. Microsoft ASP.NET έκδοση 1.0 απαιτεί να αποθηκεύσετε πιστοποιήσεις απλού κειμένου στα αρχεία ρύθμισης παραμέτρων, εάν θέλετε να κάνετε ένα από τα εξής:
  • Για να αλλάξετε την ταυτότητα της διαδικασίας εργασίας ASP.NET.
  • Καθορίστε μια ταυτότητα απομίμησης.
  • Καθορίστε μια συμβολοσειρά σύνδεσης για την κατάσταση περιόδου λειτουργίας.
Όταν εφαρμόζετε την επείγουσα επιδιόρθωση που περιγράφεται στο άρθρο της Γνωσιακής Βάσης της Microsoft 329250 (ανατρέξτε στην ενότητα "Αναφορές"), μπορείτε να χρησιμοποιήσετε τα κρυπτογραφημένα δεδομένα που είναι αποθηκευμένα στο μητρώο αντί για απλό κείμενο στις ακόλουθες ενότητες παραμέτρων:
  • <identity username="password="></identity>
  • <processmodel username="password="></processmodel>
  • <sessionstate stateconnectionstring="sqlConnectionString="></sessionstate>

ΕΙΣΑΓΩΓΗ

Χρησιμοποιήστε το βοηθητικό πρόγραμμα Aspnet_setreg.exe για να κρυπτογραφήσει και να αποθηκεύσετε αυτές τις τιμές χαρακτηριστικών στο μητρώο, κάτω από ένα ασφαλές κλειδί. Χρήση τουCryptProtectDataσυνάρτηση με τη σημαία CRYPTPROTECT_LOCAL_MACHINE για την κρυπτογράφηση των πιστοποιήσεων. Επειδή όλοι όσοι έχουν πρόσβαση στον υπολογιστή μπορούν να καλέσουνCryptUnprotectData, αποθηκεύονται κρυπτογραφημένα δεδομένα κάτω από ένα κλειδί μητρώου ασφαλές με μια λίστα ελέγχου διακριτικής πρόσβασης ισχυρό (DACL). Όταν ASP.NET αναλύει το αρχείο ρύθμισης παραμέτρων, διαβάζει το κλειδί μητρώου ασφαλείς και, στη συνέχεια, χρησιμοποιείCryptUnprotectDataγια την αποκρυπτογράφηση των δεδομένων.

Διαβάζει Inetinfo.exe, η οποία εκτελείται με την ταυτότητα του συστήματος, το <processmodel></processmodel> ενότητα. Για να διαβάσετε τα κλειδιά μητρώου που αποθηκεύει το όνομα χρήστη και κωδικό πρόσβασης για τη διαδικασία εργασίας ASP.NET, ο λογαριασμός System πρέπει να έχουν δικαίωμα ανάγνωσης σε αυτά τα κλειδιά.

Το ASP.NET βοηθητικής παράλληλης διεργασίας (Aspnet_wp.exe) διαβάζει το <identity></identity> και <sessionstate></sessionstate> ενότητες. Για να διαβάσετε αυτά τα κλειδιά μητρώου, ο λογαριασμός διαδικασίας εργασίας πρέπει να έχουν δικαίωμα ανάγνωσης σε αυτά τα κλειδιά. Εάν το περιεχόμενο που φιλοξενείται σε διεθνούς σύμβασης ονομάτων (UNC) μοιράζονται, ο λογαριασμός που χρησιμοποιείται για πρόσβαση στο κοινόχρηστο στοιχείο UNC πρέπει να έχετε το δικαίωμα να διαβάσετε αυτά τα κλειδιά.

Από προεπιλογή, τα κλειδιά μητρώου που δημιουργεί Aspnet_setreg.exe εκχωρήσετε πλήρη έλεγχο στους λογαριασμούς System Administrator και Creator Owner. Μπορείτε να χρησιμοποιήσετε το αρχείο Regedt32.exe για να τροποποιήσετε τη λίστα DACL του κλειδιού μητρώου. Βεβαιωθείτε ότι αυθαίρετου χρήστες δεν είναι δυνατό να διαβάσει τα κλειδιά μητρώου.

Κάντε επανεκκίνηση των IIS

Οι αλλαγές τίθενται σε ισχύ, πρέπει να κάνετε επανεκκίνηση του Microsoft Internet Information Services (IIS). Με την επανεκκίνηση των υπηρεσιών IIS, μπορείτε να ξεκινήσετε μια νέα ASP.NET βοηθητικής παράλληλης διεργασίας. Για να το κάνετε αυτό, κάντε κλικ στο κουμπίStartΚάντε κλικΕκτέλεσηTYPEiisresetΣτοOpenπλαίσιο και στη συνέχεια κάντε κλικOk.

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

Περισσότερες πληροφορίες

Κάντε λήψη και εκτελέστε Aspnet_setreg.exe

Το ακόλουθο αρχείο είναι διαθέσιμο για λήψη από το Κέντρο λήψης της Microsoft (Download Center):

Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
Λήψη
Άμεση λήψη του πακέτου Aspnet_setreq.exe. (http://download.microsoft.com/download/2/9/8/29829651-e0f0-412e-92d0-e79da46fd7a5/Aspnet_setreg.exe)
Ημερομηνία έκδοσης:, 11 Απριλίου 2003

Για περισσότερες πληροφορίες σχετικά με τον τρόπο λήψης αρχείων υποστήριξης της Microsoft, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
119591  (http://support.microsoft.com/kb/119591/ ) Τρόπος απόκτησης αρχείων υποστήριξης της Microsoft από ηλεκτρονικές υπηρεσίες
Η Microsoft εξέτασε το αρχείο αυτό για ιούς. Η Microsoft χρησιμοποίησε το πιο πρόσφατο λογισμικό εντοπισμού ιών που ήταν διαθέσιμο κατά την ημερομηνία δημοσίευσης του αρχείου. Το αρχείο είναι αποθηκευμένο σε διακομιστές με ενισχυμένη ασφάλεια, οι οποίοι συμβάλλουν στην αποτροπή μη εξουσιοδοτημένων αλλαγών στο αρχείο.

Για να εμφανίσετε όλους τους διαθέσιμους διακόπτες της γραμμής εντολών και τη χρήση τους, εκτελέσετε αυτό το εργαλείο από τη γραμμή εντολών χωρίς διακόπτες της γραμμής εντολών. Εάν έχετε αποθηκεύσει αυτό το εργαλείο για να C:\Tools\, εκτελέστε την ακόλουθη εντολή από τη γραμμή εντολών για να εμφανίσετε όλες τις διαθέσιμες διακόπτες και Βοήθεια για τους διακόπτες:
C:\Tools>aspnet_setreg.exe

Χρήση κρυπτογραφημένων χαρακτηριστικών στο αρχείο ρύθμισης παραμέτρων

ΣημαντικόΑυτή ενότητα, μέθοδο ή εργασία περιέχει βήματα που θα σας πληροφορήσει πώς να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Κατά συνέπεια, βεβαιωθείτε ότι ακολουθείτε προσεκτικά τα εξής βήματα. Για επιπλέον προστασία, δημιουργήστε αντίγραφα ασφαλείας του μητρώου προτού το τροποποιήσετε. Με αυτόν τον τρόπο, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows


ΣΗΜΕΙΩΣΗΤο εργαλείο αυτό δημιουργεί τα κλειδιά μητρώου κάτω από τοHKEY_LOCAL_MACHINEΔευτερεύον δέντρο. Από προεπιλογή, μόνο οι διαχειριστές μπορούν να δημιουργήσετε κλειδιά κάτω από το δευτερεύον δέντρο. Βεβαιωθείτε ότι έχετε συνδεθεί ως διαχειριστής για να δημιουργήσετε με επιτυχία αυτά τα κλειδιά μητρώου.
  1. Encrypt theuserNameANDPASSWORDattributes to be used with the<identity></identity>Ενότητα. (You can also do this for the other sections that are mentioned in this article). To do this, type the following command at the command line:
    c:\Tools>aspnet_setreg.exe -k:SOFTWARE\MY_SECURE_APP\identity -u:"yourdomainname\username" -p:"password"
    This command encrypts theuserNameANDPASSWORDattributes, creates registry keys at any location that you specify, and then stores the attributes in those registry keys. This command also generates output that specifies how to change your Web.config or Machine.config file so that ASP.NET will use these keys to read that information from the registry.

    After you execute this command, you receive output that is similar to the following:
    Please edit your configuration to contain the following:

    userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName"
    password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password"

    The DACL on the registry key grants Full Control to System, Administrators, and Creator Owner.

    If you have encrypted credentials for the <identity></identity> configuration section, or a connection
    string for the <sessionstate></sessionstate> configuration section, ensure that the process identity has
    Read access to the registry key. Furthermore, if you have configured IIS to access content on a
    UNC share, the account used to access the share will need Read access to the registry key.
    Regedt32.exe may be used to view/modify registry key permissions.

    You may rename the registry subkey and registry value in order to prevent discovery.
  2. Modify the corresponding configuration file to point to these registry keys. If these values must be used in the<identity></identity>section, the resulting<identity></identity>section resembles the following.
    <identity impersonate="true"
    userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName"
    password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password" />
    					
  3. Grant Read permissions to the Aspnet_wp.exe process account. For more information about how to change permissions for registry keys, see the "Use Regedt32.exe to grant permissions for the ASP.NET account on these registry keys" section.

Use Regedt32.exe to grant permissions for the ASP.NET account on these registry keys

ΣημαντικόΑυτή ενότητα, μέθοδο ή εργασία περιέχει βήματα που θα σας πληροφορήσει πώς να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Κατά συνέπεια, βεβαιωθείτε ότι ακολουθείτε προσεκτικά τα εξής βήματα. Για επιπλέον προστασία, δημιουργήστε αντίγραφα ασφαλείας του μητρώου προτού το τροποποιήσετε. Με αυτόν τον τρόπο, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows
  1. Κάντε κλικStartΚάντε κλικΕκτέλεσηTYPERegedt32ΣτοOpenπλαίσιο και στη συνέχεια κάντε κλικOk.
  2. Κάντε κλικ στην καρτέλα
    HKEY_LOCAL_MACHINE\SOFTWARE\MY_SECURE_APP\
    Δευτερεύον κλειδί.
  3. Στο διακομιστήSecurityμενού, κάντε κλικ στο κουμπίΔικαιώματαΓια να ανοίξετε τοΔικαιώματαπαράθυρο διαλόγου πλαίσιο.

    On Microsoft Windows XP or on Windows Server 2003, right-click the registry key, and then clickΔικαιώματα.
  4. Κάντε κλικADD. In the dialog box that opens, typeyourservername\ASPNETyourservername\NetWork Service when using Windows Server 2003 (IIS 6.0)), and then clickOk.
  5. Make sure that the account that you just added has Read permissions, and then clickOk.
  6. Κλείστε τον Επεξεργαστή Μητρώου (Registry Editor).

Αναφορές

Για περισσότερες πληροφορίες σχετικά με μια επείγουσα επιδιόρθωση που σας επιτρέπει να χρησιμοποιήσετε τις δυνατότητες που περιγράφονται σε αυτό το άρθρο, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
329250  (http://support.microsoft.com/kb/329250/ ) ΕΝΗΜΕΡΩΣΗ: Ισχυρότερο διαπιστευτήρια για processModel ταυτότητα και sessionState
ΣΗΜΕΙΩΣΗΗ ενημέρωση κώδικα που περιγράφεται στο άρθρο 329250 είναι διαθέσιμη μόνο για το .NET Framework 1.0.

Για περισσότερες πληροφορίες σχετικά με τα Microsoft Windows μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
256986  (http://support.microsoft.com/kb/256986/ ) Περιγραφή του μητρώου των Microsoft Windows
Για περισσότερες πληροφορίες σχετικά με το ASP.NET, κάντε κλικ στο παρακάτω αριθμούς άρθρων για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:
315158  (http://support.microsoft.com/kb/315158/ ) ΕΝΗΜΕΡΩΣΗ: Το ASP.NET δεν λειτουργεί με τον προεπιλεγμένο λογαριασμό ASPNET σε έναν ελεγκτή τομέα
ΣΗΜΕΙΩΣΗΗ ενημέρωση κώδικα που περιγράφεται στο άρθρο 315158 είναι διαθέσιμη μόνο για το .NET Framework 1.0.

317012  (http://support.microsoft.com/kb/317012/ ) Ταυτότητα αίτησης και διαδικασίας στο ASP.NET

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Λέξεις-κλειδιά: 
kbproductlink kbdownload kbconfig kbfix kbhowtomaster kbsecurity kbstate kbmt KB329290 KbMtel
Μηχανικά μεταφρασμένοΜηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:329290  (http://support.microsoft.com/kb/329290/en-us/ )