我在 Ubuntu 上运行 Asterisk 11.7 来为我的小公司服务。最近几天有人可以访问服务器并让所有电话分机定期响铃。我想知道那个人如何访问我的服务器以修复安全漏洞。但 IT 不是我的专业,而是一种爱好,现在我显然已经达到了极限 :-(
我的安全措施是:Fail2Ban(每天多次点击,每次禁止 6 小时)、通过拒绝/允许限制网络(从未定义的网络访问会导致 Fail2Ban 启动)、好的密码、不同的用户名和扩展名、“allowguest=no”。
尽管如此,当我使用 Wireshark 监控服务器网络设备的 tcpdump 时,使用电话 -> VoIP 呼叫功能,我可以从 IP 号码中看到“呼叫设置”,这些号码我未允许并且被拒绝。我已确认拒绝/允许规则有效。这怎么可能呢?
下面是当我过滤其中一个“违规” IP 号码 (50.30.37.184) 时的 UDP 流内容示例:
INVITE sip:[email protected] SIP/2.0
To: 00972597740379<sip:[email protected]>
From: 3001<sip:[email protected]>;tag=b7544775
Via: SIP/2.0/UDP 50.30.37.184:5071;branch=z9hG4bK-c77dfca41a3022494888aee924ac6fc2;rport
Call-ID: c77dfca41a3022494888aee924ac6fc2
CSeq: 1 INVITE
Contact: <sip:[email protected]:5071>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, BYE
User-Agent: sipcli/v1.8
Content-Type: application/sdp
Content-Length: 281
v=0
o=sipcli-Session 1974783073 2136912366 IN IP4 50.30.37.184
s=sipcli
c=IN IP4 50.30.37.184
t=0 0
m=audio 5073 RTP/AVP 18 0 8 101
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=sendrecv
INVITE sip:[email protected] SIP/2.0
To: 900972597740379<sip:[email protected]>
From: 3001<sip:[email protected]>;tag=f28b82cf
Via: SIP/2.0/UDP 50.30.37.184:5071;branch=z9hG4bK-41939a537a9d2f3071772b2f91b215b7;rport
Call-ID: 41939a537a9d2f3071772b2f91b215b7
CSeq: 1 INVITE
Contact: <sip:[email protected]:5071>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, BYE
User-Agent: sipcli/v1.8
Content-Type: application/sdp
Content-Length: 277
v=0
o=sipcli-Session 71968886 85419647 IN IP4 50.30.37.184
s=sipcli
c=IN IP4 50.30.37.184
t=0 0
m=audio 5073 RTP/AVP 18 0 8 101
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=sendrecv
有人能给我一些提示和建议,关于如何加强服务器安全以禁止这种不必要的访问吗?
提前谢谢你的帮助!
答案1
您没有说明您是否在 Asterisk 中使用 GUI(例如:Elastix 或 FreePBX)——因为这将构建您的拨号方案(并可能造成弱点)。FreePBX 有一些相当大的安全漏洞,允许攻击者修改拨号方案。您的代码是最新的吗?(即使如此,将配置 GUI 暴露给互联网也是 FreePBX 设计中的一个主要缺陷——所以无论如何都要禁用它)。他们修复每个漏洞后,最终都会有人发现一个新的漏洞。
接下来 - 一个简单的问题:您是否禁用了 SIP allowguest?
接下来 - Fail2Ban 相当愚蠢,换句话说,只有当 Asterisk 表示注册/拨号尝试被拒绝时,fail2ban 才会真正采取行动。所以不要把它当作安全系统。事实上,Digium 警告不要将 fail2ban 用作安全系统(请参阅http://forums.asterisk.org/viewtopic.php?p=159984),
我建议你阅读此页面http://www.voip-info.org/wiki/view/Asterisk+security如何保护您的 PBX。您需要从周边、PBX 配置和 PBX 集成监控的角度考虑安全性。
如果您发布更多有关环境的详细信息,您可能会得到更多建议。上面的数据包转储除了呼叫者(奥地利格拉茨)和代理(sipcli)的地理来源外,没有提供太多价值。像安全顾问可以根据地理 IP 和 SIP 代理进行阻止,但您仍应该解决底层拨号计划问题。