FreeSWITCH呼叫中心防盗打从服务器配置开始

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 介绍运行在公网的FreeSWITCH服务器,每天都会接收到很多恶意的呼叫请求和注册请求,尝试盗打电话。合理的配置可以防止电话给倒打,但是每天大量的攻击,会让FS产生很多日志,降低FreeSWITCH的处理能力,cti模块结合fail2ban可以把恶意IP,使用防火墙封堵掉。

介绍 运行在公网的FreeSWITCH服务器,每天都会接收到很多恶意的呼叫请求和注册请求,尝试盗打电话。合理的配置可以防止电话给倒打,但是每天大量的攻击,会让FS产生很多日志,降低FreeSWITCH的处理能力,cti模块结合fail2ban可以把恶意IP,使用防火墙封堵掉。


防盗打配置 非常重要的,不要开通国际长途。其次对于呼出拨号方案和呼入路由要小心配置。


sip配置里面的external默认是可以任意呼入,默认的呼叫路由是public,public这个路由绝对不要启用呼叫外线功能。 sip配置里面如果新加了sip项目也同第一点。 internal这个是用来分机注册的,auth-calls 必须是勾选,千万不能吧这个勾选去除。 分机配置里分机密码设置复杂些。不要勾选allow-empty-apssword。 对于提供给网关注册的分机呼叫路由改成pulibc,默认是使用default这个呼叫路由。 限制呼入 建议external可以设置成只有指定的IP才可以呼入,设置方法如下


sip设置external的apply-inbound-acl设置为inbound,auth-calls 不要勾选,注意internal的auth-calls 必须勾选。 /fs/etc/freeswitch/autoload_configs/acl.conf.xml 加入

封堵原理 cti 模块发现注册失败或者 不规范的SIP报文,或者被叫号码不符合cti.json配置的规范,就写入日志到cti_fail2ban.log,fail2ban通过监视日志把恶意IP加入防火墙,封堵恶意IP。

CTI配置 cti.json 配置被叫号码规范


“fail2ban”: { “filename”: “cti_fail2ban.log”, “destination_number_max_len”: 12, “deny_prefix”: [“00”, “+”], “allow_prefix”: [] } filename 恶意访问记录文件名,如果不用绝对路径,默认路径是fs的日志目录。 stination_number_max_len 被叫号码的最大长度 denny_prefix 拒绝的被叫号码前缀 allow_prefix 允许的被叫号码前缀,如果一个前缀都不配置,就是允许任意号码。如果配置了,只允许配置的前缀,非允许的号码就会自动拒绝。 fail2ban配置 以下是安装和配置fail2ban的过程。如果不安装fail2ban,只配置cti.json的规则,只能挂断不符合规范的呼叫,不能杜绝攻击,需要安装配置好fail2ban,把非法Ip加入防火墙黑名单。 为了防止开发测试过程误触发屏蔽规则,导致开发机器连接不上服务器,建议把开发电脑的外网IP加入白名单。


安装fail2ban yum install fail2ban -y

编辑jail.conf cd /etc/fail2ban mv jail.conf jail.conf.local vi jail.conf 把以下内容写如 jail.conf

[cti] enabled = true filter = cti action = iptables-allports[name=cti, protocol=all] logpath = /fs/var/log/freeswitch/cti_fail2ban.log bantime = 86400 maxretry = 5 findtime = 180 ignoreip = 127.0.0.1/8 192.168.0.0/16 10.0.0.0/8 172.16.0.0/16 backend = auto 配置说明:

logpath 监视cti记录的异常IP日志。 bantime 封堵时间,单位秒,86400秒就是24小时。 maxretry findtime(180秒)时间内日志文件出现的IP超过maxretry(5)次就封堵。 ignoreip ip白名单 设置日志文件权限 给/fs/var/log/freeswitch/目录修改安全上下文 chcon -R -t var_log_t /fs/var/log/freeswitch 也可以直接关闭sulinux,如果不修改安全上下文,会导致fail2ban启动失败


设置filter vi /etc/fail2ban/filter.d/cti.conf 把以下内容写入 /etc/fail2ban/filter.d/cti.conf

[Definition] failregex = ^ip[].* ignoreregex = 设置开机启动fail2ban systemctl enable fail2ban

启动fail2ban systemctl start fail2ban

查看fail2ban启动状态 systemctl status fail2ban

查看被ban IP,其中cti为名称 fail2ban-client status cti

如果 File list 看不到文件名,说明fs还没启动,需要先启动fs,然后“systemctl restart fail2ban”重启fail2ban,必须File list 看到了日志文件名才可以。

Status for the jail: cti |- Filter | |- Currently failed: 0 | |- Total failed: 0 | - File list: /fs/var/log/freeswitch/cti_fail2ban.log- Actions |- Currently banned: 0 |- Total banned: 0 `- Banned IP list: 0


手动封堵一个IP fail2ban-client set cti banip IP地址

手动解封一个IP fail2ban-client set cti unbanip IP地址

添加白名单 fail2ban-client set cti addignoreip IP地址

删除白名单 fail2ban-client set cti delignoreip IP地址

查看被禁止的IP地址 iptables -L -n

相关文章
|
存储 JSON NoSQL
FreeSWITCH呼叫中心中间件-通话质检接口
原理:通过ASR接口(依赖cti_asr接口),识别出实时识别说话内容,然后和关键词匹配执行挂机等动作。支持群集,配置和记录都存储到REDIS。
411 8
|
Web App开发 存储 人工智能
从入门到进阶-如何基于FreeSWITCH搭建呼叫中心平台
FreeSWITCH 是一个开源的电话交换平台。博主从事多年AI技术,外呼中心搭建,需要演示站或技术支持联系博主。官方给它的定义是–世界上第一个跨平台的、伸缩性极好的、免费的、多协议的电话软交换平台
1559 0
|
网络协议 中间件 机器人
通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug 很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。
385 0
|
机器学习/深度学习 中间件 Linux
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口 接口说明
362 9
|
XML 编解码 机器人
Freeswitch在呼叫中心系统应用
一.freeswitch是什么 freeswitch是一款基于sip的开源电话软交换平台,具有很强的扩展性和稳定性,能实现电话语音、ivr、电话会议、视频会议、机器人、短信等核心语音应用;因为支持丰富的语音、视频编码使得几乎能兼容市面上绝大部分的sip软交换平台;
2253 0
|
Java 数据库连接 数据库
FreeSwitch实现简单呼叫中心功能
FreeSwitch实现简单呼叫中心功能
|
测试技术
freeswitch在呼叫中心高效使用 IVR 的 5 个最佳技巧
IVR 本来是用于在呼叫中心里通过使用计算机技术来增加客户服务能力的. 但是, 你是否注意到, 你的 IVR 确实增加了你的客户满意度了呢还是激怒了你的用户? 读读下面这 5 个最佳技巧, 可以确保你确实增加了你的客户服务能力. SIPP 是一个很好的SIP测试工具,不过其缺省的配置文件好像有点问题,因此FreeSWITCH推荐使用以下配置文件进行测试:
使用OKCC呼叫中心系统的客户体验分析
案例1.某教培公司 招生旺季到来,很多教育机构都是以电话形式进行招生,回访学生家长,作为电销人员,每天的工作量特别特别大,号码需要一个一个手动输入再拨打,而且绝大部分都还是无效的,如空号、黑名单、没接通、没意向等等。 用我们OKCC人工坐席外呼系统就可以为电销人员一键呼叫,只需批量导入客户资料,无需手动输入号码,还可根据自身业务需求,灵活选取合适的呼叫方式。支持智能二次检测号码质量,过滤空号、错号、接通意向低等无效号码,提升外呼效率及员工积极性。
|
人工智能 中间件 Java
呼叫中心系统如果对接阿里灵积大模型
自chatgpt3.5发布以来,各种大模型飞速发展,各行各业都有接入大模型的需求,呼叫中心行业非常适合通过接入大模型用AI来回答用户的各种咨询,降低人力资源,使用顶顶通呼叫中心中间件,只需要100行不到的代码,就可以非常简单容易的让电话机器人系统,呼叫中心系统快速接入各种大模型
414 2