Openfire:在openfire服务器中使用SASL Anonymous创建用户

时间:2012-05-02 20:21:43

标签: javascript xmpp openfire strophe

是否可以使用Strophe.js使用匿名用户创建新用户(带内注册),如下例所示:http://groups.google.com/group/strophe/browse_thread/thread/a0e15ae226b91a3a?fwc=1。我设法仅使用现有帐户注册新用户(作为普通“非管理员”用户)。这是一个开火安全问题吗? 我使用以下方式匿名连接:

 connection.connect("server.local", null, onConnect);

服务器返回:

 <iq xmlns="" type="error" id="reg2" to="7711fc7f@server.local/7711fc7f">
    <query xmlns="jabber:iq:register">
        <username>user</username>
        <password>abc</password>
    </query>
    <error code="400" type="modify">
        <bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
    </error>
</iq>

如果我与注册用户联系,它可以正常工作,我可以创建其他用户。允许从专用用户帐户注册,例如register@server.local(没有管理员权限)是不安全的吗?

1 个答案:

答案 0 :(得分:2)

  

我设法仅使用现有帐户注册新用户(作为   普通的“非管理员”用户)。这是一个开火安全问题吗?

这取决于您的观点 - 如果这是您想要的,那么这不是安全问题。如果要将帐户创建限制为部署中的管理员,是的。 Openfire应该有配置参数来控制谁可以创建帐户(虽然在某些版本中这些控件根本不起作用 - 是安全问题!)。

有一些已知的脚本可以在开放注册的服务器上主动发现和注册帐户。有些人(特别是像jabber.org这样的大型目标)选择完全禁用带内注册,而其他人只是对其进行每IP限速限制。还有一个规范(XEP-0158)将CAPTCHAs发送给客户进行带内注册,但对此的支持还远未普及。

  

服务器返回:

你给出的错误节有xmlns="",这对我的眼睛是可疑的。应该是“jabber:client”,但无论如何OpenVP似乎都明白了。

您还可以尝试为您尝试注册的主机设置请求的“到”地址(例如,在注册“user@example.com”时to='example.com')。如果您已经设置'to',那么请尝试不使用它。在这一点上,我已经看到了对规范的不同解释。