MSMQ 验证队列

MSMQ Authenticated Queues

我正在努力寻找有关不在 MSMQ 消息队列上设置 "Authenticated" 复选框的风险以及在什么情况下必须这样做的信息。我需要防止未经授权的各方能够 read/write from/to 队列。当不设置值时,我会收到不祥的警告:

Queue is unauthenticated. Message senders can bypass the Access Control settings specified in the Security tab.

我已经测试了尝试连接到队列(未选中身份验证)运行 我的服务进程在域用户配置文件下,尚未使用访问控制设置授予对消息队列的访问权限。我被阻止访问队列并显示一条很好的错误消息:

Access to Message Queuing system is denied.

这是我所期待的。

我有一些问题:

我想知道我是否可以在不影响安全性的情况下不必走经过身份验证的队列路由(或者至少知道我将做出什么样的妥协)。

"What is the point of being able to set Access Control on the queue if it can be bypassed (somehow)?"
您可以将该推理应用于任何安全技术。 ACL 限制 casual/accidental 访问。在消息数据对您以外的任何人都无用的情况下,它们很好。

"Under what circumstances can the Access Control settings be bypassed?"
您可以嗅探网络数据包以查找 ACL 中用户的 SID。然后您可以制作一个 MSMQ 框架(而不是通过 MSMQ 队列管理器)并获得访问权限。

"What are the benefits of enabling the Authenticated above just configuring access using the ACL settings?"
更好的安全性。是否需要基础设施支持身份验证,例如 Active Directory 或使用外部证书。最后是cost/benefit分析

底线 - 队列 ACL 不安全。