如何保护asp.net核心中的ConnectionString和/或AppSettings(本地)

问题描述 投票:0回答:1

首先,我知道我们在.Net核心中本身没有ConnectionStrings和AppSettings,但就我而言,我想对ConnectionString以及可能存储在我的appsettings.json(或其他设置文件)中的一些其他应用程序配置进行加密。] >

我知道这已经在整个Internet上进行了很多讨论,但是似乎没有人给出合法答案。因此,已经提出的建议是:

  • 但是,使用EnvironmentConfigurationBuilder ...并不能真正解决问题,因为我们只是将纯文本配置从appsettings.json移到了Env变量)
  • 创建一个自定义的ConfigurationProvider来加密和解密appsettings.json(或其中的选择性部分)。但这也不能解决问题,因为我们需要将用于解密的密钥存储在应用程序可以访问的某个地方,即使我们确实将密钥作为“硬编码”字符串存储在我们的应用程序中,“黑客”也可以直接对其进行反编译。
  • [有人还提到,即使您确实对appsettings.json进行了加密,“黑客”也总是可以进行内存转储并找到数据的解密版本。.我对此领域没有专家,所以我不确定该可能性或诸如此类的事情有多复杂。

[Azure Key Vault也被提过几次,但是,在我的情况下以及在与权威机构合作的许多情况下,由于不允许使用云服务,所以这不是一个选择。

我可能对此考虑得太清楚了,因为如果攻击者/黑客确实设法进入了我们的服务器,那么我们可能会遇到更大的问题。但是,解决这个问题的方法是什么?您是否只是不在乎并将其全部保留为“纯文本”?还是应该采取某种行动,对这些秘密进行加密或掩盖?

首先,我知道我们在.Net核心中本身没有ConnectionStrings和AppSettings,但就我而言,我想对ConnectionString以及可能存储在我的其他一些应用程序配置中进行加密...

security asp.net-core connection-string appsettings
1个回答
0
投票

您不需要从配置文件中加密连接字符串,因为最好的方法仍然是不将此信息存储在配置文件中,而是作为服务器上的环境变量存储。

© www.soinside.com 2019 - 2024. All rights reserved.