有两个配置文件,一般是一个,比如说是mosquitto.conf,另一个是ACL(访问控制列表),比如acl.conf.
mosquitto.conf启用acl.conf文件进行访问控制:
acl_file acl.conf
acl.conf定义访问控制行为:
# users can anonymously publish to the topic 'in'topic write in# users can subscribe topics named 'out/%u',where %u is the user's namepattern read out/%u# an admin may subscribe to 'in' # and publish to all subtopics of 'out/' (note the +)user adminWithSecretnametopic read intopic write out/+
我们用配置文件执行mosquitto -c mosquitto.conf来运行mosquitto.
在这种情况下,可以通过使用随机生成的用户名来建立动态认证机制.
示例:Alice想要订阅,以便她可以在此处阅读私人消息.她将她的凭证与nonceN1一起发送到.此外,她还使用N1作为用户名将主题输出/ N1.读出的模式/%u允许这样做.
第三方服务器应用程序,以adminWithSecretname连接并订阅主题,接收Alice的消息.它验证其真实性,然后生成新的nonce N2并将其发布到Alice已订阅的out / N1.
从现在开始 – 至少对于此会话 – out / N2是常规主题,其中Alice分别在此处设备将接收消息.因此,Alice取消订阅并断开form out / N1并订阅out / N2.第三方服务器应用程序将属于Alice的所有新消息发布到主题out / N2.
进一步的考虑因素:人们可能还想反思安全性的其他方面,如TLS和/或按消息加密.根据目标安全/隐私的等级,此处讨论的配置可能还需要TLS.
另一方面,如果消息是单独加密的,这可能会过时.如果她有权访问有线/ WiFi流,可以拦截(甚至订阅!)消息,因为她会将秘密用户名称视为纯文本.但是:当一个人已经可以访问数据流时,无论如何他/她都可以拦截这些字节.它们使用TLS或按消息加密以任一方式加密.此外,traffic analysis可以应用于两种方法.
我建议使用TLS或按消息加密.两者都应该,正确实施和应用,导致可比较的安全性.
总结以上是内存溢出为你收集整理的python – 以编程方式设置mosquitto中的访问控制限制全部内容,希望文章能够帮你解决python – 以编程方式设置mosquitto中的访问控制限制所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)