2

在我们最近的项目中,我们尝试保护 pub-sub jeromq 连接。

为此,我们希望主机首先通过网络对新主机进行身份验证,并且阻止未通过身份验证的每个主机订阅。另一个好处是在网络中发送的消息更少。

那么,是否可以创建发布白名单?

4

1 回答 1

1

欢迎来到分布式系统。

白名单没有直接的原型,但需要解决的问题是显而易见的(在PUB/SUB4.x+ 版本中,主题列表处理发生逆转后,这会导致处理器端过载的潜在风险,这是在 2.x + 3.x 版本中不可能)。

让我们提出一个多阶段的方法。

如果我们不能阻止,让我们首先.bind()/.connect()在一个XSUB/XPUB简单的原型上暴露一个 reversed,用于初始接触检测,以便检测一个新成员来尝试加入生产服务,然后让我们只允许那些有POSACK,进入另一个门(对那些允许的白名单,而不是其他人耳语),另一个 ZeroMQ 基础设施(由微不足道的原型组成的信令/消息传递平面)打开门,那些预先选择的人可以继续。同样,反向.bind() / .connect()操作可以防止对公开暴露的接入点进行大规模攻击的风险。甚至对于那些需要非公共地址翻译的情况和场景也存在解决方案(但这些解决方案超出了此处审查的唯一 ZeroMQ 工具)。

其他人没有得到详细信息,以防万一,他们没有通过身份验证。

通过这种方式,您可以获得白名单策略(可以阅读有关在安全机制中使用“敲门”的更多详细信息)。

于 2018-02-20T11:46:46.190 回答