2011-05-11 23 views
11

Per quanto posso dire, qualsiasi sezione in un file web.config può essere crittografata & decifrata usando aspnet_regiis.exe.Perché crittografare un file di configurazione Web?

Se aspnet_regiis può essere utilizzato per decrittografare il file web.config, qual è il punto di crittografia? E 'solo per mantenere le password delle informazioni sensibili & memorizzate come testo normale? Se qualcuno con il file e l'exe può decrittografarlo, protegge davvero le informazioni config sensibili?

UPDATE

Grazie a tutti coloro che hanno risposto per quanto riguarda la chiave del computer. Il motivo per cui ho posto questa domanda è perché abbiamo un progetto open source ospitato su codeplex.com. Tuttavia, distribuiamo questo progetto anche a Windows Azure. Sto cercando di trovare un approccio migliore per mantenere le password sensibili fuori dal controllo del codice sorgente, ma tenerle accessibili come parte del mio progetto per quando eseguo la distribuzione in Azure.

Attualmente sto utilizzando trasformazioni di configurazione Web per archiviare le stringhe di connessione di Azure (nonché le password di Gmail per system.net). Ho creato un file di trasformazione Web.PublishToAzure.config e ho semplicemente mantenuto il file fuori dal controllo del codice sorgente. Ho anche trovato this article che potrebbe essere un'opzione migliore. Grazie ancora.

+0

Il collegamento a "questo articolo" non esiste. Mi piacerebbe davvero dare un'occhiata, se possibile. Grazie. –

risposta

2

risposta semplicistica: non avranno accesso alla chiave

Credo che per default la chiave viene memorizzata nell'archivio certificati della macchina, in modo da un utente malintenzionato avrebbe bisogno di avere accesso anche a questo. Non sono un esperto ma questo è il senso.

8

Il file è crittografato utilizzando chiavi specifiche della macchina. Se è vero che chiunque abbia accesso a livello di macchina può decrittografarlo, la sua crittografia bloccherebbe le persone con accesso FTP poiché non dispongono delle chiavi DPAPI della macchina.

4

mia comprensione è che l'aspnet_regiis.exe utilizza una chiave specifica macchina come "sale"

Se si crittografa una sezione su una macchina, e poi prendere la configurazione ad un'altra macchina e cercare di decifrare, è non funzionerà.

+0

+1 per menzionare la parte relativa allo spostamento del file crittografato su un'altra macchina. – Andrew

4

Nella storia, sono stati rilevati exploit nei browser o nel software del server Web che consentiva agli utenti di visualizzare qualsiasi file sul disco rigido del server. In un caso come questo, il file web.config crittografato potrebbe essere di qualche utilità. Tuttavia, se un server Web è stato compromesso consentendo l'accesso remoto al server stesso, avere un file web.config crittografato sarà l'ultima delle tue preoccupazioni.

+0

concordato. Sto pensando più in termini di mantenere le password e altre informazioni sensibili fuori dal controllo del codice sorgente. – danludwig

Problemi correlati