对于freeswitch防恶意扫描盗打本人已经讲过,如何安装和使用fail2ban,并且详细 说明了在freeswitch中怎么配置
这是之前文章的连接 https://blog.csdn.net/zhangxm006/article/details/113752867?spm=1001.2014.3001.5502
但是对于某些特殊情况的恶意注册和拨打,还是需要进一步做处理,如果在当前主机中,可以使用 lua脚本处理,之前文章已经讲过。
如果在docker中,由于权限的问题,很容易导致各种问题,宿主机失联之类的。所以本人写了个 go程序,部署在宿主机中,利用freeswitch的事件通知,
去调用宿主机的fail2ban,禁止恶意扫描的ip,具体的策略大家可以再做一些修改。
1.搭建rabbitmq事件服务 ,安装docker ,运行
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=/ -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest 800294d91e31
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
运行上述代码之后,rabbitmq服务器就搭建好了,默认用户名和密码为guest,可以自己修改。
freeswitch上做出相应配置,rabbitmq就能收到相应消息了,至于rabbitmq如何配置,读者可以 去百度一下相应的文章
2.下载fail2ban-go程序,并搭建go环境
https://download.csdn.net/download/zhangxm006/15615014?spm=1001.2014.3001.5503
本程序是作为rabbitmq的消费者模式,找到注册和call失败的消息去做出封禁ip的处理,如果想优化一些策略,读者可以自己修改