Konfigurationsfiler, som fx web.config, bør krypteres hvis de indeholder følsom information (fx connections strings eller brugernavn og kodeord). Dette kan ske på flere måder, se fx:
How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI
eller
How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA (i web farm scenarier)
Hvis du vælger kryptering af en web.config vha. DPAPI skal du være opmærksom på, at denne metode på IIS 6.0 ikke tåler, at du genstarter af serveren! Genstart af IIS fungerer fint, men genstartes hele serveren vil du få fejlen:
Failed to decrypt using provider
Dette skyldes, at IIS 6.0 pr default ikke loader brugerprofilen for den konto der anvendes af application poolen, hvorfor der ikke efter genstart er adgang til de nødvendige nøgler.
En mulig løsning er, at lave en dummy windows service og konfigurere denne til at logge på med den samme konto som benyttes af web-applikationens application pool.
På IIS 7.0 kan man under application pools advanced settings sætte load user profile til true, og herved undgå at lave ovenstående dummy service hack:
1 comment:
Ja det er rigtigt, men det vil ikke virke i en webfarm.
Du kan ændre kryteringsmetode til RSA via RsaEncryptionCookieTransform, så vil det virke. Se: http://social.technet.microsoft.com/wiki/contents/articles/1898.aspx#Q1
Post a Comment