【问题标题】:Securing Credentials for DB access保护用于数据库访问的凭据
【发布时间】:2012-09-30 14:48:41
【问题描述】:

我需要确保将在用户机器(应用程序和数据库)中运行的软件中的数据安全(没有不必要的读取或写入)。

我确信存储硬编码的数据库凭据不是一个好方法,但在这种情况下,我似乎没有其他选择。 如果我无法避免这种情况,PostgreSQL 是否有办法保护访问日志免受用户修改?

避免用户访问存储在自己机器中的数据库的最佳方法是什么?

【问题讨论】:

  • 他们是否有理由在本地机器上使用完整版的 Postgres?似乎如果您需要保护访问,像 H2 这样的嵌入式数据库 - 您可以在其中加密数据文件可能会很好。使用像 postgres 这样的数据库服务器 - 如果用户在他们的机器上具有 root 访问权限,那么他们将能够通过对 PG_HBA.CONF 文件进行一些快速修改来进入数据库。
  • 您想保护数据或凭据的安全吗?
  • @NeilMcGuigan 最终目标是保护数据,因此硬编码凭据是一个主要问题。
  • @jcern H2 似乎是一个不错的选择。 C++还有其他类似且可靠的吗?
  • 我对 c++ 的库不是很熟悉,但是有一堆似乎提供支持的可嵌入数据库。看看:en.wikipedia.org/wiki/Embedded_database - MySQL 和 ITTIA 似乎可以在这种情况下工作。

标签: database security postgresql


【解决方案1】:

我很确定他们总是可以访问自己机器上的数据库。即使他们不知道密码,他们也可以让自己成为 root 并更改它。

为什么不加密数据呢?

使用您的公钥对其进行加密。将您的公钥保存在他们的机器上。

将数据发送到您自己的服务器。使用您的私钥对其进行解密。

【讨论】:

  • 不错,但它适用于离线解决方案。我无法强制用户在将要运行的环境中启用 Internet 连接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
相关资源
最近更新 更多