小编Sam*_*nes的帖子

Asterisk 的 phoneprov 模块可以安全使用吗?

我正在使用 Ubuntu Server 16.04 打包的 Asterisk 13.1.0 来运行纯 VoIP 电话系统。Asterisk 有一个模块——phoneprov允许它模板化特定行的配置文件并从其内置的 HTTP 服务器提供它们。我想用它来配置我的 Polycom IP 电话,但我不知道如何安全地这样做。更复杂的是,我已经在使用内置的 HTTP 服务器进行 SIP over WebSockets。

据我所知,该phoneprov模块根本没有身份验证或授权机制。它似乎只是向任何询问的人提供任何文件。由于生成的配置文件包含注册为一行所需的所有凭据,因此可以向内置 HTTP 服务器发出 HTTP 请求的任何人都可以注册为通过phoneprov. 这似乎是一个太明显的安全问题,不可能存在于像 Asterisk 这样备受瞩目的软件中,而在文档中甚至(据我所知)在整个 Internet 上都没有看到它。我在这里错过了什么吗?

TLS 相互认证

至少在我看来,验证用于配置的硬件 IP 电话的理想方法是通过 TLS 客户端证书。几乎所有主要制造商的手机都带有由私有 CA 签署的客户端证书,该证书通过 MAC 地址识别手机。由于配置文件也由 MAC 地址提供服务,因此将证书中的 MAC 与 URL 中的 MAC 进行匹配并以这种方式控制访问非常简单。

这就是我的基于 nginx 的配置服务器(它处理除线路凭据之外的所有配置)所做的。然而,Asterisk 永远不支持 TLS 客户端身份验证。它有一个 TCP 和 TLS 套接字侦听器的常见实现,我通过阅读源代码确认它不支持请求客户端证书。

更正:Asterisk 的tcpctls系统确实支持客户端证书验证,但它只能验证客户端证书是否有效以及(可选)是否commonName与客户端的主机名匹配。虽然可以为 Asterisk HTTP 服务器启用该选项,但它对保护没有多大帮助,phoneprov因为该模块不使用主机名(或其他任何内容)进行授权。它也会通过 …

security ssl http asterisk voip

9
推荐指数
0
解决办法
450
查看次数

标签 统计

asterisk ×1

http ×1

security ×1

ssl ×1

voip ×1