通过互联网安全地使用ZeroMQ

问题描述 投票:6回答:2

我一直在使用zeroMQ,我希望能够通过Internet安全地进行连接。我在使用ruby,可以使用SSL和/或某种形式的shh连接,但找不到任何有关此操作的示例。

我发现了这个旧的stackoverflow链接,How does zeromq work together with SSL?说他们正在某种安全性上工作,但是那是一年前的事,我找不到任何新的引用。

即使没有将其内置到zeroMQ中,我也认为会有某种方法可以使用OpenSSL或类似方法进行设置。

注意:zeroMQ网站提到使用VPN或其他一些想要安全传输的东西。我不想使用VPN。必须有更好的方法。

ruby sockets ssl zeromq
2个回答
4
投票

类似于VPN,但更容易设置:

  • 带有socat的加密隧道

让每个zeromq侧本地连接到socat,两个socat使用加密通道相互连接。

某些链接:[1][2][3][4]


0
投票

只是想补充一点,自从提出问题以来,ZMQ团队从ZeroMQ v4.0.0开始,开发了CurveZMQ协议,该协议基于椭圆曲线加密(ECC)。这样就可以进行加密的ZMQ消息交换,该消息应该可以通过Internet进行安全保护。

有关更多详细信息,请参见Using ZeroMQ Security part 1。当时添加的一些功能是:

一种新的有线协议ZMTP 3.0,它为所有用户增加了安全握手ZeroMQ连接。

一种新的安全协议CurveZMQ,它通过TCP连接在两个ZeroMQ对等之间实现“完全转发安全性”。生病在下面解释CurveZMQ。

用于ZMTP的一组安全机制:NULL,PLAIN和CURVE,每个均由其自己的RFC描述。 NULL本质上就是我们拥有的之前。 PLAIN允许简单的用户名和密码验证。CURVE实现了CurveZMQ协议。[...]

为了通过Internet进行安全消息传递,人们将寻求实现例如Ironhouse模式。有关说明,请参见part 2

肯定有该协议的Ruby实现,但我没有寻找它们。

如果您正在寻找Python实现,则可以查看以下资源:

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