来自未知对等方的传入 SIP 连接淹没了 Asterisk

来自未知对等方的传入 SIP 连接淹没了 Asterisk

您好,我刚刚使用 freepbx 安装了新的 asterisk 配置并注册了一个 SIP 帐户。

我使用提供商数据设置了 SIP 中继,使用星号-vvvr命令进行调试然后我注意到日志中充斥着如下条目:

== Using SIP RTP CoS mark 5
-- Executing [00088884600972595117946@from-sip-external:1] NoOp("SIP/XXX.XXX.58.107-00000355", "Received incoming SIP connection from unknown peer to 00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-sip-external:2] Set("SIP/XXX.XXX.58.107-00000355", "DID=00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-sip-external:3] Goto("SIP/XXX.XXX.58.107-00000355", "s,1") in new stack
-- Goto (from-sip-external,s,1)
-- Executing [s@from-sip-external:1] GotoIf("SIP/XXX.XXX.58.107-00000355", "1?checklang:noanonymous") in new stack
-- Goto (from-sip-external,s,2)
-- Executing [s@from-sip-external:2] GotoIf("SIP/XXX.XXX.58.107-00000355", "0?setlanguage:from-trunk,00088884600972595117946,1") in new stack
-- Goto (from-trunk,00088884600972595117946,1)
-- Executing [00088884600972595117946@from-trunk:1] Set("SIP/XXX.XXX.58.107-00000355", "__FROM_DID=00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-trunk:2] NoOp("SIP/XXX.XXX.58.107-00000355", "Received an unknown call with DID set to 00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-trunk:3] Goto("SIP/XXX.XXX.58.107-00000355", "s,a2") in new stack
-- Goto (from-trunk,s,2)
-- Executing [s@from-trunk:2] Answer("SIP/XXX.XXX.58.107-00000355", "") in new stack
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/8.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000351> Playing 'digits/9.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-0000034f> Playing 'digits/6.ulaw' (language 'en')
-- Executing [s@from-trunk:5] SayAlpha("SIP/XXX.XXX.58.107-00000353", "00088884400972595117946") in new stack
-- <SIP/XXX.XXX.58.107-00000353> Playing 'digits/0.ulaw' (language 'en')
-- Executing [s@from-trunk:3] Wait("SIP/XXX.XXX.58.107-00000355", "2") in new stack
-- <SIP/XXX.XXX.58.107-00000350> Playing 'digits/1.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/8.ulaw' (language 'en')
-- Executing [s@from-trunk:6] Hangup("SIP/XXX.XXX.58.107-0000034f", "") in new stack
== Spawn extension (from-trunk, s, 6) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f'
-- Executing [h@from-trunk:1] Macro("SIP/XXX.XXX.58.107-0000034f", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/XXX.XXX.58.107-0000034f", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/XXX.XXX.58.107-0000034f", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("SIP/XXX.XXX.58.107-0000034f", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f' in macro 'hangupcall'
== Spawn extension (from-trunk, h, 1) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f'
-- <SIP/XXX.XXX.58.107-00000351> Playing 'digits/7.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000350> Playing 'digits/1.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000353> Playing 'digits/0.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/4.ulaw' (language 'en')

我无法调试我的中继线,因为那些来自未知对等点的烦人的连接,这些呼叫是什么,我如何追踪它们的来源,可能是我的提供商的测试工具出现故障?

答案1

即使关闭了 GUEST,您的 Asterisk 服务器仍然会受到 SIP 黑客攻击。您应该安装更多软件来监控和管理攻击。请查看星号安全获得建议,甚至有关如何保护 Asterisk 服务器的基本知识。(Guest off 是不够的)

答案2

我想这全都取决于情况 - 我假设您在某种 Linux 上运行 Asterisk?我曾多次这样做过,有时可能会有点棘手。但是 - 在调试方面,有许多工具可以提供帮助。

  • 例如,可以使用 IPTables 阻止未知客户端。如果您知道您的呼叫应该来自哪里,则可以设置防火墙规则来阻止除此以外的任何内容。这就是我所做的 - 确保只有我自己的客户端以及任何上游 PBX 系统可以通话。

  • 要弄清楚谁是真正的未知客户,您可以使用以下工具Wireshark根据类型等过滤连接。这通常可以清楚地了解正在发生的事情。

这些只是提示。你可能需要详细说明一下你的设置 - 然后我才能更具体。

答案3

好吧,我发现我允许 SIP 访客。似乎许多机器人正在寻找不安全的服务器来发送垃圾邮件或中继。

所以我刚刚禁用此选项,我的日志现在恢复正常状态。

答案4

从内存中得知,可以通过 PBX > 配置文件编辑器 > sip_general_additional.conf 在 Trixbox 服务器中禁用此功能

添加到底线:

allowguest=no

点击更新。

然后转到系统>系统维护>立即重置。

全做完了。

相关内容