¿Cómo puedo asegurar mi ConnectionString en la aplicación WinForm?Secure ConnectionString en aplicaciones WinForm
Respuesta
No puede. Aunque puede encriptar la cadena de conexión en el archivo app.config, la aplicación necesita poder descifrarlo y, por lo tanto, siempre es posible recuperar la cadena de conexión desencriptada, especialmente con una aplicación administrada (tal vez no para su usuario final típico). pero cualquier desarrollador experto puede hacer esto).
La solución a esto es no apoyarse en security by obscurity. Use Seguridad integrada de Windows al conectarse a la base de datos utilizando la cuenta de usuario de Windows y otorgue al usuario la cantidad mínima de derechos en la base de datos.
A menudo, sin embargo, esto no es suficiente, porque es muy difícil asegurar la base de datos lo suficiente cuando los usuarios finales se conectan directamente a la base de datos (a menudo porque necesita seguridad a nivel de fila). Para que esto funcione, debe denegar el acceso a las tablas y vistas y recurrir por completo a los procedimientos almacenados.
Un mejor enfoque, sin embargo, es evitar que la aplicación de escritorio se comunique directamente con la base de datos; utiliza un servicio web como capa intermedia. En ese caso, usted tiene control total sobre la seguridad y puede almacenar la cadena de conexión de forma segura en el servidor (web).
+1 para "No puedes". No hay seguridad absoluta especialmente con aplicaciones administradas. Puede hacer cumplir la seguridad con algunas cosas como incluir una capa de servicio web y aislar usuarios de la base de datos, pero aún así no será perfecto. Debe tener esto en cuenta desde el momento en que se crea la aplicación. –
@Steven el enlace a "Seguridad integrada de Windows" está roto. :) –
Esto se le pide mucho en aquí ...
Encrypting sections and-or settings in an App.config file that will be redistributed
Nunca parece ser una respuesta finita en él ... Parece que es uno de los que "cada uno para sus propios "tipos de escenarios ... usa lo que mejor se adapte a tu situación.
Las respuestas son muy finitas, su comentario peligroso en forma de respuesta es engañoso. – MickLH
Eh, como todo lo cifrado, es el trabajo del propietario cambiar periódicamente la "clave privada" para evitar el descifrado por piratería. el tiempo en que encriptas toda la configuración o solo una parte es lo que está "a la elección", por lo tanto no es finito, pero tal vez finito no era la elección correcta de la palabra, tal vez "específico correcto" sería mejor. – War
No entendió el punto, el hecho es que encriptar la configuración es una idea equivocada; en su lugar, debe proporcionar una interfaz segura a los datos confidenciales, ya que una aplicación siempre _deberá_ descifrar su configuración en tiempo de ejecución para que sea útil. – MickLH
- 1. Sharp Architecture para aplicaciones Winform?
- 2. aseguramiento connectionstring
- 3. ODBC ConnectionString
- 4. Un tutorial para el informe de Microsoft en aplicaciones WinForm
- 5. Secure File Delete en C
- 6. servlet set cookie secure?
- 7. Secure Python Markdown Library
- 8. Android Secure Storage
- 9. PHP secure root
- 10. Secure Python intepreter?
- 11. html5 video secure streaming?
- 12. Java secure session
- 13. Secure DSA Signing
- 14. ¿Cómo usar Scala Secure Trait en PlayFramework?
- 15. C# connectionString encryption questions
- 16. Obtener ConnectionString desde app.config
- 17. ObjectContext ConnectionString SQLite
- 18. Microsoft.ACE.OLEDB.12.0 CSV ConnectionString
- 19. ¿Es necesaria la URL Secure Canvas para las aplicaciones Localhost en desarrollo?
- 20. Secure WebSocket (wss: //) no funciona en Firefox
- 21. es 1024 bit rsa secure
- 22. Encriptar servicios de aplicación ConnectionString
- 23. conjunto Programatically connectionString para ActiveDirectoryMembershipProvider
- 24. LinqToSql dbml conmuta dinámicamente connectionstring
- 25. NHibernate Configuración en web.config - use connectionstring existente
- 26. C# app.config en winform
- 27. WYSIWYG Control para Winform
- 28. implementando la aplicación winform con sqlite incrustado
- 29. Mejores prácticas para implementar Secure "Remember Me"
- 30. PHP Secure Login - cifrado de la contraseña
Esto se puede usar por completo usando el código C# encripte la sección del hueco [link] (http://stackoverflow.com/questions/37573551/encrypt-app-config-custom-element-using-cmd?answertab=active#tab -top) –