¿Cómo podemos cifrar la sección de cadena de conexión en el archivo web.config?Cifrado de la cadena de conexión en web.config
Respuesta
uso aspnet_regiis.exe http://msdn.microsoft.com/en-us/library/zhhddkxy.aspx
http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.protectsection.aspx
¿podría decirme cuáles son las ventajas de utilizar la herramienta aspnet_regiis.exe cuando el archivo de cifrado solo se puede utilizar en una máquina local y no se puede usar en el servidor de alojamiento? –
Rahul, la conversión de una cadena de ASCII a cadena de base 64 no es una encriptación, que es lo que sugiere tu primer enlace s. Podemos convertir fácilmente base64 a ASCII.
Usar configsection.protectSection() con una clave RSA es un cifrado adecuado que está disponible para las secciones del archivo Web.config.
Comprobar este enlace: http://www.beansoftware.com/ASP.NET-Tutorials/Encrypting-Connection-String.aspx
Tenga en cuenta, que no podemos cifrar el archivo Web.config en un entorno de alojamiento compartido en el nivel de confianza se establece en la confianza medio.
Para guardar tener que visitar los enlaces externos, en C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 (para .NET 4/4,5)
aspnet_regiis.exe -pe "connectionStrings" -app "/YourWebSiteName" -prov "DataProtectionConfigurationProvider"
Para descifrar la sección connectionStrings uso de esta herramienta, puede especificar el siguiente comando en la herramienta aspnet_iisreg.exe.
aspnet_regiis.exe -pd "connectionStrings" -app "/YouWebSiteName"
¿podría decirme cuáles son las ventajas de usar la herramienta aspnet_regiis.exe cuando el archivo de cifrado solo se puede utilizar en una máquina local y no se puede usar en el servidor de alojamiento? –
que realmente depende del motivo por el que desea encriptar el archivo; si es para desarrollo y no tiene información confidencial en su máquina de desarrollo, entonces no creo que tenga mucho sentido (aparte de las pruebas), sin embargo, en una servidor en vivo o una máquina donde hay información sensible que podría ser pirateada ... luego está su beneficio –
El cifrado es útil para dar seguridad a la aplicación. Encuentre los siguientes pasos para encriptar web.config.
- Open Command Prompt con privilegios de administrador
- En el símbolo del sistema, escriba
- cd C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319
- En caso de que su web se encuentra en Config "D: \ Artículos \ EncryptWebConfig" ruta del directorio, a continuación, introduzca la siguiente para cifrar el ConnectionString:
- aspnet_regiis -pef "connectionStrings" y "D: \ Artículos \ EncryptWebConfig
He usado otra cosa para más seguridad. En mi Web.config he agregado el siguiente código.
<httpProtocol>
<customHeaders>
<add name="x-Frame-Option" value="Deny or SEMEORGIN" />
<remove name="Server" />
<remove name="X-AspNet-Version" />
<remove name="X-AspNetMvc-Version" />
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
Ejecutar este comando en: Aspnet_regiis.exe -pef "connectionStrings" "pathToWebConfig"
o, si se desea esto para ejecutar mediante programación puede crear un proceso:
string fileName = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe";
if (8 == IntPtr.Size
|| (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
fileName = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe";
string arguments = $"-pef \"connectionStrings\" \"{application.Path}\"";
using (Process process = new Process())
{
process.EnableRaisingEvents = true;
process.StartInfo = new ProcessStartInfo
{
FileName = exeName,
Arguments = arguments,
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true
};
process.Start();
processOutput.Output = process.StandardOutput.ReadToEnd();
bool exited = process.WaitForExit(timeoutMilliseconds);
if (exited)
{
processOutput.ExitCode = process.ExitCode;
}
}
¿podría decirme cuáles son las ventajas de usar la herramienta aspnet_regiis.exe, cuando el archivo de cifrado es utilizable en la máquina local y no puede uso en servidor de alojamiento?! –
- 1. ASP.NET Cadena de conexión del cifrado/Protección
- 2. Cifrado de cadena de conexión, ¿cuál es la idea?
- 3. cifrado Web.Config
- 4. Web.config Error de cifrado
- 5. escape cita en la cadena de conexión web.config
- 6. Obtener cadena de conexión de Web.config en asp.net
- 7. Cadena de conexión C# en el archivo web.config
- 8. Cifrado de secciones personalizadas de un web.config
- 9. AppSettings Cifrado de archivos externo a Web.config
- 10. En C#, ¿cómo puedo leer una cadena de conexión almacenada en mi cadena de conexión de archivos web.config?
- 11. Mejores prácticas de cadena de conexión
- 12. cadena de conexión DB en Web.config para usar la base de datos adjunta .mdf no funcionará
- 13. Cifrado de cadena multiplataforma
- 14. general cadena de cifrado
- 15. Obtenga varias cadenas de conexión de web.config
- 16. ¿Cómo uso la transformación Web.Config en mis cadenas de conexión?
- 17. Usando Web.Config para configurar mi cadena de conexión a la base de datos SQL?
- 18. Prueba - Falta la cadena de conexión
- 19. usando App_Data en la cadena de conexión
- 20. Mejores prácticas de la cadena de conexión de Azure
- 21. ¿De dónde proviene esta conexión de conexión SQLExpress permanente (no web.config)?
- 22. cadena de conexión EDMX
- 23. Usar cadenas de conexión dos veces en el archivo web.config; otra para la configuración de Nlog
- 24. Dónde almacenar la cadena de conexión para ASP clásico?
- 25. Cifrado de una cadena con una pila
- 26. ¿Cómo acceder a la clave de cifrado utilizada de la conexión SSL actual en Firefox?
- 27. Pasar la cadena de conexión a primer código DbContext
- 28. Establezca ConnectionString de la aplicación en la configuración del servicio en lugar de web.config en Azure
- 29. Duración de la conexión = 0 en la cadena de conexión MySql
- 30. de cifrado/ofuscar una cadena literal en tiempo de compilación
El el segundo enlace es basura. La ofuscación no es * lo mismo que el encriptado. –
Con respecto al segundo enlace: "Seguridad por oscuridad" no es recomendable, consulte el principio de Kerckhoff. – Calum
¿podría decirme cuáles son las ventajas de usar aspnet_regiis?herramienta exe, cuando el archivo de cifrado solo se puede utilizar en la máquina local y no se puede utilizar en el servidor de alojamiento?! –