使用实体框架时如何将数据库用户名和密码安全地存储在web.config文件中

即时通讯

使用Entity Framework访问非本地服务器上的数据库时,应如何在连接字符串(存储在web.config文件中)中指定用户名和密码参数?

我阅读过C#分步指南(John Sharp,2010年版),由于潜在的逆向工程或有人掌握了源代码,所以从不将其硬编码到您的应用程序中。因此,我想了解传统的最佳做法。

爱德华·杜米特鲁(Eduard Dumitru)

硬编码用户名和密码是错误的,原因有以下三个:

  • 它给您一种错误的安全印象,因为当您使用文本编辑器查看一个二进制文件时,您什么都不懂,但是实际上,拆解.NET程序集是小菜一碟
  • 它强制所有软件开发人员都可以知道用户名和密码
  • 这意味着更改用户/密码对需要新的部署,其中还包括应用程序的重新编译

没有解决这个问题的灵丹妙药,在这种情况下,安全仅取决于负责安全的人员的纪律和良好意愿。

在我的公司中,它是这样的:

  • 软件开发人员无权访问生产数据库,并且最肯定的是他们不知道用户名和密码
  • 软件管理员具有用户名和密码,并且web.config在将应用程序部署到生产计算机上时,他们将开发部门的信息与自己的秘密合并在一起
  • 没有其他人可以从软件管理员那里访问生产机器应用程序

加密中的用户名和密码web.config只能帮上大忙。最终,您将必须以清晰的形式在您的应用程序中对加密密钥进行硬编码,这使我们回到了拆卸问题上。

在我看来,一个非常好的解决方案是将公司内部的工作与加密,明文密钥和混淆结合在一起。

总体思路是:

  • 接受我对应用程序管理员们所说的话
  • 修改一个小细节:他们不知道清楚的用户名和密码,他们知道加密形式
  • 只有开发人员才具有解密加密的用户名和密码的密钥,他们在运行时使用该密钥
  • 开发人员应该对他们的程序集进行混淆处理,以使任何人尝试对二进制文件进行反向工程,找出明码都是不值得的,以某种方式询问应用程序管理员加密的用户名和密码是什么(在户外活动中喝熊)然后把所有东西放在一起

这意味着某人(可能是公司的所有者或其他负责人)需要使用“ greasemonkey”应用程序来加密用户名和密码,并将所得到的加密结果提供给应用程序管理员。

别忘了还有db管理员,最初为所有者提供了初始的一对凭据。所有者需要更改密码,然后执行我布置的所有操作。

总之,有许多解决方案,其中一些比其他解决方案更复杂。这不仅涉及工具和代码,而且涉及学科。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Grails中,如何将数据库用户名和密码放入外部属性文件中?

来自分类Dev

将用户名和密码存储在数据库中是否安全?

来自分类Dev

我可以在PHP会话变量中安全地存储用户名和密码吗?

来自分类Dev

在 Python 代码中安全地使用用户名和密码

来自分类Dev

使用Cookie将加密的第三方密码安全地存储在数据库中

来自分类Dev

如何将我的应用程序中的用户名和密码详细信息存储到我的数据库以及如何将我的应用程序与我的数据库连接?

来自分类Dev

如何在Python Tkinter中访问字典数据库中的用户名和密码?

来自分类Dev

如何在SQL Server 2014 Express数据库中添加用户名和密码

来自分类Dev

如何检查访问数据库中的用户名和密码

来自分类Dev

使用php的数据库中的用户名和密码

来自分类Dev

如何将外部文件中的用户名和密码传递到Excel数据连接中

来自分类Dev

如何将经过身份验证的用户名保存到数据库中

来自分类Dev

如何使用PostgreSQL中的选择获取当前数据库和用户名

来自分类Dev

如何从数据库中获取用户名和密码并传递给Spring MVC中的Method

来自分类Dev

在Eve中,如何安全地存储用户密码?

来自分类Dev

如何在连接字符串中设置用户名和密码以连接数据库?

来自分类Dev

从数据库获取到 Laravel 5.2 中的虚拟机后如何检索用户名和密码

来自分类Dev

将生产环境的数据库密码存储在config / database.yml文件中是否可以

来自分类Dev

如何在Mongo Java Driver 2.13.0中使用给定的用户名和密码对任何数据库进行身份验证?

来自分类Dev

PHP mySQL检查用户名和密码是否在数据库中

来自分类Dev

匹配在数据库中获取的用户名和密码 - Jquery

来自分类Dev

在pg_restore中,如何使用postgres连接字符串指定主机/数据库/用户名/密码?

来自分类Dev

如何安全地将密码存储在angularjs中

来自分类Dev

如何在Web服务中存储和检索用户名和密码

来自分类Dev

如何在web.config中设置密码和用户名

来自分类Dev

如何在web.config中设置密码和用户名

来自分类Dev

通过表单传递数据库用户名和密码,用于 Flask App 中的数据库连接

来自分类Dev

如何在Chrome存储用户凭据的文件中添加用户名和密码?

来自分类Dev

如何在本地存储用户名以便在数据库中快速计算

Related 相关文章

  1. 1

    在Grails中,如何将数据库用户名和密码放入外部属性文件中?

  2. 2

    将用户名和密码存储在数据库中是否安全?

  3. 3

    我可以在PHP会话变量中安全地存储用户名和密码吗?

  4. 4

    在 Python 代码中安全地使用用户名和密码

  5. 5

    使用Cookie将加密的第三方密码安全地存储在数据库中

  6. 6

    如何将我的应用程序中的用户名和密码详细信息存储到我的数据库以及如何将我的应用程序与我的数据库连接?

  7. 7

    如何在Python Tkinter中访问字典数据库中的用户名和密码?

  8. 8

    如何在SQL Server 2014 Express数据库中添加用户名和密码

  9. 9

    如何检查访问数据库中的用户名和密码

  10. 10

    使用php的数据库中的用户名和密码

  11. 11

    如何将外部文件中的用户名和密码传递到Excel数据连接中

  12. 12

    如何将经过身份验证的用户名保存到数据库中

  13. 13

    如何使用PostgreSQL中的选择获取当前数据库和用户名

  14. 14

    如何从数据库中获取用户名和密码并传递给Spring MVC中的Method

  15. 15

    在Eve中,如何安全地存储用户密码?

  16. 16

    如何在连接字符串中设置用户名和密码以连接数据库?

  17. 17

    从数据库获取到 Laravel 5.2 中的虚拟机后如何检索用户名和密码

  18. 18

    将生产环境的数据库密码存储在config / database.yml文件中是否可以

  19. 19

    如何在Mongo Java Driver 2.13.0中使用给定的用户名和密码对任何数据库进行身份验证?

  20. 20

    PHP mySQL检查用户名和密码是否在数据库中

  21. 21

    匹配在数据库中获取的用户名和密码 - Jquery

  22. 22

    在pg_restore中,如何使用postgres连接字符串指定主机/数据库/用户名/密码?

  23. 23

    如何安全地将密码存储在angularjs中

  24. 24

    如何在Web服务中存储和检索用户名和密码

  25. 25

    如何在web.config中设置密码和用户名

  26. 26

    如何在web.config中设置密码和用户名

  27. 27

    通过表单传递数据库用户名和密码,用于 Flask App 中的数据库连接

  28. 28

    如何在Chrome存储用户凭据的文件中添加用户名和密码?

  29. 29

    如何在本地存储用户名以便在数据库中快速计算

热门标签

归档