MQTT安全 - 如何防止滥用者订阅主题?

Dan*_*mot 25 android mqtt

我现在已经为MQTT设置了所有设置和工作.我正在使用IBM wmqtt.jar和Mosquitto代理..

My Java Servlet为代理创建MQTTConnection,并在"AndroidDeviceID/myAppName"主题下发布.

Android客户端订阅相同的主题...

在我看来,如果有人知道我的用户的设备名称,他们可以创建一个简单的Android应用程序并在我的MQTT代理上订阅该主题.然后他们从我的用户那里获得所有通知(在本例中为即时消息消息).

如何正确避免这种情况?

ral*_*ght 16

Mosquitto通过用户名和密码身份验证提供安全性,并限制对访问控制列表主题的访问.mosquitto.conf手册页中有详细信息:http://mosquitto.org/man/mosquitto-conf-5.html

  • 非常感谢,我刚刚开始迁移到最新版本的Java MQTT - Eclipse Paho - http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.java.git/它看起来这样会支持连接上的用户名/密码.我还有一个问题是加密..我的所有其他数据都是通过ssl发送的...... MQTT消息将是即时消息消息的预览,因此我认为这是保密的.有关如何防止窥探网络流量的任何想法? (2认同)

ach*_*uth 6

ACL是限制订阅主题的客户端,我使用auth-plugin这样做,这里是链接mosquitto auth插件

  • 你有没有使用Redis的auth插件?我正在为以下值挣扎:auth_opt_redis_userquery ?? 和auth_opt_redis_aclquery ?? (2认同)
  • 我正在使用带有mysql的auth插件.查看[实现](https://github.com/jpmens/mosquitto-auth-plug/blob/master/be-redis.c)可能对您有所帮助. (2认同)