【问题标题】:What is 'realm' in TURN server?TURN 服务器中的“领域”是什么?
【发布时间】:2019-10-07 04:48:34
【问题描述】:

我想为我的 WebRTC 项目托管一个 TURN 服务器,但我不知道“领域”属性的作用。我看过 coturn 和 pion ,他们似乎都要求我输入这个。谁能解释一下它是什么?

【问题讨论】:

    标签: webrtc turn coturn


    【解决方案1】:

    访问具有共同“所有者”的一组地址是一个“密钥”。 这是一种隔离措施:TURN 服务器在其数据库中可以有一个“默认领域”或多个“命名领域”。 任何领域都有自己的用户,每个用户都有一个正确的登录名/密码对来识别访问和工作会话。 当然,登录到“命名领域”的计算机对于属于其他领域的其他计算机实际上是“不可见的”。 如果您只是登录“默认领域”,所有用户都使用相同的登录名/密码(通常使用“公共”TURN 服务器),所有计算机都可以通过简单的方式访问您的计算机,也可以从未知计算机访问您的计算机,因此“领域”有一个有用的东西

    ...仅此而已.. :)

    【讨论】:

    • 我测试的时候,在TURN服务器配置文件中输入的realm并没有阻止TURN服务器被其他没有在realm中提及的网站使用,正常吗?有没有办法提高 TURN 服务器的安全性,使其只能与特定域名的 WebRTC 一起使用?更新:到目前为止,我发现的最佳解决方案是使用带有 HMAC (stackoverflow.com/questions/35766382/…) 的临时 TURN 凭证,但如果我们可以过滤来源以防在另一个网站上使用临时凭证,那就太好了。
    • 我还是不明白什么是境界。在配置文件中,它声明领域名称对功能没有影响。地址具体是什么?谁可以提出请求?只是为了记录吗?
    • 我不是专家,但是coturn turnserver.conf文件的这一部分:#中继服务器的监听器IP地址。可以指定多个侦听器。 # 如果配置文件或命令行选项中没有指定 IP,# 那么所有 IPv4 和 IPv6 系统 IP 将用于侦听。 # #listening-ip=0.0.0.0 #listening-ip=10.207.21.238 #listening-ip=2607:f0d0:1002:51::4 似乎向我表明您可以将其设置为仅收听特定的 IP 地址.这应该可以帮助您提高安全性,如果我错了,请告诉我。
    【解决方案2】:

    领域属性在 [Traversal Using Relay NAT (TURN) draft-rosenberg-midcom-turn-08 9.2.9 节中指定。 Realm 属性的值应该是 TURN 服务器提供者的域名。该协议使用第 3.1.12 节中指定的摘要质询扩展中的属性。如果协议客户端包含此属性,则 TURN 服务器应该在摘要质询扩展中使用指定的 Realm 值。如果协议客户端在请求消息中不包含此属性,则 TURN 服务器使用默认 Realm 值。 TURN 服务器必须在相关响应中包含此属性,并且 Realm 值必须是 TURN 服务器在摘要质询扩展中使用的值。

    9.2.9 REALM
     The REALM attribute is present in Shared Secret Requests and Shared
     Secret Responses. It contains text which meets the grammar for
     "realm" as described in RFC 3261, and will thus contain a quoted
     string (including the quotes).
    

    参考:RFC3261

    【讨论】:

      猜你喜欢
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 2013-07-18
      • 2010-12-24
      • 2010-09-26
      相关资源
      最近更新 更多