0

让我先解释一下我想要实现的目标,然后我会详细介绍我已经尝试过的事情。

因此,我们有一个虚拟机在我们的前提下,另一个虚拟机在客户的前提下。对这些 VM 的访问仅对某些 IP 地址可用。因此,我们可以说它们对于我们的用例来说足够安全。

来自客户环境的数据通过在这两个环境中设置的 mosquitto 代理流入并流入我们的虚拟机。这是在运行良好的代理桥接的帮助下完成的。然而,由于这个桥接在互联网上,我们希望确保数据是加密的,并且没有人可以通过互联网拦截并以恶意方式使用这些数据。

为了实现这一点,我们正在使用 SSL 代理加密。我尝试的第一种方法是使用 PKS 加密方法。

这是客户环境中的代理配置。

listener 8883
connection bridgetest
address 147.1.20.1:8883
bridge_identity bridge1
bridge_psk 123456789
topic # both

这是我们环境中的代理配置。

listener 8883 
psk_hint SAAS Deployments
psk_file c:\DemoCompany\psk_file.txt

psk_file.txt 的内容非常简单,与客户环境配置中提供的网桥身份和bridge_psk 相同。

我在这里面临的问题是,即使我将客户环境中的 bridge_identity 或 bridge_psk 更改为 psk_file.txt 中没有的内容,我仍然能够通过网桥连接 2 个代理。我对此的理解是,如果我将 bridge_psk 更改为一些随机的十六进制代码,连接应该会被拒绝。但这似乎并没有发生。我在这里做错了什么或遗漏了什么吗?

4

1 回答 1

0

以下配置文件适用于我从 Ubuntu 上的 mosquitto PPA 提供的 v2.0.9 版本

客户经纪人:

listener 1889

connection bridge
address 127.0.0.1:1890
bridge_identity bridge1
bridge_psk 123456789987654321
topic # both 0

过桥经纪人

listener 1890
psk_hint my test bridge
psk_file /temp/psk/psk_file.txt
use_identity_as_username true

use_identity_as_usernameMosquitto v2 开始,allow_anonymous默认为 false

于 2021-03-26T15:55:14.033 回答