Hallo erst einmal! Der aufmerksame DevTrain Besucher wird feststellen dass dies mein erster Artikel seit langem ist. Heute werde ich auf das kostenlose Tool aspnet_setreg.exe eingehen welches Sie unter dieser Adresse downloaden können:
MSDN (Knowledge base: KB329290, http://support.microsoft.com/default.aspx?scid=kb;EN-US;329290).
Oder besuchen Sie die Seite des ASP.NET Teams the www.asp.net und suchen Sie dort nach "aspnet_setreg".
Dieses Tool ermöglicht es Ihnen folgende Einträge einer Web.Config Datei zu versclüsseln und diese in der Registry abzulegen.
<identity userName="" password="" />
<processModel userName="" password="" />
<sessionState stateConnectionString="" sqlConnectionString="" />
Zwar wird die Web.Config durch die ASP.NET Engine nicht "serviert" aber sicher ist sicher.
Angenommen Sie wollen das Ihre ASP.NET Anwendung mit einem speziellen User Account läuft (Impersonation) dann würden Sie in die Web.Config folgendes einfügen:
<identity impersonate="true"
userName="MeinAccount"
password="MeinPWD"/>
Wie Sie unschwer erkennen, werden die Daten CLEAR Text abgelegt. Nun die Frage: "Wollen wir so etwas sehen?"
Ich will so etwas definitiv nicht sehen. Um nun diese Werte zu sichern müssen folgende Schritte ausgeführt werden:
1.Legen Sie nach dem Downloaden das aspnet_setreg.exe Tool an einer geeignete Stelle. ab (z.B: c:\MeineTools)
2.Starten Sie den Command Prompt (Start=>Ausführen=>cmd)
3. Geben Sie ein:
aspnet_setreg.exe -k:SOFTWARE\NAME MEINER ASP APP\identity -u:"MeinAccount" -p:"MeinPWD"
Dieses Kommand gibt Ihnen auch noch eine Ausgabe zurück.
Entscheidend ist nun dass Sie die beiden Registry Keys die ausgegeben werden anstelle der CLEAR TEXT Werte einfügen.
4.
<identity impersonate="true"
userName="registry:HKLM\SOFTWARE\MEINE_ASP_APP\identity\ASPNET_SETREG,userName"
password="registry:HKLM\SOFTWARE\MEINE_ASP_APP\identity\ASPNET_SETREG,password" />
5. Als letztes müssen wir der ASP.NET Engine auch noch die Berechtigung geben diese Keys und Values aus der Registry auszulesen.
Starten Sie den RegistryEditor (Start=>Ausführen=>
regedt32)
Wählen Sie den entsprechenden Pfad (DEMO:HKEY_LOCAL_MACHINE\SOFTWARE\MEINE_ASP_APP\)
Klicken Sie dann im KontextMenu des Nodes auf (Berechtigungen)
Im Formular müssen Sie nun den Account unter dem Ihre ASP.NET Engine läuft hinzufügen. Achtung: Windows 2003 & IIS 6 => NetworkService; Windows 2000, XP & IIS 5.x ASP.NET Account
Klicken Sie nach dem Hinzufügen des richtigen Accounts auf (Erweitert) und wählen Sie dann aus: Berechtigungen für alle untergeordneten Objekte übernehmen.
6. Fertig