我是Asterisk的新手,并在Digital Ocean中运行的机器上安装了Asterisk 11。自从我学习星号以来,我已经使用 sudo service iptables stop
禁用了防火墙。现在,每当我使用 asterisk -rvvv
登录到星号控制台时,我都会看到很多尝试从未知 ip 注册,如下面的屏幕截图所示。有人可以指导我如何阻止这种情况吗?
谢谢。
截图
没有某种防火墙或禁止程序,你就无法真正做你想做的事。
Asterisk将允许您为远程连接指定允许的主机,但这不会阻止任何人和每个人敲打您的服务器,看看他们是否可以找到进入的方法。
你可能想看看Fail2Ban,它在Linux机器上被广泛使用,似乎工作得很好,应该能够在测试时为你提供一些保护。在生产设置中,没有理由不能同时使用两者 - 您应该注意 fail2ban 使用 IPTables(从内存中(,因此您可能需要重新启用它才能工作 - 您需要检查任何现有配置(您可能需要删除(
如果 SIP 客户端从动态 IP 地址连接,则可能 fail2ban + iptables 是最好的, 但是Asterisk中有ACL,它可以进行静态访问控制。
我已经在Fedora 26上安装了Asterisk 15.2我正在使用 fail2ban 来动态禁止与防火墙一起使用的 IP。
# fail2ban-client -V
Fail2Ban v0.9.7
Fail2ban 默认带来了正则表达式过滤器,效果很好。如果需要自定义,可以使用 '.* ' 将log_prefixes简化为/etc/fail2ban/filter.d/XXXX.conf ,即时:
failregex = .* Registration from '[^']*' failed for '<HOST>' - IP Not Allowed by GF
我进行了一些自定义,例如:
文件:/etc/fail2ban/jail.conf:
ignoreip = 127.0.0.1/8
1.1.1.1 2.2.2.2 YOUR-IP-ADDRESSES THAT NEVER MUST BE BANNED
3.3.3.3 4.4.4.4
[asterisk]
enabled = true
banaction = %(banaction_allports)s
action = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="all", chain="%(chain)s", actname=%(banaction)s]
logpath = /var/log/asterisk/messages
findtime = 7200
#bantime -> 3600 1h 36000 10h, 86400 1d, 864000 10d, 2592000 30d, 31104000 360d
bantime = 31104000
maxretry = 2
文件:/etc/fail2ban/action.d/iptables-allports.conf
#gf
actionban = <iptables> -I f2b-<name> 1 -s <ip> -j <blocktype> -m comment --comment "Banned <name> Attempts: <failures>"
actionunban = <iptables> -D f2b-<name> `iptables -nL f2b-<name> --line-numbers |grep <ip> | cut -d' ' -f1`
文件:/etc/fail2ban/jail.d/00-firewalld.conf
[DEFAULT]
#banaction = firewallcmd-ipset
banaction = firewallcmd-allports
重新加载失败2带:
- fail2ban-client reload
检查当前禁令:
- iptables -nL
我的输出如下所示:
Chain f2b-asterisk (1 references)
target prot opt source destination
DROP all -- 163.172.201.51 0.0.0.0/0 /* Banned: 2018-03-08 05:48:40 asterisk Origin: GB Attempts: 2 */
DROP all -- 89.163.148.103 0.0.0.0/0 /* Banned: 2018-03-07 21:07:01 asterisk Origin: DE Attempts: 2 */
DROP all -- 185.12.179.221 0.0.0.0/0 /* Banned: 2018-03-07 18:07:01 asterisk Origin: DE Attempts: 21 */
DROP all -- 35.195.121.71 0.0.0.0/0 /* Banned: 2018-03-07 15:50:27 asterisk Origin: US Attempts: 4 */
Chain f2b-sshd (1 references)
target prot opt source destination
DROP all -- 85.93.20.92 0.0.0.0/0 /* Banned: 2018-02-27 19:21:12 sshd Origin: PL Attempts: 3 */
DROP all -- 85.93.20.91 0.0.0.0/0 /* Banned: 2018-02-27 19:20:50 sshd Origin: PL Attempts: 3 */
记住激活服务,如果需要,在以下命令中通过"启用"更改"状态">
systemctl status fail2ban.service
systemctl status firewalld.service
最后一个重要注意事项:取消禁止 IP 并始终查看日志
fail2ban-client set sshd unbanip x.x.x.x
tail -f /var/log/fail2ban.log
此致敬意