【问题标题】:Encrypting messages when storing in RabbitMQ persistence storage存储在 RabbitMQ 持久存储中时加密消息
【发布时间】:2018-07-29 12:24:09
【问题描述】:

我使用 RabbitMQ 作为我的应用程序的消息代理,并使用持久存储作为消息存储机制。我发送给 RabbitMQ 的一些消息包含不需要以纯文本形式存储的敏感数据。看来我可以遵循两个选项来确保消息不会以纯文本形式存储在 RabbitMQ 中。

选项 1 - 在将消息发送到 RabbitMQ 之前对其进行加密,因此无论如何消息内容都不会是纯文本形式。这引入了一个瓶颈,我将无法让某些授权的第三方使用我的消息,因为它需要第三方知道解密密钥

选项 2 - 配置 RabbitMQ,使其在存储和读取持久存储时加密和解密消息。

我更喜欢选项 2。以下是我的问题。

  1. RabbitMQ 是否将消息以纯文本形式存储在持久存储中,以便任何有权访问文件系统并访问文件并读取消息内容的人?
  2. 我们能否将 RabbitMQ 持久存储配置为以加密方式存储数据?

【问题讨论】:

  • 请注意,它不仅仅是存储。另一个威胁是对手通过其正常接口(即可以连接)并获取和/或放置消息来访问 RabbitMQ。在许多情况下,这可能比访问其存储更容易。
  • @GaborLengyel 感谢您的回复。我没有将它用作存储,但我为消息设置了 TTL 时间,以确保它们等到消费者消费消息。在那之前,我想保护他们的安全。
  • 我的意思是即使你保护了存储,你仍然有攻击者能够访问队列的问题,所以这当然取决于你的用例,但可能值得添加消息加密在发送东西之前,根据选项 1。换句话说,选项 1 和 2 解决不同的威胁,这两者都可能是相关的。
  • @GaborLengyel 是的,选项 1 看起来更好。

标签: security encryption rabbitmq


【解决方案1】:

我相信this answer in the RabbitMQ mailing list 解决了你的问题:

RabbitMQ 不会加密静态数据。使用提供加密的文件系统。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多