FreePBX / Asterisk:使用入站路由阻止垃圾邮件发送者/黑客

FreePBX / Asterisk:使用入站路由阻止垃圾邮件发送者/黑客

我的 FreePBX / Asterisk 配置最近被迫允许匿名入站呼叫和 SIP 访客。因此,我们现在当然会受到垃圾邮件/黑客攻击。

它们在日志中显示为:

[2020-05-02 11:09:53] 警告 [30801]: res_pjsip_registrar.c:1051 registrar_on_rx_request: 端点‘anonymous’没有配置 AOR

我们每秒可以得到几十个。

我能否通过某种机制更改配置,从根本上阻止这些垃圾邮件,让呼叫者等待很长时间(例如一个小时),然后挂断电话?我认为这会占用垃圾邮件发送者的资源,并使他们占用的带宽降低几个数量级。

那么首先,这可能吗?如何安全地做到这一点?

其次,这样做会有什么严重的弊端吗?例如,会使任何配置重新加载的速度减慢一个数量级或诸如此类。

有任何相关的想法或建议吗?

答案1

我会添加一些 iptables。

我将首先查看 sip show channels 和/或使用 tcpdump 和一些直接的 asterisk 控制台命令

tcpdump -i eth0 port sip -l -A | egrep -i 'INVITE sip'
tcpdump -i eth0 port sip -l -A | egrep -i 'User-Agent'

# tcpdump -i ens3 port sip -l -A | egrep -i 'INVITE sip'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes
15:58:28.377294 IP ns542407.ip-144-217-77.net.7112 > 10.0.0.11.sip: SIP: INVITE sip:[email protected]:5060 SIP/2.0
...........INVITE sip:[email protected]:5060 SIP/2.0



asterisk -rx "sip show channels"
Peer             User/ANR         Call ID          Format           Hold     Last Message    Expiry     Peer      

13.78.236.138    7780             1317157998-1339  (nothing)        No       Rx: INVITE                 <guest>
144.217.77.27    8888942908       00lFxPc9nsGj22f  (nothing)        No       Rx: ACK                    <guest>

如果您的请求是 INVITE 或 REGISTER(像我的例子一样)。您可以手动通过 iptables 减慢它们的速度,或者学习如何在启动时添加它(具体取决于您的 Linux 版本)。(我不知道 microsft)

iptables -A INPUT -p udp -m udp --dport 5060 -m string --string "INVITE sip:" --algo bm --to 65535 -m recent --update --seconds 60 --hitcount 12 --rttl --name VOIPINV --rsource
iptables -A INPUT -p udp -m udp --dport 5060 -m string --string "INVITE sip:" --algo bm --to 65535 -m recent --set --name VOIPINV --rsource
iptables -A INPUT -p udp -m udp --dport 5060 -m string --string "REGISTER sip:" --algo bm --to 65535 -m recent --update --seconds 60 --hitcount 12 --rttl --name VOIP --rsource
iptables -A INPUT -p udp -m udp --dport 5060 -m string --string "REGISTER sip:" --algo bm --to 65535 -m recent --set --name VOIP --rsource

你可以尝试不同的变量(秒数/命中数/字符串)。我发现使用 fail2ban 可以有效地减慢速度。更不用说使用 ipset 阻止某些国家/地区,这个电话系统不会有人从这些国家/地区进行连接,这有很大帮助。

相关内容