IIS: Proteger connectionstring y passwords en web.config

iis7-banner

Si estamos publicando una aplicación en servidores de producción como IIS, debemos proteger dentro de nuestro web.config, la cadena de conexión de BBDD para no mostrar usuario y password, para ello, hay varias formas de hacerlo:

1) Usar seguridad integrada “SSPI” y evitar user/password en cadena de conexión:

<configuration>
 <connectionStrings>
 <add name=”SqlServices” connectionString=”Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;” />
 </connectionStrings>
 </configuration

2) Encriptar la cadena de conexión(ver enlace codeproject Tips):

Framework: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
ocultar: ASPNET_REGIIS -pef “connectionStrings” “c:\appweb\EncryptWebConfig”
mostrar: ASPNET_REGIIS -pdf “connectionStrings” “c:\appweb\EncryptWebConfig”

 <CipherData>
 <CipherValue>42IPPRUjJxCNDHEBLCAJI4/NyLpLueZSBzUXO69lVdZU8+nLpxO+opnbZNxqddyzNnbCO1Uk2Da3ljExkqnLIxT2zs90JAhZvJ5ljIgCipq7ZEp7zHOpvTH9fBGoZJJWhgdddOrHZsLDE9mILjlvBHDhPQrYcMHtY6oLIbxJq92it82iBJv0fS7v1S/o0p4hAtfky+6hXCZWSKUJHr88NDrKe2EEK3mazD2QD5Ozf/w=</CipherValue>
 </CipherData

3) Para otro tipos de password que esten en appSetting, podemos usar esta técnica:

<appSettings file="..\..\AppSettingsSecrets.config">
   <add key="webpages:Version" value="3.0.0.0" />
   <add key="webpages:Enabled" value="false" />
   <add key="ClientValidationEnabled" value="true" />
   <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

MS-Link: Prácticas recomendadas para implementar las contraseñas y datos confidenciales en applicaciones

Espero que sea de utilidad.

Deja un comentario